MongoDB MCP-сервер
Мощная реализация сервера Model Context Protocol (MCP), обеспечивающая бесперебойное взаимодействие с базами данных MongoDB по стандартизированному протоколу.
Автор
Расталион
Related MCP server: MongoDB
контур
Данная реализация сервера MCP предоставляет мощный интерфейс для взаимодействия с базой данных 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Использование Докера
# 저장소 복제
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 /healthMCP API :
GET /mcp— конечная точка FastMCP (документация OpenAPI)SSE-соединение :
GET /sse— конечная точка событий, отправленных серверомОбработка сообщений :
POST /messages— конечная точка обработки сообщений
Интеграция с IDE
Настройки VS-кода
Добавьте следующее в файл settings.json VS Code:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "mongodbUri",
"description": "MongoDB 연결 URI"
}
],
"servers": {
"mongodb": {
"command": "mongo-mcp-server",
"args": [
"--mongodb-url",
"$(mongodbUri)"
],
"env": {}
}
}
}
}Клод или другой помощник с искусственным интеллектом
Настройте свой MCP-сервер для Клода или других помощников на основе искусственного интеллекта следующим образом:
{
"mcp": {
"servers": {
"mongodb": {
"url": "http://localhost:3000/mcp"
}
}
}
}Доступные инструменты
Название инструмента | объяснение |
| Список всех доступных коллекций в базе данных |
| Извлечение документов из коллекции с использованием синтаксиса запросов MongoDB |
| Вставить один документ в коллекцию |
| Обновить отдельный документ в коллекции |
| Удалить один документ из коллекции |
| Список всех индексов в коллекции |
| Создать новый индекс в коллекции |
| Удалить существующий индекс из коллекции |
Расширенное использование
Добавить пользовательские инструменты
Создайте новый инструмент в
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 включает в себя:
Базовый образ Python 3.12
Часовой пояс Азия/Сеул
Экземпляр MongoDB 4.4
Постоянные тома для хранения базы данных
Проверка работоспособности обеих служб
Автоматическая настройка сети
Лицензия
Данный проект распространяется по лицензии MIT — подробности см. в файле 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.