MCP 문서 관리

메뉴

MongoDB

MongoDB

MongoDB MCP 서버는 LLM이 MongoDB 데이터베이스와 직접 상호작용할 수 있게 해주는 Model Context Protocol 서버입니다. 이 서버는 컬렉션 스키마 검사와 MongoDB 작업 실행을 위한 표준화된 인터페이스를 제공합니다.

특징

  • 데이터베이스 및 컬렉션 목록 조회 기능
  • 컬렉션 스키마 및 구조 분석
  • 문서 검색 및 필터링(find 작업)
  • 집계 파이프라인(aggregation) 실행
  • 인덱스 관리 및 최적화
  • 문자열 ID와 MongoDB ObjectId 간의 지능적 변환
  • 읽기 전용 모드 지원으로 데이터 무결성 보호
  • Docker 컨테이너 지원
  • MongoDB Atlas 및 MongoDB Community 서버 모두 지원

주요 도구

데이터베이스 탐색 도구

  • listDatabases: 현재 MongoDB 인스턴스의 모든 데이터베이스 목록 조회
  • listCollections: 특정 데이터베이스 내의 모든 컬렉션 목록 조회
  • collectionSchema: 특정 컬렉션의 스키마 구조 분석 및 반환

데이터 조작 도구

  • find: 필터링 및 프로젝션을 사용하여 문서 쿼리
  • aggregate: 복잡한 데이터 분석을 위한 집계 파이프라인 실행
  • count: 조건에 맞는 문서 수 계산
  • findOne: 단일 문서 검색
  • findById: ID를 기준으로 문서 검색

데이터 관리 도구

  • insertOne: 새 문서 삽입
  • updateOne: 기존 문서 업데이트
  • updateMany: 여러 문서 일괄 업데이트
  • deleteOne: 문서 삭제
  • deleteMany: 여러 문서 일괄 삭제

인덱스 관리 도구

  • listIndexes: 컬렉션의 모든 인덱스 목록 조회
  • createIndex: 새 인덱스 생성
  • dropIndex: 기존 인덱스 삭제

설치 및 사용 방법

Claude Desktop 구성

MacOS의 경우:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server",
        "--connectionString",
        "mongodb://username:password@host:port/database"
      ]
    }
  }
}

또는 환경 변수를 사용하는 방법:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server"
      ],
      "env": {
        "MDB_MCP_CONNECTION_STRING": "mongodb://username:password@host:port/database",
        "MDB_MCP_READ_ONLY": "true"
      }
    }
  }
}

읽기 전용 모드 사용

데이터 무결성을 보호하기 위해 읽기 전용 모드를 활성화할 수 있습니다:

{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server",
        "--connectionString",
        "mongodb://username:password@host:port/database",
        "--readOnly"
      ]
    }
  }
}

Docker 컨테이너 사용

docker run -it -d -e MDB_MCP_CONNECTION_STRING="mongodb://username:password@host:port/database" -e MDB_MCP_READ_ONLY="true" mongodb-mcp-server

프롬프트 예시

MongoDB MCP 서버와 상호작용하기 위한 예시 프롬프트:

  1. "데이터베이스에 어떤 컬렉션이 있나요?"
  2. "users 컬렉션의 스키마를 보여주세요"
  3. "샌프란시스코에 있는 모든 사용자를 찾아주세요"
  4. "재고가 있고 1000달러 미만인 모든 전자 제품을 찾아주세요"
  5. "john@example.com 사용자의 모든 주문을 보여주세요"
  6. "평점이 4.5 이상인 제품을 나열해주세요"
  7. "users 컬렉션에 어떤 인덱스가 존재하나요?"
  8. "products 컬렉션의 'category' 필드에 인덱스를 생성해주세요"

연결된 구성 요소

  • Neo4j - 다른 NoSQL 그래프 데이터베이스 서버
  • Elasticsearch - 검색 기능이 있는 NoSQL 데이터베이스 서버
  • Redis - 키-값 저장소 데이터베이스 서버
  • SQLite - 관계형 데이터베이스 서버