使用说明
堆栈溢出MCP服务器
这是一个模型上下文协议(MCP)服务器,它提供了从SQL server数据库查询堆栈溢出数据的工具。该项目使用 uv 作为Python包和虚拟环境管理器。
项目设置
以下命令解释了如何设置项目:
1.初始化项目
uv init --name mcp_example --python 3.13 .
此命令在当前目录中初始化一个新的Python项目(.)与名称 mcp_example 并指定应使用Python 3.13。
2.创建虚拟环境
2.1创建指定路径的虚拟环境
uv venv --python /opt/homebrew/bin/python3
2.2在windows、linux和mac上创建虚拟环境
uv venv --python 3.13
使用创建虚拟环境 uv虚拟环境存储在 .venv 目录。
3.激活虚拟环境
source .venv/bin/activate
激活虚拟环境,以便在项目的隔离环境中安装依赖项。
4.安装依赖项
uv add "mcp[cli]"
uv add pyodbc
uv add pydantic
uv add pydantic-settings
安装所需的软件包:
mcp带有用于模型上下文协议的CLI附加功能pyodbc用于SQL Server连接pydantic用于数据验证pydantic-settings用于配置管理
5.调试检查员
npx @modelcontextprotocol/inspector
特性
此MCP服务器包括以下工具:
get_most_viewed_posts:从Stack Overflow数据库中检索查看次数最多的帖子get_last_post_with_activity:从Stack Overflow数据库获取具有活动的最新帖子
建筑
该项目使用干净、现代的架构和Pydantic进行数据验证:
sql_server.py:包含SQLServerConnection类和Pydantic模型main.py:包含MCP服务器和工具定义- Pydantic模型:对所有数据结构进行强大的键入和验证
- 环境变量:支持从环境加载配置
- 上下文管理:使用Python上下文管理器自动清理连接
- 错误处理:具有详细错误消息的全面错误处理
配置
环境变量
创建一个 .env 包含SQL Server配置的文件:
SERVER=localhost
DATABASE=TestDB
USERNAME=your_username
PASSWORD=your_password
PORT=1433
TRUSTED_CONNECTION=false
Pydantic模型
该项目使用Pydantic模型进行数据验证:
SQLServerConfig:带验证的配置QueryRequest:带验证的SQL查询请求QueryResponse:结构化查询响应
SQL Server安装程序
先决条件
您需要安装SQL Server的ODBC驱动程序17:
在 macOS 上:
从下载并安装 Microsoft SQL Server ODBC驱动程序下载页面
在Windows上:
从下载并安装 Microsoft SQL Server ODBC驱动程序下载页面
在Linux上:
从下载并安装 Microsoft SQL Server ODBC驱动程序下载页面
数据库模式
此MCP服务器需要一个包含堆栈溢出数据的SQL server数据库。数据库应至少包含 Posts 表中有以下相关列:
ViewCount:帖子被查看的次数LastActivityDate:帖子上最后一次活动的日期- 其他标准Stack Overflow帖子字段
您可以从以下位置获取堆栈溢出数据转储 堆栈交换数据转储 并将它们导入到SQL Server数据库中。
运行服务器
uv run main.py
服务器将启动并监听MCP客户端连接。