mongodb-mcp-server
MongoDB MCP Server
Ein Model Context Protocol-Server für die Interaktion mit MongoDB-Datenbanken und MongoDB Atlas.
📚 Inhaltsverzeichnis
Voraussetzungen
Node.js (v20.10.0 oder neuer)
node -vEin MongoDB-Verbindungsstring oder Atlas-API-Anmeldedaten, der Server startet nicht, wenn er nicht konfiguriert ist.
Atlas-API-Anmeldedaten für Service-Konten sind erforderlich, um die Atlas-Tools zu verwenden. Sie können ein Service-Konto in MongoDB Atlas erstellen und dessen Anmeldedaten für die Authentifizierung verwenden. Weitere Details finden Sie unter Atlas-API-Zugriff.
Wenn Sie einen MongoDB-Verbindungsstring haben, können Sie ihn direkt verwenden, um eine Verbindung zu Ihrer MongoDB-Instanz herzustellen.
Einrichtung
Schnellstart
Hinweis: Wenn Sie Atlas-API-Anmeldedaten verwenden, weisen Sie Ihrem Service-Konto nur die minimal erforderlichen Berechtigungen zu. Details finden Sie unter Atlas-API-Berechtigungen.
Die meisten MCP-Clients erfordern, dass eine Konfigurationsdatei erstellt oder geändert wird, um den MCP-Server hinzuzufügen.
Hinweis: Die Syntax der Konfigurationsdatei kann je nach Client unterschiedlich sein. Informationen zur aktuell erwarteten Syntax finden Sie unter den folgenden Links:
VSCode: https://code.visualstudio.com/docs/copilot/chat/mcp-servers
Claude Desktop: https://modelcontextprotocol.io/quickstart/user
Cursor: https://docs.cursor.com/context/model-context-protocol
Option 1: Verbindungsstring-Argumente
Sie können Ihren Verbindungsstring über Argumente übergeben. Stellen Sie sicher, dass Sie einen gültigen Benutzernamen und ein gültiges Passwort verwenden.
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--connectionString",
"mongodb://localhost:27017/myDatabase"
]
}
}
}HINWEIS: Der Verbindungsstring kann so konfiguriert werden, dass er eine Verbindung zu jedem MongoDB-Cluster herstellt, sei es eine lokale Instanz oder ein Atlas-Cluster.
Option 2: Atlas-API-Anmeldedaten-Argumente
Verwenden Sie die Anmeldedaten Ihres Atlas-API-Service-Kontos. Sie müssen alle Schritte im Abschnitt Atlas-API-Zugriff befolgen.
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--apiClientId",
"your-atlas-service-accounts-client-id",
"--apiClientSecret",
"your-atlas-service-accounts-client-secret"
]
}
}
}Option 3: Eigenständiger Dienst mit Kommandozeilenargumenten
Starten Sie den Server mit dem npx-Befehl:
npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret"Eine vollständige Liste der Argumente finden Sie unter Konfigurationsoptionen
Informationen zum Konfigurieren Ihrer Atlas-Service-Konto-Anmeldedaten finden Sie unter Atlas-API-Zugriff
Option 4: Eigenständiger Dienst mit Umgebungsvariablen
npx -y mongodb-mcp-serverSie können Umgebungsvariablen in der Konfigurationsdatei verwenden oder sie setzen und den Server über npx ausführen.
Verbindungsstring über Umgebungsvariablen in der MCP-Datei Beispiel
Atlas-API-Anmeldedaten über Umgebungsvariablen in der MCP-Datei Beispiel
Option 5: Verwendung von Docker
Sie können den MongoDB MCP Server in einem Docker-Container ausführen, der Isolierung bietet und keine lokale Node.js-Installation erfordert.
Ausführen mit Umgebungsvariablen
Sie können entweder einen MongoDB-Verbindungsstring ODER Atlas-API-Anmeldedaten angeben:
Option A: Keine Konfiguration
docker run --rm -i \
mongodb/mongodb-mcp-server:latestOption B: Mit MongoDB-Verbindungsstring
docker run --rm -i \
-e MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" \
mongodb/mongodb-mcp-server:latestOption C: Mit Atlas-API-Anmeldedaten
docker run --rm -i \
-e MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id" \
-e MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret" \
mongodb/mongodb-mcp-server:latestDocker in der MCP-Konfigurationsdatei
Ohne Optionen:
{
"mcpServers": {
"MongoDB": {
"command": "docker",
"args": ["run", "--rm", "-i", "mongodb/mongodb-mcp-server:latest"]
}
}
}Mit Verbindungsstring:
{
"mcpServers": {
"MongoDB": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MDB_MCP_CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/myDatabase",
"mongodb/mongodb-mcp-server:latest"
]
}
}
}Mit Atlas-API-Anmeldedaten:
{
"mcpServers": {
"MongoDB": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MDB_MCP_API_CLIENT_ID=your-atlas-service-accounts-client-id",
"-e",
"MDB_MCP_API_CLIENT_SECRET=your-atlas-service-accounts-client-secret",
"mongodb/mongodb-mcp-server:latest"
]
}
}
}🛠️ Unterstützte Tools
Tool-Liste
MongoDB Atlas Tools
atlas-list-orgs- Listet MongoDB-Atlas-Organisationen aufatlas-list-projects- Listet MongoDB-Atlas-Projekte aufatlas-create-project- Erstellt ein neues MongoDB-Atlas-Projektatlas-list-clusters- Listet MongoDB-Atlas-Cluster aufatlas-inspect-cluster- Untersucht einen bestimmten MongoDB-Atlas-Clusteratlas-create-free-cluster- Erstellt einen kostenlosen MongoDB-Atlas-Clusteratlas-connect-cluster- Stellt eine Verbindung zum MongoDB-Atlas-Cluster heratlas-inspect-access-list- Untersucht IP-/CIDR-Bereiche mit Zugriff auf MongoDB-Atlas-Clusteratlas-create-access-list- Konfiguriert die IP-/CIDR-Zugriffsliste für MongoDB-Atlas-Clusteratlas-list-db-users- Listet MongoDB-Atlas-Datenbankbenutzer aufatlas-create-db-user- Erstellt einen MongoDB-Atlas-Datenbankbenutzeratlas-list-alerts- Listet MongoDB-Atlas-Warnungen für ein Projekt auf
HINWEIS: Atlas-Tools sind nur verfügbar, wenn Sie Anmeldedaten im Abschnitt Konfiguration festlegen.
MongoDB Database Tools
connect- Stellt eine Verbindung zu einer MongoDB-Instanz herfind- Führt eine find-Abfrage gegen eine MongoDB-Sammlung ausaggregate- Führt eine Aggregation gegen eine MongoDB-Sammlung auscount- Ermittelt die Anzahl der Dokumente in einer MongoDB-Sammlunginsert-one- Fügt ein einzelnes Dokument in eine MongoDB-Sammlung eininsert-many- Fügt mehrere Dokumente in eine MongoDB-Sammlung eincreate-index- Erstellt einen Index für eine MongoDB-Sammlungupdate-one- Aktualisiert ein einzelnes Dokument in einer MongoDB-Sammlungupdate-many- Aktualisiert mehrere Dokumente in einer MongoDB-Sammlungrename-collection- Benennt eine MongoDB-Sammlung umdelete-one- Löscht ein einzelnes Dokument aus einer MongoDB-Sammlungdelete-many- Löscht mehrere Dokumente aus einer MongoDB-Sammlungdrop-collection- Entfernt eine Sammlung aus einer MongoDB-Datenbankdrop-database- Entfernt eine MongoDB-Datenbanklist-databases- Listet alle Datenbanken für eine MongoDB-Verbindung auflist-collections- Listet alle Sammlungen für eine bestimmte Datenbank aufcollection-indexes- Beschreibt die Indizes für eine Sammlungcollection-schema- Beschreibt das Schema für eine Sammlungcollection-storage-size- Ermittelt die Größe einer Sammlung in MBdb-stats- Gibt Statistiken über eine MongoDB-Datenbank zurück
Konfiguration
Der MongoDB MCP Server kann mit mehreren Methoden konfiguriert werden, mit folgender Priorität (höchste zu niedrigste):
Kommandozeilenargumente
Umgebungsvariablen
Konfigurationsoptionen
Option | Beschreibung |
| Atlas-API-Client-ID für die Authentifizierung. Erforderlich für die Ausführung von Atlas-Tools. |
| Atlas-API-Client-Geheimnis für die Authentifizierung. Erforderlich für die Ausführung von Atlas-Tools. |
| MongoDB-Verbindungsstring für direkte Datenbankverbindungen. Optional. Wenn nicht festgelegt, müssen Sie das |
| Ordner zum Speichern von Protokollen. |
| Ein Array von Toolnamen, Operationstypen und/oder Toolkategorien, die deaktiviert werden. |
| Wenn auf true gesetzt, sind nur Lese- und Metadatenoperationen zulässig; Erstellen/Aktualisieren/Löschen wird deaktiviert. |
| Wenn auf disabled gesetzt, wird die Telemetrieerfassung deaktiviert. |
Protokollpfad
Der Standardprotokollspeicherort ist wie folgt:
Windows:
%LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logsmacOS/Linux:
~/.mongodb/mongodb-mcp/.app-logs
Deaktivierte Tools
Sie können bestimmte Tools oder Kategorien von Tools mithilfe der Option disabledTools deaktivieren. Diese Option akzeptiert ein Array von Zeichenfolgen, wobei jede Zeichenfolge ein Toolname, ein Operationstyp oder eine Kategorie sein kann.
Die Art und Weise, wie das Array aufgebaut ist, hängt von der Art der verwendeten Konfigurationsmethode ab:
Für die Konfiguration über Umgebungsvariablen verwenden Sie eine durch Kommas getrennte Zeichenfolge:
export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas,collectionSchema".Für die Konfiguration über Befehlszeilenargumente verwenden Sie eine durch Leerzeichen getrennte Zeichenfolge:
--disabledTools create update delete atlas collectionSchema.
Kategorien von Tools:
atlas– MongoDB-Atlas-Tools, wie Cluster auflisten, Cluster erstellen usw.mongodb– MongoDB-Datenbanktools, wie find, aggregate usw.
Operationstypen:
create– Tools, die Ressourcen erstellen, wie Cluster erstellen, Dokument einfügen usw.update– Tools, die Ressourcen aktualisieren, wie Dokument aktualisieren, Sammlung umbenennen usw.delete– Tools, die Ressourcen löschen, wie Dokument löschen, Sammlung löschen usw.read– Tools, die Ressourcen lesen, wie find, aggregate, Cluster auflisten usw.metadata– Tools, die Metadaten lesen, wie Datenbanken auflisten, Collections auflisten, Collection-Schema usw.
Nur-Lese-Modus
Die Konfigurationsoption readOnly ermöglicht es Ihnen, den MCP-Server so einzuschränken, dass er nur Tools mit den Operationstypen „read“ und „metadata“ verwendet. Wenn diese Option aktiviert ist, werden alle Tools mit den Operationstypen „create“, „update“ oder „delete“ nicht beim Server registriert.
Dies ist nützlich für Szenarien, in denen Sie Zugriff auf MongoDB-Daten für Analysen bereitstellen möchten, ohne Änderungen an den Daten oder der Infrastruktur zuzulassen.
Sie können den Nur-Lese-Modus wie folgt aktivieren:
Umgebungsvariable:
export MDB_MCP_READ_ONLY=trueBefehlszeilenargument:
--readOnly
Wenn der Nur-Lese-Modus aktiv ist, sehen Sie eine Meldung in den Serverprotokollen, die angibt, welche Tools aufgrund dieser Einschränkung nicht registriert werden konnten.
Telemetrie
Mit der Konfigurationsoption telemetry können Sie die Telemetrie-Erfassung deaktivieren. Wenn sie aktiviert ist, sammelt der MCP-Server Nutzungsdaten und sendet sie an MongoDB.
Sie können die Telemetrie wie folgt deaktivieren:
Umgebungsvariable:
export MDB_MCP_TELEMETRY=disabledBefehlszeilenargument:
--telemetry disabledDO_NOT_TRACK-Umgebungsvariable:
export DO_NOT_TRACK=1
Atlas-API-Zugriff
Um die Atlas-API-Tools zu verwenden, müssen Sie ein Dienstkonto in MongoDB Atlas erstellen:
ℹ️ Hinweis: Eine detaillierte Aufschlüsselung der mindestens erforderlichen Berechtigungen für jeden Atlas-Vorgang finden Sie im Abschnitt Atlas-API-Berechtigungen weiter unten.
Dienstkonto erstellen:
Melden Sie sich bei MongoDB Atlas unter cloud.mongodb.com an.
Navigieren Sie zu Access Manager > Organization Access
Klicken Sie auf Add New > Applications > Service Accounts
Geben Sie Name, Beschreibung und Ablauf für Ihr Dienstkonto ein (z. B. „MCP, MCP Server Access, 7 Tage“).
Weisen Sie nur die mindestens erforderlichen Berechtigungen für Ihren Anwendungsfall zu.
Siehe Atlas-API-Berechtigungen für Details.
Klicken Sie auf „Create“.
Weitere Informationen zu Dienstkonten finden Sie in der MongoDB-Atlas-Dokumentation.
Client-Anmeldeinformationen speichern:
Nach der Erstellung werden Ihnen die Client-ID und das Client-Geheimnis angezeigt.
Wichtig: Kopieren und speichern Sie das Client-Geheimnis sofort, da es nicht erneut angezeigt wird.
Access-List-Eintrag hinzufügen:
Fügen Sie Ihre IP-Adresse zur API-Zugriffsliste hinzu.
MCP-Server konfigurieren:
Verwenden Sie eine der unten aufgeführten Konfigurationsmethoden, um Ihre
apiClientIdund IhrapiClientSecretfestzulegen.
Atlas-API-Berechtigungen
Sicherheitswarnung: Das Gewähren der Rolle „Organization Owner“ ist selten erforderlich und kann ein Sicherheitsrisiko darstellen. Weisen Sie nur die mindestens erforderlichen Berechtigungen für Ihren Anwendungsfall zu.
Kurzreferenz: Erforderliche Rollen pro Vorgang
Was Sie tun möchten | Sicherste zuzuweisende Rolle (wo) |
Organisationen/Projekte auflisten | Org Member oder Org Read Only (Org) |
Neue Projekte erstellen | Org Project Creator (Org) |
Cluster/Datenbanken in einem Projekt anzeigen | Project Read Only (Project) |
Cluster in einem Projekt erstellen/verwalten | Project Cluster Manager (Project) |
Projekt-Zugriffslisten verwalten | Project IP Access List Admin (Project) |
Datenbankbenutzer verwalten | Project Database Access Admin (Project) |
Bevorzugen Sie projektbezogene Rollen für die meisten Vorgänge. Weisen Sie sie nur den spezifischen Projekten zu, die Sie verwalten oder anzeigen müssen.
Vermeiden Sie Organization Owner, es sei denn, Sie benötigen die vollständige administrative Kontrolle über alle Projekte und Einstellungen in der Organisation.
Eine vollständige Liste der Rollen und ihrer Berechtigungen finden Sie in der Atlas-Benutzerrollen-Dokumentation.
Konfigurationsmethoden
Umgebungsvariablen
Setzen Sie Umgebungsvariablen mit dem Präfix MDB_MCP_ gefolgt vom Optionsnamen in Großbuchstaben mit Unterstrichen:
# Set Atlas API credentials (via Service Accounts)
export MDB_MCP_API_CLIENT_ID="your-atlas-service-accounts-client-id"
export MDB_MCP_API_CLIENT_SECRET="your-atlas-service-accounts-client-secret"
# Set a custom MongoDB connection string
export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
export MDB_MCP_LOG_PATH="/path/to/logs"
Beispiele für MCP-Konfigurationsdateien
Connection String mit Umgebungsvariablen
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server"],
"env": {
"MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
}
}
}
}Atlas-API-Anmeldeinformationen mit Umgebungsvariablen
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": ["-y", "mongodb-mcp-server"],
"env": {
"MDB_MCP_API_CLIENT_ID": "your-atlas-service-accounts-client-id",
"MDB_MCP_API_CLIENT_SECRET": "your-atlas-service-accounts-client-secret"
}
}
}
}Befehlszeilenargumente
Übergeben Sie Konfigurationsoptionen als Befehlszeilenargumente beim Starten des Servers:
npx -y mongodb-mcp-server --apiClientId="your-atlas-service-accounts-client-id" --apiClientSecret="your-atlas-service-accounts-client-secret" --connectionString="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" --logPath=/path/to/logsBeispiele für MCP-Konfigurationsdateien
Connection String mit Befehlszeilenargumenten
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--connectionString",
"mongodb+srv://username:password@cluster.mongodb.net/myDatabase"
]
}
}
}Atlas-API-Anmeldeinformationen mit Befehlszeilenargumenten
{
"mcpServers": {
"MongoDB": {
"command": "npx",
"args": [
"-y",
"mongodb-mcp-server",
"--apiClientId",
"your-atlas-service-accounts-client-id",
"--apiClientSecret",
"your-atlas-service-accounts-client-secret"
]
}
}
}🤝 Mitwirken
Interessiert an einer Mitarbeit? Großartig! Bitte lesen Sie unseren Leitfaden für Mitwirkende für Richtlinien zu Code-Beiträgen, Standards, dem Hinzufügen neuer Tools und Informationen zur Fehlerbehebung.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rajath-raman/mongodb-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server