Custom Mcp Database

Custom Mcp Database

🚀 MCP 数据库服务器

本项目提供了一个中间件/控制平面(MCP)服务器,允许代码代理(如 Gemini、Claude Desktop 和 Claude Code)安全地对各种数据库(PostgreSQL、MySQL、MongoDB、Oracle)执行查询,而无需直接暴露凭证。数据库连接配置由 SQLite 数据库(mcp_config.sqlite3)管理。

🚀 快速开始

安装项目

按照以下步骤设置项目:

  1. 克隆仓库(若尚未完成):
git clone 
cd custom-mcp-database
  1. 安装依赖: 本项目使用 venv(虚拟环境)来管理依赖。运行以下命令创建虚拟环境并安装所需的 Python 包:
make install

这将创建一个 venv/ 目录,并安装 requirements.txt 中列出的所有内容。

启动 MCP 服务器

使用 make run 命令启动 MCP 服务器:

make run

服务器将启动并监听来自代码代理的传入请求。

📦 安装指南

克隆仓库

git clone 
cd custom-mcp-database

安装依赖

make install

📚 详细文档

数据库配置

数据库连接存储在 mcp_config.sqlite3 中。您可以使用全局 mcp-db 命令(推荐)或本地 main.py 脚本管理这些连接。

添加数据库连接

使用 add-db 命令。所需参数因数据库类型而异。 通用语法(全局命令 - 推荐):

mcp-db add-db --alias <alias> --type <type> [connection_parameters]

替代方法(本地命令):

python main.py add-db --alias <alias> --type <type> [connection_parameters]

示例(全局命令):

  • PostgreSQL
mcp-db add-db --alias pg_dev --type postgres --host localhost --port 5432 --user myuser --password mypassword --dbname mydb
  • MySQL
mcp-db add-db --alias mysql_prod --type mysql --host 192.168.1.10 --port 3306 --user root --password secret --dbname production_db
  • Oracle
mcp-db add-db --alias oracle_test --type oracle --host oracle.example.com --port 1521 --user system --password oraclepass --dbname ORCLPDB1
  • MongoDB
mcp-db add-db --alias mongo_cluster --type mongo --uri "mongodb+srv://user:pass@cluster.mongodb.net/" --dbname myapp_db

删除数据库连接

使用 remove-db 命令和要删除的连接别名: 全局命令:

mcp-db remove-db --alias <alias>

本地命令:

python main.py remove-db --alias <alias>

示例:

mcp-db remove-db --alias pg_dev

获取帮助

如需详细帮助和示例:

mcp-db --help
mcp-db execute-query --help

与代码代理集成

Gemini

MCP 服务器启动(make run)后,Gemini 将自动发现并提供以下工具来与配置的数据库进行交互:

  • list_aliases():列出所有配置的数据库别名。
  • add_database(...):添加新的数据库连接。
  • remove_database(...):删除数据库连接。
  • execute_query(database_alias, query, params, schema):对配置的数据库执行查询。

Gemini 使用示例:

  • 列出别名:
list_aliases()
  • 执行 SQL 查询(PostgreSQL/MySQL/Oracle):
execute_query(database_alias="pg_dev", query="SELECT * FROM users WHERE id = %s;", params={"id": 1})
  • 执行 MongoDB 查询:
execute_query(database_alias="mongo_cluster", query='''{"name": "John Doe"}''', params={"collection": "users"})

Claude Desktop

要与 Claude Desktop 集成,您需要将其 claude_desktop_config.json 文件配置为指向您的 MCP 服务器。在该文件(通常位于 Claude Desktop 配置目录中)中创建或修改一个类似如下的条目:

{
"mcpServers": {
"Custom DB Server": {
"command": "/your-path-to/custom-mcp-database/venv/bin/python",
"args": [
"/your-path-to/custom-mcp-database/main.py"
],
"workingDirectory": "/your-path-to/custom-mcp-database"
}
}
}

重要提示:/your-path-to/custom-mcp-database 替换为 custom-mcp-database 目录的实际绝对路径。 配置完成后,重启 Claude Desktop。MCP 工具随后可在 Claude Desktop 中使用。

AI 代理的工具配置

要使 Claude Code 和 Gemini 等 AI 代理能够自动发现并使用 MCP 服务器的工具,您需要将它们配置为启动或连接到 MCP 服务器。这通常涉及提供 main.py 脚本的路径并指定工作目录。 以下是如何配置 AI 代理的 mcpServers 部分的示例:

Claude Code
{
"mcpServers": {
"Custom DB Server": {
"command": "/your-path-to/custom-mcp-database/venv/bin/python",
"args": [
"/your-path-to/custom-mcp-database/main.py"
],
"workingDirectory": "/your-path-to/custom-mcp-database"
}
}
}
Gemini
{
"mcpServers": {
"Custom DB Server": {
"command": "/your-path-to/custom-mcp-database/venv/bin/python",
"args": [
"/your-path-to/custom-mcp-database/main.py"
],
"workingDirectory": "/your-path-to/custom-mcp-database"
}
}
}

重要提示:/your-path-to/custom-mcp-database 替换为 custom-mcp-database 目录的实际绝对路径。 请参考您特定 AI 代理的官方文档,以获取有关配置外部 MCP 服务器的最准确和最新说明。

💻 使用示例

基础用法

启动服务器

make run

列出数据库别名(Gemini)

list_aliases()

高级用法

执行 SQL 查询(PostgreSQL/MySQL/Oracle - Gemini)

execute_query(database_alias="pg_dev", query="SELECT * FROM users WHERE id = %s;", params={"id": 1})

执行 MongoDB 查询(Gemini)

execute_query(database_alias="mongo_cluster", query='''{"name": "John Doe"}''', params={"collection": "users"})
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 21:30

相似服务问题

相关AI产品