Skip to main content
Glama
manpreet2000

MCP Database Server

by manpreet2000

MCP 데이터베이스 서버

대규모 언어 모델(LLM)이 자연어를 통해 다양한 데이터베이스와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. 현재 MongoDB를 지원하며, 향후 다음을 지원할 계획입니다.

  • 포스트그레스큐엘

  • 바퀴벌레DB

  • 레디스

  • 그리고 더 많은 것...

특징

  • 자연어를 통한 데이터베이스 작업

  • 현재 MongoDB를 다음과 같은 기능으로 지원합니다.

    • 모든 컬렉션 나열

    • 필터링 및 프로젝션을 사용한 문서 쿼리

    • 문서 삽입

    • 문서 삭제

    • 집계 파이프라인 작업

  • 다른 데이터베이스에 대한 향후 지원:

    • PostgreSQL: SQL 쿼리, 테이블 작업

    • CockroachDB: 분산 SQL 작업

    • Redis: 키-값 작업, 캐싱

Related MCP server: MongoDB

필수 조건

  • Node.js v20.12.2 이상

  • 데이터베이스(현재 MongoDB, 다른 데이터베이스는 곧 출시 예정)

  • 클로드 데스크톱 애플리케이션

설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:

npm install
  1. TypeScript 코드를 작성합니다.

npm run build

구성

시작하려면 Claude Desktop 구성 파일에서 데이터베이스 연결을 구성해야 합니다.

맥OS

~/Library/Application\ Support/Claude/claude_desktop_config.json

윈도우

%APPDATA%/Claude/claude_desktop_config.json

claude_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 예제

  1. 데이터베이스의 모든 컬렉션을 나열하세요:

Can you show me all the collections in my database?
  1. 컬렉션에서 특정 레코드 가져오기:

Give me 2 records from the chargers collection
  1. 필터가 있는 쿼리:

Show me all documents in the users collection where status is active
  1. 문서 삽입:

Add a new user to the users collection with name John and email john@example.com
  1. 문서 삭제:

Remove the user with email john@example.com from the users collection
  1. 집계 데이터:

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 라이선스 - 자세한 내용은 라이선스를 참조하세요.

Available Tools

5 tools
aggregateD
ParametersJSON Schema
NameRequiredDescriptionDefault
collectionNameYes
pipelineYes
optionsNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deleteOneD
ParametersJSON Schema
NameRequiredDescriptionDefault
collectionNameYes
queryYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getCollectionD
ParametersJSON Schema
NameRequiredDescriptionDefault
collectionNameYes
limitNo
queryNo
projectionNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getCollectionsD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insertOneD
ParametersJSON Schema
NameRequiredDescriptionDefault
collectionNameYes
documentYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedaggregate
    • First observeddeleteOne
    • First observedgetCollection
    • First observedgetCollections
    • First observedinsertOne

TDQS

D1.5/5.0

Scored across 5 tools

Disambiguation4/5

The tools have distinct purposes: aggregate, deleteOne, getCollection, getCollections, and insertOne each target different database operations. However, getCollection and getCollections could potentially be confused due to similar naming and lack of descriptions clarifying their exact differences.

Naming Consistency2/5

Naming is inconsistent with mixed conventions: getCollection and getCollections use camelCase, while deleteOne and insertOne use camelCase with different verb styles, and aggregate stands alone. There is no predictable pattern across all tools.

Tool Count3/5

With 5 tools, the count is reasonable for a database server, but it feels borderline thin for covering full CRUD operations and database management. Key operations like update or query filtering are missing, making the set feel incomplete.

Completeness2/5

The tool set has significant gaps for a database server: it lacks update operations, query filtering tools, and transaction management. While basic insert, delete, and get operations are present, the surface is incomplete for typical database workflows, likely causing agent failures.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that enables LLMs to interact directly with MongoDB databases. Query collections, inspect schemas, and manage data seamlessly through natural language.
    34 npm
    175
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    A Model Context Protocol server that provides access to MongoDB databases. This server enables LLMs to inspect collection schemas and execute read-only queries.
    8
    222 npm
    282
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.
    34 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to interact directly with MongoDB databases, allowing users to query collections, inspect schemas, and manage data through natural language.
    34 npm
    MIT