MongoDB Server For Vercel
БесплатноНе проверенA read-only MongoDB MCP server designed for serverless deployment on Vercel, providing secure, limited access to MongoDB databases for AI assistants.
Описание
A read-only MongoDB MCP server designed for serverless deployment on Vercel, providing secure, limited access to MongoDB databases for AI assistants.
README
A read-only MongoDB MCP (Model Context Protocol) server designed for serverless deployment on Vercel. Provides secure, limited access to MongoDB databases for AI assistants and MCP-compatible clients.
Features
- 🔒 Secure by default - API key authentication, read-only operations, query limits
- ⚡ Serverless optimized - Designed for Vercel's edge/serverless environment
- 🛡️ Safety guardrails - Dangerous operators blocked, query timeouts, result limits
- 📊 6 MongoDB tools - find, aggregate, count, list-collections, explain, collection-schema
Quick Start
1. Install dependencies
npm install
2. Configure environment variables
Create a .env.local file:
# MongoDB Connection (use a read-only user!)
MONGODB_URI=mongodb+srv://readonly_user:[email protected]
MONGODB_DB=your_database_name
# API Key for authentication (generate with: openssl rand -base64 32)
API_KEY=your_generated_api_key
3. Run locally
npm run dev
The MCP server will be available at http://localhost:3000/mcp
Tools
| Tool | Description |
|---|---|
find |
Query documents with filtering, projection, sorting, and limiting |
aggregate |
Run aggregation pipelines for data transformation and analysis |
count |
Count documents matching a filter |
list-collections |
List all user collections in the database |
explain |
Get query execution plans for performance analysis |
collection-schema |
Infer schema by sampling documents |
Security
Built-in protections
- Fixed database - Only the database specified in
MONGODB_DBis accessible - API key required - All requests must include
X-API-Keyheader - Query limits - Max 100 documents per query, 30s timeout
- Blocked operators -
$where,$function,$accumulatorare rejected - Blocked stages -
$out,$merge,$lookupare rejected in aggregations - EJSON serialization - Proper handling of BSON types (ObjectId, Date, etc.)
Recommendations
- Use a read-only MongoDB user - Create a user with only
readrole - Rotate API keys - Generate new keys periodically
- Monitor usage - Enable Vercel Analytics to track requests
Usage
With cURL
# Initialize connection
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}'
# List available tools
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}'
# Call a tool (list collections)
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"list-collections","arguments":{}},"id":3}'
# Find documents
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"find","arguments":{"collection":"users","filter":{"status":"active"},"limit":10}},"id":4}'
With MCP Inspector
- Open MCP Inspector
- Set Transport Type:
Streamable HTTP - Set URL:
http://localhost:3000/mcp - In Authentication > Custom Headers, add:
X-API-Key: your API keyAccept:application/json, text/event-stream
- Enable both header toggles and click Connect
With Cursor
Add to your .cursor/mcp.json:
{
"mcpServers": {
"mongodb": {
"url": "http://localhost:3000/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}
For production deployment:
{
"mcpServers": {
"mongodb": {
"url": "https://your-app.vercel.app/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}
Deploy to Vercel
1. Push to GitHub
git init
git add .
git commit -m "Initial commit"
git remote add origin https://github.com/your-username/your-repo.git
git push -u origin main
2. Import to Vercel
- Go to vercel.com/new
- Import your GitHub repository
- Add environment variables:
MONGODB_URIMONGODB_DBAPI_KEY
- Deploy
3. Configure MongoDB Network Access
Make sure your MongoDB Atlas cluster allows connections from Vercel:
- Add
0.0.0.0/0to IP Access List (for serverless), or - Use Vercel's static IP addresses
API Reference
Tool: find
Query documents from a collection.
{
"collection": "users",
"filter": { "status": "active" },
"projection": { "name": 1, "email": 1, "_id": 0 },
"sort": { "createdAt": -1 },
"limit": 10
}
Tool: aggregate
Run an aggregation pipeline.
{
"collection": "orders",
"pipeline": [
{ "$match": { "status": "completed" } },
{ "$group": { "_id": "$customerId", "total": { "$sum": "$amount" } } },
{ "$sort": { "total": -1 } }
]
}
Tool: count
Count documents matching a filter.
{
"collection": "products",
"filter": { "inStock": true }
}
Tool: list-collections
List all collections in the database. No arguments required.
{}
Tool: explain
Get the execution plan for a query.
{
"collection": "users",
"operation": "find",
"operationArgs": {
"filter": { "email": "[email protected]" }
}
}
Tool: collection-schema
Infer schema by sampling documents.
{
"collection": "users",
"sampleSize": 100
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
MONGODB_URI |
Yes | MongoDB connection string |
MONGODB_DB |
Yes | Database name to use |
API_KEY |
Yes | API key for authentication |
Based On
This project combines ideas and code from:
vercel-labs/mcp-for-next.js - Vercel's official template for deploying MCP servers on Next.js. Provides the serverless-compatible architecture and
mcp-handlerintegration.mongodb-js/mongodb-mcp-server - MongoDB's official MCP server. The tool implementations (find, aggregate, count, explain, collection-schema) are adapted from this project with security hardening for public deployment.
Установка MongoDB Server For Vercel
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/guillermolg00/mongodb-mcp-vercelFAQ
MongoDB Server For Vercel MCP бесплатный?
Да, MongoDB Server For Vercel MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для MongoDB Server For Vercel?
Нет, MongoDB Server For Vercel работает без API-ключей и переменных окружения.
MongoDB Server For Vercel — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить MongoDB Server For Vercel в Claude Desktop, Claude Code или Cursor?
Открой MongoDB Server For Vercel на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare MongoDB Server For Vercel with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
