MCP 데이터베이스 서버
대규모 언어 모델(LLM)이 자연어를 통해 다양한 데이터베이스와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 현재 MongoDB를 지원하며, 향후 다음을 지원할 계획입니다.
포스트그레스큐엘
바퀴벌레DB
레디스
그리고 더 많은 것...
특징
자연어를 통한 데이터베이스 작업
현재 MongoDB를 다음과 같은 기능으로 지원합니다.
모든 컬렉션 나열
필터링 및 프로젝션을 사용한 문서 쿼리
문서 삽입
문서 삭제
집계 파이프라인 작업
다른 데이터베이스에 대한 향후 지원:
PostgreSQL: SQL 쿼리, 테이블 작업
CockroachDB: 분산 SQL 작업
Redis: 키-값 작업, 캐싱
Related MCP server: MongoDB
필수 조건
Node.js v20.12.2 이상
데이터베이스(현재 MongoDB, 다른 데이터베이스는 곧 출시 예정)
클로드 데스크톱 애플리케이션
설치
저장소를 복제합니다.
지엑스피1
종속성 설치:
npm installTypeScript 코드를 작성합니다.
npm run build구성
시작하려면 Claude Desktop 구성 파일에서 데이터베이스 연결을 구성해야 합니다.
맥OS
~/Library/Application\ Support/Claude/claude_desktop_config.json윈도우
%APPDATA%/Claude/claude_desktop_config.jsonclaude_desktop_config.json 에 다음 구성을 추가하세요.
{
"mcpServers": {
"database": {
"command": "/path/to/node",
"args": ["/path/to/mcp-database/dist/index.js"],
"env": {
"MONGODB_URI": "your-mongodb-connection-string"
}
}
}
}바꾸다:
/path/to/node에 Node.js 실행 파일 경로를 추가하거나node만 사용하세요./path/to/mcp-database이 저장소에 대한 절대 경로입니다.your-mongodb-connection-string
사용 예
MongoDB 예제
데이터베이스의 모든 컬렉션을 나열하세요:
Can you show me all the collections in my database?컬렉션에서 특정 레코드 가져오기:
Give me 2 records from the chargers collection필터가 있는 쿼리:
Show me all documents in the users collection where status is active문서 삽입:
Add a new user to the users collection with name John and email john@example.com문서 삭제:
Remove the user with email john@example.com from the users collection집계 데이터:
Show me the total count of users by status in the users collection사용 가능한 도구
1. 컬렉션 가져오기
연결된 데이터베이스에 있는 모든 컬렉션을 나열합니다.
2. 컬렉션 가져오기
선택적 쿼리 매개변수를 사용하여 컬렉션에서 문서를 검색합니다.
collectionName: 컬렉션의 이름limit: 반환할 문서의 최대 개수(기본값: 10, 최대값: 1000)query: MongoDB 쿼리 객체projection: 포함/제외할 필드
3. insertOne
컬렉션에 단일 문서를 삽입합니다.
collectionName: 컬렉션의 이름document: 삽입할 문서 객체
4. 삭제 하나
컬렉션에서 단일 문서를 삭제합니다.
collectionName: 컬렉션의 이름query: 삭제할 문서와 일치하는 쿼리
5. 집합체
집계 파이프라인을 실행합니다.
collectionName: 컬렉션의 이름pipeline: 집계 단계의 배열options: 선택적 집계 옵션
향후 데이터베이스 지원
포스트그레스큐엘
SQL 쿼리 실행
테이블 작업
스키마 관리
거래 지원
바퀴벌레DB
분산 SQL 작업
다중 지역 지원
거래 관리
스키마 작업
레디스
키-값 연산
캐싱 메커니즘
Pub/sub 작업
데이터 구조 작업
보안
데이터베이스 연결 문자열을 버전 제어에 커밋하지 마십시오.
민감한 정보에는 환경 변수를 사용하세요
데이터베이스별 보안 모범 사례를 따르세요
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요. 주요 변경 사항의 경우, 먼저 이슈를 열어 변경 사항을 논의해 주세요.
특허
MIT 라이선스 - 자세한 내용은 라이선스를 참조하세요.