Token导航 LogoToken导航TokenDH.com
MCP Database Query logo
数据服务stdio官方级别未说明来源级核验

MCP Database Query

MCP Server

一个强大的模型上下文协议(MCP)服务器,提供通用的数据库查询和自省工具,支持MySQL、PostgreSQL和MongoDB等多种数据库。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
数据分析Python多数据库支持

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

linlaz

提供方

linlaz

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python main.py

详细介绍

MCP数据库查询

一个功能强大的模型上下文协议(MCP)服务器,提供通用的数据库查询和自检工具。该服务器支持MySQL、PostgreSQL和MongoDB等多个数据库,通过统一的接口实现无缝的数据库操作。

特性

  • 🔌 多数据库支持:适用于MySQL、PostgreSQL和MongoDB
  • 🔍 表反思:获取有关表结构和模式的详细信息
  • 📊 数据库检查:列出数据库中的所有数据库和表
  • 查询执行:执行SQL查询和MongoDB操作
  • 🔐 安全连接:支持经过身份验证的数据库连接
  • 📦 FastMCP集成:基于FastMCP构建,用于可靠的MCP服务器实施

支持的数据库

  • MySQL:通过 mysql-connector-python
  • PostgreSQL:通过 psycopg2-binary
  • MongoDB:通过 pymongo

安装

先决条件

  • Python 3.10或更高版本
  • pip包管理器
  • 目标数据库的访问凭据

设置

  1. 克隆存储库
git clone https://github.com/linlaz/mcp-database-query.git
cd mcp-database-query
  1. 使用uv安装依赖项
uv sync

uv 包管理器将根据以下内容自动处理虚拟环境创建和依赖关系安装 pyproject.toml.

  1. 使用uv运行命令

使用 uv run 执行Python脚本:

uv run python main.py

或者激活由uv创建的虚拟环境:

source .venv/bin/activate
# or
.venv\Scripts\activate 

配置

创建一个 .env 项目根目录中的文件:

APP_NAME=mcp-database-query
APP_PORT=5000

您可以在使用此MCP服务器的客户端应用程序中配置数据库连接。

用法

启动服务器

使用 uv run:

uv run python main.py

或者,如果您激活了虚拟环境:

python main.py

服务器将在您的 .env 文件(默认值:5000)使用HTTP传输。

可用工具

1. 列出数据库

列出连接的数据库服务器上的所有可用数据库。

参数:

  • engine:数据库类型("mysql", "postgres",或 "mongo")

例子:

List all databases on MySQL server

2. 列表表格

列出特定数据库中的所有表/集合。

参数:

  • engine:数据库类型
  • databaseOrSchemaName (可选):特定数据库/模式名称

例子:

Show all tables in the "users_db" database

3. 描述表

检索特定表或MongoDB集合的架构和结构信息。

参数:

  • engine:数据库类型
  • table:表或集合名称

退货:

  • 列名和数据类型
  • 约束和指标
  • 默认值
  • 无效状态

例子:

Get the structure of the "users" table

4. 运行查询

执行SQL查询(MySQL/PostgreSQL)或MongoDB操作。

参数:

  • engine:数据库类型
  • query:SQL查询或MongoDB操作
  • 根据需要提供其他连接参数

支持的操作:

SQL(MySQL/PostgreSQL):

  • SELECT语句
  • 插入语句
  • 更新语句
  • DELETE语句

MongoDB:

  • find(),findOne()
  • counts文档()
  • 聚合()
  • insertOne(),insertMany()
  • Updateoneggin)、updatemanyyas)
  • deleteOne()、deleteMany()
  • distinct()

SQL查询示例:

SELECT * FROM users WHERE status = 'active' LIMIT 10

MongoDB查询示例:

users.find({"status": "active"}).limit(10)

项目结构

mcp-database-query/
├── main.py                 # Entry point for the MCP server
├── pyproject.toml         # Project configuration and dependencies
├── README.md              # This file
├── .env                   # Configuration file (create this)
└── src/
    ├── connections/       # Database connection handlers
    │   ├── mongodb.py
    │   ├── mysql.py
    │   └── postgresql.py
    ├── helpers/          # Query execution helpers
    │   ├── mongodb_execute.py
    │   ├── mysql_execute.py
    │   └── postgresql_execute.py
    └── tools/            # MCP tool implementations
        ├── describe_table.py
        ├── list_databases.py
        ├── list_tables.py
        └── run_query.py

建筑

该项目实现了模型上下文协议(MCP)规范,使AI助手和其他应用程序能够安全地与数据库交互。该架构遵循模块化设计:

  • 连接层:处理特定于数据库的连接逻辑
  • 执行层:执行查询并返回格式化结果
  • 工具层:将数据库操作作为MCP工具公开
  • 服务器层:FastMCP服务器管理所有工具和客户端通信

错误处理

该服务器包括全面的错误处理功能,用于:

  • 连接失败
  • 无效查询
  • 身份验证错误
  • 数据库特定错误

安全考虑

  • 凭证:将敏感凭据存储在 .env 文件,永远不要将其提交到版本控制中
  • 查询验证:执行前始终验证和净化用户输入
  • 最小特权:使用具有最低所需权限的数据库帐户
  • 网络安全:部署时限制服务器访问受信任的网络

依赖项

  • fastmcp:模型上下文协议服务器框架
  • mysql连接器python:MySQL数据库驱动程序
  • psycopg2二进制:PostgreSQL数据库驱动程序
  • 皮蒙哥语:MongoDB数据库驱动程序
  • python dotenv:环境变量管理

目录标签

目录标签

数据分析Python多数据库支持数据库查询本地部署表结构自省SQL执行MongoDB操作

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP