Skip to main content
Glama
TeiNam

MongoDB MCP Server

by TeiNam

MongoDB MCP-сервер

ПитонFastAPIFastMCPMongoDBАнтропныйДокерЛицензия

Мощная реализация сервера 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 /health

  • MCP 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"
      }
    }
  }
}

Доступные инструменты

Название инструмента

объяснение

listCollections

Список всех доступных коллекций в базе данных

find

Извлечение документов из коллекции с использованием синтаксиса запросов MongoDB

insertOne

Вставить один документ в коллекцию

updateOne

Обновить отдельный документ в коллекции

deleteOne

Удалить один документ из коллекции

indexes

Список всех индексов в коллекции

createIndex

Создать новый индекс в коллекции

dropIndex

Удалить существующий индекс из коллекции

Расширенное использование

Добавить пользовательские инструменты

  1. Создайте новый инструмент в 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
  1. Зарегистрируйте инструмент в 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 .

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

Latest Blog Posts

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/TeiNam/mongo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server