使用说明
MongoDB MCP服务器
强大的Model Context Protocol(MCP)服务器实现,以标准协议的形式提供与MongoDB数据库的无缝交互。
作者
拉斯塔利翁
概述
该MCP服务器实现提供了通过Model Context Protocol与MongoDB数据库进行交互的强大界面。数据库、集合和文档的操作 通过async/await模式和错误处理提供可靠的支持。
特点
- 完全支持MongoDB CRUD操作
- 处理与MongoDB的安全连接
- 异步(async/await)模式以实现最佳性能
- 全面的错误处理
- Docker支持,便于部署
- 运行带有类型提示的查询
- 支持服务器-发送事件(SSE)进行实时更新
快速入门
使用CLI工具
# 저장소 복제
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
通过UVX运行
# UVX가 설치된 경우
uvx mongo-mcp-server
# SSE 트랜스포트 모드
uvx mongo-mcp-server --transport=sse
直接运行Python
# 저장소 복제
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 3000
使用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-mcp
使用UVX
UVX是一种可以在各种环境中轻松管理服务的工具。
# 등록 스크립트에 실행 권한 부여
chmod +x uvx-register.sh
# UVX에 서비스 등록
./uvx-register.sh
# 서비스 시작
uvx start mongo-mcp
# 상태 확인
uvx status mongo-mcp
# 로그 확인
uvx logs mongo-mcp
更多详细信息 UVX指南请参阅。
环境变量
在运行服务器之前,请设置以下环境变量:
# 필수
MONGODB_URL="mongodb://username:password@hostname:port/dbname?authSource=admin"
# 선택 - 기본값 표시
PORT=3000
MCP_TRANSPORT=http # 'http' 또는 'sse'
API端点
- 检查状态:
GET /health - MCP API:
GET /mcp-FastMCP端点(OpenAPI文档) - SSE连接:
GET /sse-Sent Events端点 - 消息处理:
POST /messages-消息处理端点
集成IDE
VS Code设置
在VS Code settings.json中添加以下内容:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "mongodbUri",
"description": "MongoDB 연결 URI"
}
],
"servers": {
"mongodb": {
"command": "mongo-mcp-server",
"args": [
"--mongodb-url",
"$(mongodbUri)"
],
"env": {}
}
}
}
}
Claude或其他AI助手
为Claude或其他AI助手配置MCP服务器:
{
"mcp": {
"servers": {
"mongodb": {
"url": "http://localhost:3000/mcp"
}
}
}
}
可用工具
| 工具名称 | 说明 |
|---|---|
listCollections 查询数据库中所有可用集合的列表 |
|
find |
使用MongoDB查询语法查询集合中的文档 |
insertOne |
在集合中插入单个文档 |
updateOne |
更新集合中的单个文档 |
deleteOne |
从集合中删除单个文档 |
indexes |
查询集合中的所有索引列表 |
createIndex 在集合中创建新索引 |
|
dropIndex |
从集合中删除现有索引 |
高级使用
添加自定义工具
app/tools/documents/或者app/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]:
# 도구 실행 로직 구현
pass
app/tools/registry.py在中注册工具:
from .documents.my_new_tool import MyNewTool
# ToolRegistry.__init__ 메서드 내에서
self.register_tool(MyNewTool())
安装和部署CLI工具
在PyPI中注册为软件包并全局可用:
# setup.py 확인 후 빌드
python setup.py sdist bdist_wheel
# 패키지 업로드 (PyPI 계정 필요)
twine upload dist/*
# 전역 설치
pip install mongodb-mcp-bridge
# 어디서든 실행 가능
mongodb-mcp-bridge
故障排除
- 如果服务器无法启动:
mongo-mcp-server --help通过查看帮助 - MongoDB连接问题:
--mongodb-url验证参数是否正确 - 工具运行错误:验证工具实现和输入参数
- Docker问题:
docker-compose logs mongo-mcp通过日志确认
配置Docker
Docker设置包括:
- Python 3.12基本映像
- 亚洲/首尔타임존
- MongoDB 4.4实例
- 用于数据库存储的永久卷
- 两项服务的健康检查
- 自动化网络配置
许可证
该项目在MIT许可下分发-有关详细信息 许可证 请参考文件。
