Token导航 LogoToken导航

MCP Server · 数据服务

Database MCP Server

一个提供连接和操作多种数据库系统的工具的服务,支持SQLite、PostgreSQL、MySQL/MariaDB和SQL Server等数据库。

stdio官方级别未说明来源级核验工具 19
PythonClaude多数据库支持

快速开始

作者 / 组织
georgi-terziyski
提供方
georgi-terziyski
运行时
Python

工具数量

19

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

3 个

MCP World

选型结论

Database MCP Server 属于数据服务类 MCP Server,公开资料标注 19 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 19 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

数据库MCP服务器

一种模型上下文协议(MCP)服务器,提供连接到各种数据库系统并与之交互的工具。

特性

  • 多数据库支持:连接到SQLite、PostgreSQL、MySQL/MariaDB和SQL Server数据库
  • 统一接口:用于跨所有支持的数据库类型进行数据库操作的通用工具
  • 数据库特定扩展:必要时,针对数据库特定功能的特定工具
  • 模式管理:创建、更改和删除表和索引
  • 查询执行:执行原始SQL查询或使用结构化查询工具
  • 事务支持:开始、提交和回滚事务

安装

先决条件

  • Python 3.8或更高版本
  • 所需的Python包(使用pip自动安装):

- SQL炼金术 - 各种数据库驱动程序,具体取决于您要使用的数据库: - SQLite(包含在Python中) - PostgreSQL: psycopg2-binary - MySQL/MariaDB: mysql-connector-python - SQL服务器: pyodbc

从源安装

# Clone the repository
git clone 

# Install the package
pip install -e .

配置

可以使用环境变量、配置文件或在运行时提供连接详细信息来配置服务器。

环境变量

  • DB_CONFIG_PATH:JSON配置文件的路径
  • DB_CONNECTIONS:逗号分隔的连接ID列表或包含连接详细信息的JSON字符串

配置文件格式

{
  "connections": {
    "sqlite_conn": {
      "type": "sqlite",
      "db_path": "/path/to/database.db"
    },
    "postgres_conn": {
      "type": "postgres",
      "host": "localhost",
      "port": 5432,
      "database": "mydatabase",
      "user": "myuser",
      "password": "mypassword"
    }
  }
}

用法

运行服务器

作为Claude的MCP服务器
# Run with default settings
python -m db_mcp_server

# Specify a configuration file
python -m db_mcp_server --config /path/to/config.json

# Set logging level
python -m db_mcp_server --log-level DEBUG
作为独立Web服务器(适用于任何LLM)
# Run as a web server
python -m db_mcp_server.web_server

# Specify host and port
python -m db_mcp_server.web_server --host 0.0.0.0 --port 8000

# Specify configuration file and logging level
python -m db_mcp_server.web_server --config /path/to/config.json --log-level DEBUG

可用的MCP工具

连接管理
  • add_connection:添加新的数据库连接
  • test_connection:测试数据库连接
  • list_connections:列出所有数据库连接
  • remove_connection:删除数据库连接
查询执行
  • execute_query:执行SQL查询
  • get_records:从表中获取记录
  • insert_record:将记录插入表中
  • update_record:更新表中的记录
  • delete_record:从表中删除记录
模式管理
  • list_tables:列出数据库中的所有表
  • get_table_schema:获取表的架构
  • create_table:创建新表
  • drop_table:放下一张桌子
  • create_index:在表上创建索引
  • drop_index:删除索引
  • alter_table:更改表结构
事务管理
  • begin_transaction:开始交易
  • commit_transaction:提交交易
  • rollback_transaction:回滚交易

例子

添加连接

{
  "connection_id": "my_sqlite_db",
  "type": "sqlite",
  "db_path": "/path/to/database.db"
}

执行查询

{
  "connection_id": "my_sqlite_db",
  "query": "SELECT * FROM users WHERE age > ?",
  "params": [21]
}

创建表

{
  "connection_id": "my_sqlite_db",
  "table": "users",
  "columns": [
    {
      "name": "id",
      "type": "INTEGER",
      "primary_key": true,
      "nullable": false
    },
    {
      "name": "name",
      "type": "TEXT",
      "nullable": false
    },
    {
      "name": "email",
      "type": "TEXT",
      "nullable": true
    }
  ]
}

插入记录

{
  "connection_id": "my_sqlite_db",
  "table": "users",
  "data": {
    "name": "John Doe",
    "email": "john@example.com"
  }
}

发展

运行测试

# Run all tests
python -m unittest discover

# Run specific test file
python -m unittest tests.test_sqlite

从其他LLM连接

当作为独立的web服务器运行时,其他LLM(如Llama 3)可以通过HTTP连接到数据库MCP服务器。服务器公开以下端点:

端点

  • /list_tools -GET或POST:返回所有可用工具及其描述和输入模式的列表
  • /call_tool -POST:执行特定的数据库工具

示例:从另一个LLM调用

要将此服务器与另一个LLM一起使用,请让LLM向服务器生成HTTP请求。下面是一个如何为像《Llama 3》这样的LLM构建提示的示例:

You can interact with a database by making HTTP requests to a database service at http://localhost:8000. 
The service provides the following endpoints:

1. To get a list of available tools:
   Make a POST request to: http://localhost:8000/list_tools
   
2. To execute a database tool:
   Make a POST request to: http://localhost:8000/call_tool
   with a JSON body like:
   {
     "name": "tool_name",
     "arguments": {
       "param1": "value1",
       "param2": "value2"
     }
   }

For example, to execute a SQL query, you would make a request like:
POST http://localhost:8000/call_tool
Content-Type: application/json

{
  "name": "execute_query",
  "arguments": {
    "connection_id": "my_db",
    "query": "SELECT * FROM users"
  }
}

用于客户端集成的Python代码示例

import requests
import json

# Base URL of the database MCP server
BASE_URL = "http://localhost:8000"

# List available tools
def list_tools():
    response = requests.post(f"{BASE_URL}/list_tools")
    return response.json()

# Execute a database tool
def call_tool(tool_name, arguments):
    payload = {
        "name": tool_name,
        "arguments": arguments
    }
    response = requests.post(f"{BASE_URL}/call_tool", json=payload)
    return response.json()

# Example: List tables in a database
def list_tables(connection_id):
    return call_tool("list_tables", {"connection_id": connection_id})

# Example: Execute a SQL query
def execute_query(connection_id, query, params=None):
    return call_tool("execute_query", {
        "connection_id": connection_id,
        "query": query,
        "params": params
    })

# Example: Add a new connection
def add_connection(connection_id, db_type, **kwargs):
    args = {"connection_id": connection_id, "type": db_type}
    args.update(kwargs)
    return call_tool("add_connection", args)

许可证

MIT许可证

工具与能力

工具数量

19

资源数量

0

提示词数量

0

能力标签

多数据库支持Python本地部署统一接口模式管理查询执行事务支持

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 19 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 3 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Database MCP Server

MCP World · 本页

19stdio有3 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Database MCP Server 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Database MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Database MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Database MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Database MCP Server 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP