mongo-mcp-server
1
The MongoDB Model Context Protocol Server is designed to manage models and contexts with MongoDB integration. It supports protocol execution, data storage, and provides a gRPC API for various operations, making it suitable for advanced model management tasks.
MongoDB Model Context Protocol Server
A powerful server implementation for managing models, contexts, and protocols with MongoDB integration and Cursor support.
Features
- Model management (create, list, update, delete)
- Context management with multiple model support
- Protocol execution and status tracking
- Data storage and retrieval
- Cursor integration for enhanced code completion and analysis
- gRPC API for all operations
- MongoDB backend for persistent storage
Requirements
- Go 1.16 or higher
- MongoDB 4.4 or higher
- Cursor IDE (for full integration features)
Installation
- Clone the repository:
git clone https://github.com/yourusername/mongo-mcp-server.git
cd mongo-mcp-server
- Install dependencies:
go mod download
- Start MongoDB:
mongod --dbpath /path/to/data/directory
- Build and run the server:
go build -o mcp-server cmd/server/main.go
./mcp-server
Cursor Integration
The server includes built-in support for Cursor IDE integration. To enable Cursor features:
- Install the Cursor IDE from cursor.sh
- The server will automatically detect and integrate with Cursor when it's running
- Use the
/mcp
prefix in Cursor to access MCP features:/mcp model
- Manage models/mcp context
- Manage contexts/mcp execute
- Execute protocols/mcp status
- Check protocol status/mcp data
- Manage data
API Usage
Models
Create a new model:
grpcurl -plaintext -d '{
"name": "gpt-4",
"type": "llm",
"description": "OpenAI GPT-4 model",
"parameters": {
"temperature": 0.7,
"max_tokens": 2048
}
}' localhost:50051 proto.MCPService/CreateModel
Contexts
Create a new context:
grpcurl -plaintext -d '{
"name": "code-review",
"description": "Code review context",
"model_ids": ["model_id_1", "model_id_2"],
"metadata": {
"language": "go",
"framework": "grpc"
}
}' localhost:50051 proto.MCPService/CreateContext
Protocols
Execute a protocol:
grpcurl -plaintext -d '{
"protocol_id": "protocol_id_1",
"context_id": "context_id_1",
"parameters": {
"input": "Review this code",
"style": "detailed"
}
}' localhost:50051 proto.MCPService/ExecuteProtocol
Check protocol status:
grpcurl -plaintext -d '{
"execution_id": "execution_id_1"
}' localhost:50051 proto.MCPService/GetProtocolStatus
Data
Add data:
grpcurl -plaintext -d '{
"type": "code",
"content": "package main\n\nfunc main() {\n println(\"Hello, World!\")\n}",
"metadata": {
"language": "go",
"author": "John Doe"
}
}' localhost:50051 proto.MCPService/AddData
Get data:
grpcurl -plaintext -d '{
"id": "data_id_1"
}' localhost:50051 proto.MCPService/GetData
List data:
grpcurl -plaintext -d '{
"type": "code",
"page_size": 10,
"page_token": ""
}' localhost:50051 proto.MCPService/ListData
Delete data:
grpcurl -plaintext -d '{
"id": "data_id_1"
}' localhost:50051 proto.MCPService/DeleteData
Security
- All API endpoints require authentication
- MongoDB connection uses secure defaults
- gRPC communication is encrypted
- Cursor integration uses secure channels
License
MIT License - see LICENSE file for details