@context-anchor/mcp-server
Git-native MCP server for managing AI context across sessions. Enables LLMs to access project and feature context via markdown files, preserving decisions and constraints.
README
context-anchor
Git-native context layer for AI-assisted development.
LLMs forget. Every new session, every tool switch — you re-explain the stack, the decisions, the constraints. Context Anchor externalizes that knowledge into versioned markdown files that any LLM can read, any time.
Built on the MCP protocol. Works with Claude Code, Cursor, and any MCP-compatible client.
The problem
When you work with AI across multiple sessions or tools, context erodes. The model remembers what you decided but forgets why. You keep conversations alive longer than you should — not because they're productive, but because closing them means losing everything.
Context Anchor solves this by treating context as infrastructure, not conversation.
How it works
.context/
project.md ← stack, principles, conventions (stable)
features/
auth.md ← decisions, constraints, open questions, state
payments.md
history/ ← automatic snapshots on every git commit
Your MCP-compatible editor calls get_context at the start of every task. The LLM gets full project + feature context in seconds — warm start, every session.
Install
npm install -g @context-anchor/cli
Or with pnpm:
pnpm add -g @context-anchor/cli
Usage
# Initialize in your project
ctx init --interactive
# Create a feature context doc
ctx new-feature "user auth"
# Start the MCP server
ctx serve
# Check status
ctx status
# Export context for a specific LLM
ctx export claude
ctx export openai --feature user-auth
ctx export cursor --copy
# Manual snapshot
ctx snapshot
# Install git hook (auto-snapshot on commit)
ctx install-hook
MCP Tools
Once ctx serve is running, your editor has access to:
| Tool | Description |
|---|---|
get_context |
Get project + feature context. Call at the start of every task. |
list_features |
List all feature docs with status. |
update_feature |
Record a decision after it's made. |
export_context |
Export context formatted for a specific LLM. |
Connecting to your editor
Cursor
Add to your Cursor MCP config (~/.cursor/mcp.json):
{
"mcpServers": {
"context-anchor": {
"command": "node",
"args": ["/path/to/context-anchor/packages/server/dist/index.js"]
}
}
}
Claude Code
{
"mcpServers": {
"context-anchor": {
"command": "ctx",
"args": ["serve"]
}
}
}
Project context format
.context/project.md — edit once, rarely update:
# My Project
## Stack
- Next.js 14, Node.js, PostgreSQL
## Principles
- Mobile-first, offline-capable
- Multi-tenant: always scope queries by tenantId
## Conventions
- Functional services, no classes
- Result pattern for error handling
.context/features/auth.md — evolves per session:
# Feature: Auth
## Decisions
| Decision | Reason | Rejected |
|---|---|---|
| JWT stateless | No session store needed | Sessions (infra overhead) |
## Constraints
- Tokens expire in 7 days
- Refresh tokens stored in httpOnly cookie
## Open Questions
- [ ] OAuth providers for v2?
## State
- [x] Login + register
- [ ] Password reset
Why not just use Cursor's memory / Claude Projects?
Those tools operate at the project level — they remember your stack, not your feature-level decisions. They don't capture why you chose one approach over another, what was rejected, or what's still open. And they're locked to one tool.
Context Anchor is portable, versionable, and works across every LLM you use.
Roadmap
- [x] MCP server (get, list, update, export)
- [x] CLI (init, serve, status, new-feature, snapshot, export)
- [x] Git hook for automatic snapshots
- [x] Multi-LLM formatter (Claude, OpenAI, Gemini, Cursor)
- [ ]
diffbetween snapshots - [ ] Team sync (shared context across developers)
- [ ] Web dashboard
- [ ] VS Code extension
Built with
- MCP SDK
- TypeScript, pnpm workspaces
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.