MCP Python 演示教程
一个演示服务器,展示使用Python实现的MCP,包含资源处理、工具操作以及可重用的提示,适用于带有本地数据库的简单用户/帖子系统。
服务介绍
MCP Python 教程
使用简单的本地数据库和模拟数据的MCP Python教程应用
安装与运行
- 克隆此仓库
- 安装依赖项:
pip install -r requirements.txt
- 以开发模式运行MCP服务器:
mcp dev localdb_app.py
- MCP服务器的默认端口是
5173。访问http://localhost:5173。
MCP 特性
此教程应用程序展示了核心的MCP概念。
您可以在tutorial_app/mcp_server.py中查看基于角色的注解:
@mcp.resource
基本上,这个注解是关于代理“获取”资源的,就像RESTAPI中的GET。
users://all- 获取所有用户users://{user_id}/profile- 获取用户的个人资料posts://all- 获取所有帖子posts://{post_id}- 根据ID获取帖子
@mcp.tool
这是关于代理“生成”新资源的,就像RESTAPI中的POST。
create_user- 创建新用户create_post- 创建新帖子search_posts- 根据标题或内容搜索帖子
@mcp.prompt
这只是为了方便与LLM交互而可重用的模板。
user_profile_analysis- 生成用户个人资料分析post_feedback- 互动提示帖子反馈
[!NOTE]
更多注解,请阅读: https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#core-concepts
连接到客户端
一旦设置好MCP服务器,您需要一个LLM客户端来利用您的MCP服务器构建代理。
以下指南将帮助您连接Claude Desktop作为您的客户端。
- Claude Desktop 使用
uv来安装MCP服务器依赖项。首先,安装uv:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- 使用
uv安装MCP服务器依赖项:
# Create virtual environment and activate it
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
- 从以下地址下载Claude Desktop:
- 找到或创建
claude_desktop_config.json文件。文件位置因操作系统而异:
- Windows:
C:\Users\%USER%\AppData\Roaming\Claude\claude_desktop_config.json
- MacOS/Linux:
~/Library/Application\ Support/Claude/claude_desktop_config.json
- 在您的
claude_desktop_config.json中添加mcpServers属性:
{
"mcpServers": {
"local_db": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
"run",
"localdb_app.py"
]
}
}
}
注意:您可以部署多个MCP服务器,每个服务器都有自己的专门职责和专长。
这种职责分离比在单个MCP服务器中实现所有功能要好。
- 重启Claude Desktop。