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

Python MSSQL MCP Server

MCP Server

一个基于Python的Model Context Protocol服务器实现,提供对Microsoft SQL Server数据库的标准化访问接口,支持表结构检查和SQL查询执行。

工具数

0

提示词数

0

GitHub Stars

26

资源数

0
数据库连接数据验证PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

amornpan

提供方

amornpan

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

Python MSSQL MCP服务器

](https://github.com/amornpan/py-mcp-mssql) ![Python](https://www.python.org) ![MCP](https://github.com/modelcontextprotocol) ![FastAPI](https://fastapi.tiangolo.com) ![License](LICENSE)

Python中的模型上下文协议服务器实现,提供对Microsoft SQL server数据库的访问。此服务器使语言模型能够通过标准化的接口检查表模式并执行SQL查询。

特性

核心功能

  • 使用Python的异步操作 asyncio
  • 基于环境的配置使用 python-dotenv
  • 综合测井系统
  • 通过pyodbc进行连接池和管理
  • 错误处理和恢复
  • 针对API端点的FastAPI集成
  • 用于数据验证的Pydantic模型
  • 使用ODBC驱动程序处理MSSQL连接

先决条件

  • Python 3.x
  • 所需的Python包:

- pyodbc - 媒染剂 - python dotenv - mcp服务器

  • SQL Server的ODBC驱动程序17

安装

git clone https://github.com/amornpan/py-mcp-mssql.git
cd py-mcp-mssql
pip install -r requirements.txt

截图

MCP MSSQL Server Demo

上面的屏幕截图演示了与Claude一起使用的服务器,用于分析和可视化SQL数据。

项目结构

PY-MCP-MSSQL/
├── src/
│   └── mssql/
│       ├── __init__.py
│       └── server.py
├── tests/
│   ├── __init__.py
│   ├── test_mssql.py
│   └── test_packages.py
├── .env
├── .env.example
├── .gitignore
├── README.md
└── requirements.txt

目录结构说明

  • src/mssql/ -主源代码目录

- __init__.py -包初始化 - server.py -主服务器实现

  • tests/ -测试文件目录

- __init__.py -测试包初始化 - test_mssql.py -MSSQL功能测试 - test_packages.py -包依赖性测试

  • .env -环境配置文件(非git格式)
  • .env.example -环境配置示例
  • .gitignore -Git忽略规则
  • README.md -项目文件
  • requirements.txt -项目依赖关系

配置

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

MSSQL_SERVER=your_server
MSSQL_DATABASE=your_database
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
MSSQL_DRIVER={ODBC Driver 17 for SQL Server}

API实现详细信息

资源列表

@app.list_resources()
async def list_resources() -> list[Resource]
  • 列出数据库中的所有可用表
  • 返回URI格式为的表名 mssql:///data
  • 包括表描述和MIME类型

资源阅读

@app.read_resource()
async def read_resource(uri: AnyUrl) -> str
  • 从指定表读取数据
  • 接受以下格式的URI mssql:///data
  • 返回CSV格式的前100行
  • 包括列标题

SQL执行

@app.call_tool()
async def call_tool(name: str, arguments: dict) -> list[TextContent]
  • 执行SQL查询
  • 支持SELECT和修改查询
  • 以CSV格式返回SELECT查询的结果
  • 返回修改查询的受影响行数

使用Claude Desktop

添加到您的Claude Desktop配置中:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mssql": {
      "command": "python",
      "args": [
        "server.py"
      ],
      "env": {
        "MSSQL_SERVER": "your_server",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DRIVER": "{ODBC Driver 17 for SQL Server}"
      }
    }
  }
}

错误处理

服务器为以下对象实现了全面的错误处理:

  • 数据库连接失败
  • SQL查询无效
  • 资源访问错误
  • URI验证
  • 工具执行错误

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

安全功能

  • 基于环境变量的配置
  • 连接字符串安全
  • 结果集大小限制
  • 通过Pydantic进行输入验证
  • 正确的SQL查询处理

联系方式

阿莫伦潘Phornchaicharoen

![Email](mailto:amornpan@gmail.com) ![LinkedIn](https://www.linkedin.com/in/amornpan/) ![HuggingFace](https://huggingface.co/amornpan) ](https://github.com/amornpan)

如果您对这个项目有任何疑问或想合作,请随时与我联系!

______________________________________________________________________

*由以下材料制成❤️ 作者Amornpan Phornchaicharoen*

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

作者

阿莫伦潘Phornchaicharoen

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

需求

创建一个 requirements.txt 文件包含:

fastapi>=0.104.1
pydantic>=2.10.6
uvicorn>=0.34.0 
python-dotenv>=1.0.1
pyodbc>=4.0.35
anyio>=4.5.0
mcp==1.2.0

这些版本已经过测试和验证,可以协同工作。关键组件包括:

  • fastapiuvicorn 用于API服务器
  • pydantic 用于数据验证
  • pyodbc 用于SQL Server连接
  • mcp 用于模型上下文协议实现
  • python-dotenv 用于环境配置
  • anyio 用于异步I/O支持

致谢

  • ODBC驱动程序的Microsoft SQL Server团队
  • Python pyodbc维护者
  • 模型上下文协议社区
  • python dotenv项目的贡献者

目录标签

目录标签

数据库连接数据验证PythonClaude本地部署SQL查询FastAPI集成异步操作

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP