Token导航 LogoToken导航

MCP Server · 数据服务

SQL MCP Server (sql-mcp-server)

通过对话式AI界面提供SQL数据库交互工具,支持查询、表结构查看、非查询操作等功能。

stdio官方级别未说明来源级核验工具 6
SQL查询数据操作Python数据分析自然语言处理

快速开始

作者 / 组织
dennismartis
提供方
dennismartis
运行时
Python

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

3 个

MCP World

选型结论

SQL MCP Server (sql-mcp-server) 属于数据服务类 MCP Server,公开资料标注 6 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

仅本地运行

安装与配置

安装命令

pip install pyodbc asyncio fastmcp

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

MCP SQL Server

FastMCP服务器,通过对话式AI接口提供SQL数据库交互工具。

概述

该项目创建了一个服务器,通过会话式AI接口公开MS SQL server操作。它使用FastMCP框架提供查询和操作SQL数据的工具,允许用户使用自然语言与数据库交互。

特性

  • 执行SQL查询并查看结果
  • 列出数据库中的可用表
  • 用列信息描述表结构
  • 执行非查询操作(INSERT、UPDATE、DELETE)
  • 列出系统上可用的ODBC驱动程序
  • 查看数据库信息和服务器详细信息

需求

  • Python 3.7+
  • pyodbc
  • 异步IO
  • FastMCP框架
  • Microsoft SQL Server
  • SQL Server的ODBC驱动程序17

安装

  1. 安装Python依赖项:
pip install pyodbc asyncio fastmcp
  1. 确保已安装Microsoft SQL Server和用于SQL Server的ODBC驱动程序17。
  1. 在脚本中配置连接设置:
# Connection parameters
SERVER = "server\\instance"  # Change to your SQL Server instance
DATABASE = "db_name"              # Change to your database name

用法

运行服务器:

python mcp_sql_server.py

服务器将初始化并建立与指定SQL server数据库的连接。

可用工具

查询sql

执行SQL查询并返回结果。

query_sql(query: str = None) -> str
  • 如果没有提供查询,则默认为 SELECT * FROM [dbo].[Table_1]
  • 以格式化字符串的形式返回查询结果

list_tables

列出数据库中所有可用的表。

list_tables() -> str
  • 以字符串形式返回表名列表

describe_table

获取特定表的结构。

describe_table(table_name: str) -> str
  • table_name:要描述的表的名称
  • 返回列信息,包括名称和数据类型

execute_nonquery

执行INSERT、UPDATE、DELETE或其他非查询SQL语句。

execute_nonquery(sql: str) -> str
  • sql:要执行的SQL语句
  • 返回操作结果,包括受影响的行数
  • 自动处理事务(提交/回滚)

list_odbc_驱动程序

列出系统上所有可用的ODBC驱动程序。

list_odbc_drivers() -> str
  • 返回已安装ODBC驱动程序的逗号分隔列表

数据库信息

获取有关连接的数据库的一般信息。

database_info() -> str
  • 返回服务器名称、数据库名称、SQL server版本、当前服务器时间和表计数

建筑

服务器使用异步架构来避免阻塞操作:

  1. 生命周期管理:The app_lifespan 上下文管理器处理数据库连接的建立和断开。
  1. 非阻塞操作:数据库操作在单独的线程中运行,使用 asyncio.get_event_loop().run_in_executor() 以防止阻塞主事件循环。
  1. 错误处理:所有操作都包括全面的错误处理和有用的错误消息。

错误处理

服务器处理各种错误情况:

  • 数据库连接失败
  • SQL查询语法错误
  • 表中未找到错误
  • 许可相关问题

所有错误都会被记录下来,并向客户端返回相应的错误消息。

定制

要添加新的数据库工具或修改现有的数据库工具,请遵循现有工具中使用的模式:

@mcp.tool()
async def your_new_tool(ctx: Context, param1: str) -> str:
    """Documentation for your tool"""
    try:
        conn = ctx.request_context.lifespan_context["conn"]
        
        if conn is None:
            return "Database connection is not available."
            
        def your_db_operation():
            # Your database operations here
            pass
            
        loop = asyncio.get_event_loop()
        result = await loop.run_in_executor(None, your_db_operation)
        
        # Process and return results
        return "Your result"
    except Exception as e:
        return f"Error: {str(e)}"

安全考虑

  • 服务器使用Windows身份验证(“Trusted_Connection=yes”)
  • 考虑对SQL查询实施输入验证,以防止SQL注入
  • 基于最小权限原则限制数据库用户权限

故障排除

常见问题:

  1. 连接错误:验证SQL Server实例名称并确保其正在运行
  2. ODBC驱动程序错误:确认已安装SQL Server的ODBC驱动程序17
  3. 权限错误:检查运行应用程序的Windows用户是否具有适当的SQL Server权限

许可证

\[您的许可证信息\]

联系

\[您的联系方式\]

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

SQL查询Python本地部署数据库管理自然语言处理AI接口数据操作

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

典型使用场景

用自然语言查库

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

数据巡检

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

打通业务数据

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

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 3 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
SQL MCP Server (sql-mcp-server)

MCP World · 本页

6stdio有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 条

SQL MCP Server (sql-mcp-server) 怎么安装?

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

SQL MCP Server (sql-mcp-server) 怎么在 Claude Desktop、Cursor 里配置?

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

SQL MCP Server (sql-mcp-server) 收费吗?

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

SQL MCP Server (sql-mcp-server) 需要 API Key 吗?

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

SQL MCP Server (sql-mcp-server) 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP