Give Claude Code instant access to your project's institutional knowledge. An MCP server that makes your project documentation instantly accessible in Claude Code through @ mentions. Create a .context/ folder, add your docs, and watch Claude become an expert on your codebase. You're working with Claude Code on a complex project. Claude is smart, but it doesn't know: - Your team's coding convention
Add this skill
npx mdskills install ericbrown/project-context-mcpWell-documented MCP server enabling selective project documentation access through `.context/` folder integration
Give Claude Code instant access to your project's institutional knowledge.
An MCP server that makes your project documentation instantly accessible in Claude Code through @ mentions. Create a .context/ folder, add your docs, and watch Claude become an expert on your codebase.
You're working with Claude Code on a complex project. Claude is smart, but it doesn't know:
You end up copy-pasting the same context into every conversation. Or worse, Claude makes suggestions that violate your project's conventions.
Create a .context/ folder in your project. Drop in your documentation. Now when you type @ in Claude Code, your context files appear right alongside your source files:
┌─────────────────────────────────────────────────────────────┐
│ > Help me add a new API endpoint @ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Suggestions: │ │
│ │ 📄 src/api/routes.py │ │
│ │ 📄 src/models/user.py │ │
│ │ 📘 architecture.md Help me refactor this function @conventions.md
> Add a new database table @database-schema.md @naming-conventions.md
> Why is this test failing? @architecture.md @testing-patterns.md
.context/Your .context/ folder is for institutional knowledge — the stuff that isn't obvious from reading the code.
| File | What to Include |
|---|---|
architecture.md | System overview, component relationships, data flow diagrams |
conventions.md | Coding standards, naming conventions, file organization |
api-patterns.md | Endpoint structure, authentication, error handling patterns |
database-schema.md | Table relationships, naming conventions, migration patterns |
testing-patterns.md | Test organization, mocking strategies, fixture patterns |
deployment.md | Environment setup, deployment procedures, rollback steps |
gotchas.md | Known issues, workarounds, "don't do this" warnings |
glossary.md | Domain-specific terms, abbreviations, business logic |
conventions.md# Coding Conventions
## Naming
- Files: `snake_case.py`
- Classes: `PascalCase`
- Functions: `snake_case`
- Constants: `UPPER_SNAKE_CASE`
## Error Handling
- Use custom exceptions from `src/exceptions.py`
- Always log with context: `logger.error("Failed to process", extra={"user_id": id})`
- API endpoints return `{"error": {"code": "...", "message": "..."}}`
## Testing
- One test file per module: `test_.py`
- Use fixtures from `conftest.py`, don't create new ones without discussion
- Mock external services, never hit real APIs in tests
architecture.md# Architecture Overview
## System Components
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Next.js │────▶│ FastAPI │────▶│ PostgreSQL │
│ Frontend │ │ Backend │ │ Database │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ Redis │
│ Cache │
└─────────────┘
## Key Design Decisions
1. **Why FastAPI over Flask?**
- Native async support for high-concurrency endpoints
- Automatic OpenAPI documentation
- Pydantic validation built-in
2. **Why Redis for caching?**
- Session storage for horizontal scaling
- Rate limiting with sliding windows
- Pub/sub for real-time features
The server exposes files with these extensions:
| Category | Extensions |
|---|---|
| Documentation | .md, .txt, .rst, .asciidoc, .adoc |
| Data/Config | .yaml, .yml, .json, .toml, .xml, .csv, .ini, .cfg, .conf |
| Code Examples | .py, .js, .ts, .jsx, .tsx, .html, .css, .sql, .sh |
Automatically excluded: Hidden files (.foo), __pycache__, node_modules, .git, .DS_Store
The server extracts human-readable names from your files:
# Heading as the nameapi-patterns.md → "Api Patterns")First paragraph of each file becomes the description shown in autocomplete, helping you pick the right context quickly.
Organize complex documentation with subfolders:
.context/
├── architecture.md
├── api/
│ ├── authentication.md
│ ├── pagination.md
│ └── error-codes.md
├── database/
│ ├── schema.md
│ └── migrations.md
└── frontend/
├── components.md
└── state-management.md
All files are discovered recursively and accessible via @.
No config files. No setup. No environment variables. Just create .context/ and go.
┌──────────────────┐ ┌─────────────────────┐
│ Claude Code │◀───────▶│ project-context-mcp │
│ │ MCP │ │
│ You type: @ │ Protocol│ 1. Finds .context/ │
│ │ │ 2. Lists all files │
│ Server returns │◀────────│ 3. Returns as │
│ your docs as │ │ MCP resources │
│ suggestions │ │ │
└──────────────────┘ └─────────────────────┘
.context/@ keystroke: Claude Code requests available resourcesResources use the context:// scheme:
.context/architecture.md → context://architecture.md.context/api/patterns.md → context://api/patterns.mdShare your .context/ folder in your repo. New developers get the same Claude experience as veterans — Claude knows the conventions from day one.
Instead of hoping everyone remembers the coding standards, put them in .context/conventions.md. Claude will suggest code that matches your patterns.
Working in healthcare? Finance? Legal tech? Put your domain glossary and business rules in .context/. Claude won't confuse your specific terminology.
Document the "why" behind legacy decisions. When Claude suggests a refactor, you can include @legacy-decisions.md to explain constraints.
Keep architecture docs in context. Claude can help you make changes that respect service boundaries and communication patterns.
| Approach | Pros | Cons |
|---|---|---|
| Copy-paste context | No setup | Tedious, inconsistent, clutters prompt |
| CLAUDE.md file | Auto-included | Single file, always included even when not relevant |
.context/ folder | Organized, selective, discoverable | Requires explicit @ mention |
This tool is ideal when you have multiple context documents and want to selectively include the relevant ones for each task.
claude mcp add project-context -s user -- uvx project-context-mcp
pip install project-context-mcp
claude mcp add project-context -s user -- project-context-mcp
git clone https://github.com/ericbrown/project-context-mcp.git
cd project-context-mcp
pip install -e .
claude mcp add project-context -s user -- python -m project_context_mcp.server
.context/ (with the dot)claude mcp listRun the server directly to see logs:
cd your-project
python -m project_context_mcp.server
You'll see:
INFO:project-context-mcp:Starting project-context-mcp server
INFO:project-context-mcp:Working directory: /path/to/your-project
INFO:project-context-mcp:Looking for context in: /path/to/your-project/.context
INFO:project-context-mcp:Found 5 context resources
Contributions welcome! Ideas for improvements:
context.yaml manifest for custom metadatagit clone https://github.com/ericbrown/project-context-mcp.git
cd project-context-mcp
pip install -e .
cd examples/sample-project
python -m project_context_mcp.server
MIT License — see LICENSE for details.
Built for developers who are tired of repeating themselves.
Star this repo if it saves you time!
Install via CLI
npx mdskills install ericbrown/project-context-mcpProject Context MCP is a free, open-source AI agent skill. Give Claude Code instant access to your project's institutional knowledge. An MCP server that makes your project documentation instantly accessible in Claude Code through @ mentions. Create a .context/ folder, add your docs, and watch Claude become an expert on your codebase. You're working with Claude Code on a complex project. Claude is smart, but it doesn't know: - Your team's coding convention
Install Project Context MCP with a single command:
npx mdskills install ericbrown/project-context-mcpThis downloads the skill files into your project and your AI agent picks them up automatically.
Project Context MCP works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.