Cover image
Try Now
2025-03-24

Mirror ofhttps://github.com/manpreet2000/mcp-database-server

3 years

Works with Finder

0

Github Watches

0

Github Forks

0

Github Stars

MCP Database Server

A Model Context Protocol (MCP) server implementation that allows Large Language Models (LLMs) to interact with various databases through natural language. Currently supports MongoDB, with plans to support:

  • PostgreSQL
  • CockroachDB
  • Redis
  • And more...

Features

  • Database operations through natural language
  • Currently supports MongoDB with features:
    • List all collections
    • Query documents with filtering and projection
    • Insert documents
    • Delete documents
    • Aggregate pipeline operations
  • Future support for other databases:
    • PostgreSQL: SQL queries, table operations
    • CockroachDB: Distributed SQL operations
    • Redis: Key-value operations, caching

Prerequisites

  • Node.js v20.12.2 or higher
  • Database (currently MongoDB, other databases coming soon)
  • Claude Desktop Application

Installation

  1. Clone the repository:
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
  1. Install dependencies:
npm install
  1. Build the TypeScript code:
npm run build

Configuration

To get started, you need to configure your database connection in your Claude Desktop configuration file:

MacOS

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

Windows

%APPDATA%/Claude/claude_desktop_config.json

Add the following configuration to your 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"
      }
    }
  }
}

Replace:

  • /path/to/node with your Node.js executable path or just use node
  • /path/to/mcp-database with the absolute path to this repository
  • your-mongodb-connection-string with your MongoDB connection URL

Usage Examples

MongoDB Examples

  1. List all collections in your database:
Can you show me all the collections in my database?
  1. Get specific records from a collection:
Give me 2 records from the chargers collection
  1. Query with filters:
Show me all documents in the users collection where status is active
  1. Insert a document:
Add a new user to the users collection with name John and email john@example.com
  1. Delete a document:
Remove the user with email john@example.com from the users collection
  1. Aggregate data:
Show me the total count of users by status in the users collection

Available Tools

1. getCollections

Lists all collections in the connected database.

2. getCollection

Retrieves documents from a collection with optional query parameters:

  • collectionName: Name of the collection
  • limit: Maximum number of documents to return (default: 10, max: 1000)
  • query: MongoDB query object
  • projection: Fields to include/exclude

3. insertOne

Inserts a single document into a collection:

  • collectionName: Name of the collection
  • document: Document object to insert

4. deleteOne

Deletes a single document from a collection:

  • collectionName: Name of the collection
  • query: Query to match the document to delete

5. aggregate

Executes an aggregation pipeline:

  • collectionName: Name of the collection
  • pipeline: Array of aggregation stages
  • options: Optional aggregation options

Future Database Support

PostgreSQL

  • SQL query execution
  • Table operations
  • Schema management
  • Transaction support

CockroachDB

  • Distributed SQL operations
  • Multi-region support
  • Transaction management
  • Schema operations

Redis

  • Key-value operations
  • Caching mechanisms
  • Pub/sub operations
  • Data structure operations

Security

  • Never commit your database connection strings to version control
  • Use environment variables for sensitive information
  • Follow database-specific security best practices

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

License

MIT License - See LICENSE for details

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Yusuf Emre Yeşilyurt
  • I find academic articles and books for research and literature reviews.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Carlos Ferrin
  • Encuentra películas y series en plataformas de streaming.

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://zenepic.net
  • Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.

  • https://reddgr.com
  • Delivers concise Python code and interprets non-English comments

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • zhaoyunxing92
  • 本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

  • justmywyw
  • Short and sweet example MCP server / client implementation for Tools, Resources and Prompts.

    Reviews

    2 (1)
    Avatar
    user_JIxI3hlu
    2025-04-16

    I've been using Paperless MCP - Document Management System by PDangelmaier and it's been a game-changer for organizing my digital documents. The intuitive interface and robust features make document management seamless and efficient. Highly recommend this for anyone looking to go paperless!