MongoDB MCP-Server
Eine leistungsstarke Model Context Protocol (MCP)-Serverimplementierung, die eine nahtlose Interaktion mit MongoDB-Datenbanken über ein standardisiertes Protokoll ermöglicht.
Autor
Rastalion
Related MCP server: MongoDB
Gliederung
Diese MCP-Serverimplementierung bietet eine leistungsstarke Schnittstelle zur Interaktion mit einer MongoDB-Datenbank über das Model Context Protocol. Es bietet zuverlässige Unterstützung für Vorgänge an Datenbanken, Sammlungen und Dokumenten mit dem Async/Await-Muster und der Fehlerbehandlung.
Merkmal
Vollständige Unterstützung für MongoDB CRUD-Operationen
Handhabung sicherer Verbindungen zu MongoDB
Async/Await-Muster für optimale Leistung
Umfassende Fehlerbehandlung
Docker-Unterstützung für einfache Bereitstellung
Ausführen von Abfragen mit Typhinweisen
Unterstützung für Server-Sent Events (SSE) für Echtzeit-Updates
Schnellstart
Verwendung als CLI-Tool
# 저장소 복제
git clone https://github.com/yourusername/mongo-mcp-server.git
cd mongo-mcp-server
# 개발 모드로 설치
pip install -e .
# 로컬에서 CLI 명령으로 실행
mongo-mcp-server
# SSE 트랜스포트로 실행
mongo-mcp-server --transport=sse
# MongoDB URL 지정
mongo-mcp-server --mongodb-url="mongodb://username:password@hostname:port/dbname"
# 도움말 보기
mongo-mcp-server --helpÜber UVX ausführen
# UVX가 설치된 경우
uvx mongo-mcp-server
# SSE 트랜스포트 모드
uvx mongo-mcp-server --transport=ssePython direkt ausführen
# 저장소 복제
git clone https://github.com/yourusername/mongo-mcp-server.git
cd mongo-mcp-server
# 의존성 설치
pip install -r requirements.txt
# 환경 변수 설정
export MONGODB_URL="mongodb://username:password@hostname:port/dbname?authSource=admin"
# 서버 실행
uvicorn app.main:app --host 0.0.0.0 --port 3000Verwenden von Docker
# 저장소 복제
git clone https://github.com/yourusername/mongo-mcp-server.git
cd mongo-mcp-server
# Docker Compose로 빌드 및 실행
docker-compose up -d
# 로그 확인
docker-compose logs -f mongo-mcpVerwenden von UVX
UVX ist ein Tool, mit dem Sie Dienste in verschiedenen Umgebungen einfach verwalten können.
# 등록 스크립트에 실행 권한 부여
chmod +x uvx-register.sh
# UVX에 서비스 등록
./uvx-register.sh
# 서비스 시작
uvx start mongo-mcp
# 상태 확인
uvx status mongo-mcp
# 로그 확인
uvx logs mongo-mcpWeitere Informationen finden Sie im UVX-Handbuch .
Umgebungsvariablen
Legen Sie vor dem Ausführen des Servers die folgenden Umgebungsvariablen fest:
# 필수
MONGODB_URL="mongodb://username:password@hostname:port/dbname?authSource=admin"
# 선택 - 기본값 표시
PORT=3000
MCP_TRANSPORT=http # 'http' 또는 'sse'API-Endpunkt
Überprüfen Sie den Zustand :
GET /healthMCP-API :
GET /mcp– FastMCP-Endpunkt (OpenAPI-Dokumentation)SSE-Verbindung :
GET /sse– Endpunkt für vom Server gesendete EreignisseNachrichtenverarbeitung :
POST /messages– Endpunkt der Nachrichtenverarbeitung
IDE-Integration
VS Code-Einstellungen
Fügen Sie Ihrer VS Code-Datei „settings.json“ Folgendes hinzu:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "mongodbUri",
"description": "MongoDB 연결 URI"
}
],
"servers": {
"mongodb": {
"command": "mongo-mcp-server",
"args": [
"--mongodb-url",
"$(mongodbUri)"
],
"env": {}
}
}
}
}Claude oder ein anderer KI-Assistent
Konfigurieren Sie Ihren MCP-Server für Claude oder andere KI-Assistenten wie folgt:
{
"mcp": {
"servers": {
"mongodb": {
"url": "http://localhost:3000/mcp"
}
}
}
}Verfügbare Tools
Werkzeugname | Erläuterung |
| Alle verfügbaren Sammlungen in der Datenbank auflisten |
| Abrufen von Dokumenten in einer Sammlung mithilfe der MongoDB-Abfragesyntax |
| Einfügen eines einzelnen Dokuments in eine Sammlung |
| Aktualisieren eines einzelnen Dokuments in einer Sammlung |
| Löschen eines einzelnen Dokuments aus einer Sammlung |
| Alle Indizes in einer Sammlung auflisten |
| Erstellen eines neuen Index in einer Sammlung |
| Löschen eines vorhandenen Indexes aus einer Sammlung |
Erweiterte Nutzung
Hinzufügen benutzerdefinierter Tools
Erstellen Sie ein neues Tool in
app/tools/documents/oderapp/tools/collection/:
from ..base.tool import BaseTool
class MyNewTool(BaseTool):
@property
def name(self) -> str:
return "my_new_tool"
@property
def description(self) -> str:
return "새 도구에 대한 설명"
@property
def input_schema(self) -> Dict[str, Any]:
return {
"type": "object",
"properties": {
# 도구 입력 스키마 정의
}
}
async def execute(self, params: Dict[str, Any]) -> Dict[str, Any]:
# 도구 실행 로직 구현
passRegistrieren Sie das Tool in
app/tools/registry.py:
from .documents.my_new_tool import MyNewTool
# ToolRegistry.__init__ 메서드 내에서
self.register_tool(MyNewTool())Installieren und Bereitstellen von CLI-Tools
Sie können es global verfügbar machen, indem Sie es als Paket auf PyPI registrieren:
# setup.py 확인 후 빌드
python setup.py sdist bdist_wheel
# 패키지 업로드 (PyPI 계정 필요)
twine upload dist/*
# 전역 설치
pip install mongodb-mcp-bridge
# 어디서든 실행 가능
mongodb-mcp-bridgeFehlerbehebung
Wenn der Server nicht startet : Überprüfen Sie die Hilfe mit
mongo-mcp-server --helpMongoDB-Verbindungsproblem : Überprüfen Sie, ob
--mongodb-urlkorrekt istFehler bei der Toolausführung : Überprüfen Sie die Toolimplementierung und die Eingabeparameter
Docker-Problem : Überprüfen Sie die Protokolle mit
docker-compose logs mongo-mcp
Docker-Konfiguration
Die Docker-Konfiguration umfasst:
Python 3.12-Basisimage
Zeitzone Asien/Seoul
MongoDB 4.4-Instanz
Persistente Volumes zur Datenbankspeicherung
Integritätsprüfung für beide Dienste
Automatisierte Netzwerkkonfiguration
Lizenz
Dieses Projekt wird unter der MIT-Lizenz vertrieben – Einzelheiten finden Sie in der Datei LICENSE .
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.