Package Exports
- code-context-mcp
- code-context-mcp/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (code-context-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
code-context-mcp
An MCP (Model Context Protocol) server that provides semantic code search capabilities to AI assistants using MongoDB Atlas Vector Search and Voyage AI embeddings.
🚀 Features
- Semantic Code Search: Find relevant code based on meaning, not just keywords
- MongoDB Atlas Vector Search: Unified platform for vectors and data
- Voyage AI Embeddings: State-of-the-art code embeddings (MongoDB exclusive)
- Native Hybrid Search: Combine vector and text search with MongoDB's $rankFusion
- Real-time Sync: Automatic updates with MongoDB Change Streams
- Multi-language Support: TypeScript, JavaScript, Python, Java, Go, Rust, C++
📋 Prerequisites
MongoDB Atlas Account (Free tier available)
- Sign up at: https://www.mongodb.com/cloud/atlas/register
- Create a cluster and get your connection string
Voyage AI API Key (200M tokens free)
- Sign up at: https://dash.voyageai.com/
- Get your API key
🔧 Installation
For Claude Desktop
# Install globally
npm install -g code-context-mcp
# Or use npx (recommended)
npx code-context-mcpConfiguration
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"code-context": {
"command": "npx",
"args": ["code-context-mcp"],
"env": {
"MONGODB_URI": "mongodb+srv://username:password@cluster.mongodb.net/",
"VOYAGE_API_KEY": "va_xxx"
}
}
}
}For Other AI Assistants
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"code-context": {
"command": "npx",
"args": ["code-context-mcp"],
"env": {
"MONGODB_URI": "mongodb+srv://...",
"VOYAGE_API_KEY": "va_xxx"
}
}
}
}Windsurf
Add to your Windsurf configuration:
{
"mcpServers": {
"code-context": {
"command": "npx",
"args": ["code-context-mcp"],
"env": {
"MONGODB_URI": "mongodb+srv://...",
"VOYAGE_API_KEY": "va_xxx"
}
}
}
}🛠️ Available Tools
The MCP server provides the following tools to AI assistants:
index_codebase
Index a codebase for semantic search.
{
"path": "/path/to/project",
"name": "my-project"
}search_code
Search for code semantically.
{
"projectPath": "/path/to/project",
"query": "authentication middleware",
"limit": 10,
"threshold": 0.7
}get_file_content
Retrieve specific file content.
{
"projectPath": "/path/to/project",
"relativePath": "src/auth.ts",
"startLine": 10,
"endLine": 50
}list_indexed_projects
List all indexed projects.
clear_index
Clear the index for a project.
{
"projectPath": "/path/to/project"
}get_project_stats
Get statistics about an indexed project.
{
"projectPath": "/path/to/project"
}⚙️ Configuration
Environment Variables
| Variable | Description | Required | Default |
|---|---|---|---|
MONGODB_URI |
MongoDB Atlas connection string | ✅ | - |
VOYAGE_API_KEY |
Voyage AI API key | ✅ | - |
MONGODB_DATABASE |
Database name | ❌ | code_context |
MONGODB_COLLECTION |
Collection name | ❌ | embeddings |
VOYAGE_MODEL |
Voyage AI model | ❌ | voyage-3.5 |
BATCH_SIZE |
Embedding batch size | ❌ | 10 |
MAX_FILE_SIZE |
Max file size (MB) | ❌ | 10 |
Voyage AI Models
| Model | Best For | Performance |
|---|---|---|
voyage-context-3 |
RAG systems, long documents | +14.24% vs OpenAI |
voyage-3-large |
Highest accuracy | +9.74% vs OpenAI |
voyage-3.5 |
General purpose (default) | +8.26% vs OpenAI |
voyage-3.5-lite |
High throughput | +6.34% vs OpenAI |
voyage-code-3 |
Source code | Best for code |
🏗️ MongoDB Atlas Setup
1. Create a Vector Search Index
In MongoDB Atlas:
- Navigate to your cluster
- Click "Search" → "Create Search Index"
- Choose "Atlas Vector Search"
- Use this configuration:
{
"fields": [{
"type": "vector",
"path": "embedding",
"numDimensions": 1024,
"similarity": "cosine"
}]
}2. Enable Hybrid Search (Optional)
For MongoDB 8.0+, create both vector and text indexes:
{
"mappings": {
"fields": {
"embedding": {
"type": "knnVector",
"dimensions": 1024,
"similarity": "cosine"
},
"content": {
"type": "string",
"analyzer": "lucene.standard"
}
}
}
}📊 Performance
Based on 2025 benchmarks:
- Storage: 83% less than competitors with int8 quantization
- Accuracy: Up to 14.24% better retrieval than OpenAI
- Speed: Native hybrid search 30% faster
- Cost: 96% storage reduction with binary quantization
🔍 Example Usage in Claude
Once configured, you can use natural language commands:
"Index my TypeScript project at /Users/me/my-project"
"Search for authentication middleware in my-project"
"Show me the implementation of the UserService class"
"Find all database connection code"
"What files handle error logging?"🐛 Troubleshooting
Connection Issues
MongoDB Connection Failed
- Verify your connection string
- Check IP whitelist in Atlas
- Ensure cluster is running
Voyage AI Authentication Failed
- Verify API key is correct
- Check API key has credits
MCP Not Responding
- Check logs in stderr
- Verify environment variables
- Restart AI assistant
Debug Mode
Set DEBUG=true in environment variables for verbose logging:
{
"env": {
"DEBUG": "true",
"MONGODB_URI": "...",
"VOYAGE_API_KEY": "..."
}
}🤝 Contributing
Contributions are welcome! Please see our Contributing Guide.
📄 License
MIT License - see LICENSE for details.
🔗 Links
Built with 💚 by MongoDB and Voyage AI