MCP MongoDB Server
Ein Model Context Protocol-Server, der LLMs die Interaktion mit MongoDB-Datenbanken ermöglicht. Dieser Server bietet Funktionen zur Überprüfung von Sammlungsschemata und zur Ausführung von MongoDB-Operationen über eine standardisierte Schnittstelle.
Demo

Related MCP server: MongoDB MCP Server for LLMs
Hauptmerkmale
Intelligente Objekt-ID-Behandlung
Intelligente Konvertierung zwischen String-IDs und MongoDB ObjectId
Konfigurierbar mit dem Parameter
objectIdMode:"auto": Konvertierung basierend auf Feldnamen (Standard)"none": Keine Konvertierung"force": Erzwingt die ObjectId aller String-ID-Felder
Flexible Konfiguration
Umgebungsvariablen :
MCP_MONGODB_URI: MongoDB-Verbindungs-URIMCP_MONGODB_READONLY: Aktiviert den Nur-Lese-Modus, wenn auf „true“ gesetzt
Befehlszeilenoptionen :
--read-onlyoder-r: Verbindung im schreibgeschützten Modus herstellen
Schreibgeschützter Modus
Schutz vor Schreiboperationen (Update, Insert, CreateIndex)
Nutzt die sekundäre Lesepräferenz von MongoDB für optimale Leistung
Ideal für die sichere Verbindung mit Produktionsdatenbanken
MongoDB-Operationen
Lesevorgänge :
Abfragedokumente mit optionaler Ausführungsplananalyse
Ausführen von Aggregationspipelines
Zählen Sie Dokumente, die den Kriterien entsprechen
Abrufen von Sammlungsschemainformationen
Schreibvorgänge (wenn nicht im Nur-Lese-Modus):
Dokumente aktualisieren
Neue Dokumente einfügen
Erstellen von Indizes
LLM-Integration
Sammlungsvervollständigungen für eine verbesserte LLM-Interaktion
Schemainferenz für ein besseres Kontextverständnis
Sammlungsanalyse für Dateneinblicke
Installation
Globale Installation
npm install -g mcp-mongo-serverFür die Entwicklung
# Clone repository
git clone https://github.com/kiliczsh/mcp-mongo-server.git
cd mcp-mongo-server
# Install dependencies
npm install
# Build
npm run build
# Development with auto-rebuild
npm run watchVerwendung
Grundlegende Verwendung
# Start server with MongoDB URI
npx -y mcp-mongo-server mongodb://muhammed:kilic@localhost:27017/database
# Connect in read-only mode
npx -y mcp-mongo-server mongodb://muhammed:kilic@localhost:27017/database --read-onlyUmgebungsvariablen
Sie können den Server mithilfe von Umgebungsvariablen konfigurieren. Dies ist besonders nützlich für CI/CD-Pipelines, Docker-Container oder wenn Sie keine Verbindungsdetails in Befehlsargumenten offenlegen möchten:
# Set MongoDB connection URI
export MCP_MONGODB_URI="mongodb://muhammed:kilic@localhost:27017/database"
# Enable read-only mode
export MCP_MONGODB_READONLY="true"
# Run server (will use environment variables if no URI is provided)
npx -y mcp-mongo-serverVerwenden von Umgebungsvariablen in der Claude Desktop-Konfiguration:
{
"mcpServers": {
"mongodb-env": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server"
],
"env": {
"MCP_MONGODB_URI": "mongodb://muhammed:kilic@localhost:27017/database",
"MCP_MONGODB_READONLY": "true"
}
}
}
}Verwenden von Umgebungsvariablen mit Docker:
# Build
docker build -t mcp-mongo-server .
# Run
docker run -it -d -e MCP_MONGODB_URI="mongodb://muhammed:kilic@localhost:27017/database" -e MCP_MONGODB_READONLY="true" mcp-mongo-server
# or edit docker-compose.yml and run
docker-compose up -dIntegration mit Claude Desktop
Manuelle Konfiguration
Fügen Sie die Serverkonfiguration zur Konfigurationsdatei von Claude Desktop hinzu:
MacOS : ~/Library/Application Support/Claude/claude_desktop_config.json Windows : %APPDATA%/Claude/claude_desktop_config.json
Ansatz mit Befehlszeilenargumenten:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database"
]
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database",
"--read-only"
]
}
}
}Ansatz mit Umgebungsvariablen:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server"
],
"env": {
"MCP_MONGODB_URI": "mongodb://muhammed:kilic@localhost:27017/database"
}
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server"
],
"env": {
"MCP_MONGODB_URI": "mongodb://muhammed:kilic@localhost:27017/database",
"MCP_MONGODB_READONLY": "true"
}
}
}
}GitHub-Paketnutzung:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database"
]
},
"mongodb-readonly": {
"command": "npx",
"args": [
"-y",
"github:kiliczsh/mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database",
"--read-only"
]
}
}
}Integration mit Windsurf und Cursor
Der MCP MongoDB-Server kann mit Windsurf und Cursor auf ähnliche Weise wie Claude Desktop verwendet werden.
Windsurf-Konfiguration
Fügen Sie den Server zu Ihrer Windsurf-Konfiguration hinzu:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database"
]
}
}
}Cursorkonfiguration
Fügen Sie für Cursor die Serverkonfiguration zu Ihren Einstellungen hinzu:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": [
"-y",
"mcp-mongo-server",
"mongodb://muhammed:kilic@localhost:27017/database"
]
}
}
}Sie können den Ansatz mit Umgebungsvariablen auch sowohl mit Windsurf als auch mit Cursor verwenden und dabei dem gleichen Muster folgen, das in der Claude Desktop-Konfiguration gezeigt wird.
Automatisierte Installation
Schmiedearbeiten verwenden :
npx -y @smithery/cli install mcp-mongo-server --client claudeVerwenden von mcp-get :
npx @michaellatman/mcp-get@latest install mcp-mongo-serverVerfügbare Tools
Abfragevorgänge
Abfrage : Führen Sie MongoDB-Abfragen aus
{ collection: "users", filter: { age: { $gt: 30 } }, projection: { name: 1, email: 1 }, limit: 20, explain: "executionStats" // Optional }aggregate : Führen Sie Aggregationspipelines aus
{ collection: "orders", pipeline: [ { $match: { status: "completed" } }, { $group: { _id: "$customerId", total: { $sum: "$amount" } } } ], explain: "queryPlanner" // Optional }count : Zählt übereinstimmende Dokumente
{ collection: "products", query: { category: "electronics" } }
Schreibvorgänge
Update : Dokumente ändern
{ collection: "posts", filter: { _id: "60d21b4667d0d8992e610c85" }, update: { $set: { title: "Updated Title" } }, upsert: false, multi: false }einfügen : Neue Dokumente hinzufügen
{ collection: "comments", documents: [ { author: "user123", text: "Great post!" }, { author: "user456", text: "Thanks for sharing" } ] }createIndex : Sammlungsindizes erstellen
{ collection: "users", indexes: [ { key: { email: 1 }, unique: true, name: "email_unique_idx" } ] }
Systembetrieb
serverInfo : MongoDB-Serverdetails abrufen
{ includeDebugInfo: true // Optional }
Debuggen
Da MCP-Server über Standarddio kommunizieren, kann das Debuggen schwierig sein. Verwenden Sie den MCP-Inspektor für bessere Übersicht:
npm run inspectorDadurch wird eine URL für den Zugriff auf die Debugging-Tools in Ihrem Browser bereitgestellt.
Ausführen von Evaluierungen
Das Evals-Paket lädt einen MCP-Client, der anschließend die Datei index.ts ausführt, sodass zwischen den Tests kein Neuaufbau erforderlich ist. Sie können Umgebungsvariablen laden, indem Sie dem Befehl npx voranstellen. Die vollständige Dokumentation finden Sie hier .
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/schemas/tools.tsLizenz
Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.