本项目是一个使用简单本地数据库和模拟数据的 Python 中的 MCP 教程应用程序,能帮助开发者学习 MCP 在 Python 中的应用。
此教程应用程序演示了 MCP 的核心概念,您可以在tutorial_app/mcp_server.py中查看基于角色的注释,具体功能如下:
@mcp.resource:基本上,这个注解是关于代理“获取”资源,就像 REST API 中的GET一样。
users://all - 获取所有用户users://{user_id}/profile - 获取用户的个人资料posts://all - 获取所有帖子posts://{post_id} - 通过 ID 获取帖子@mcp.tool:这是关于代理“生成”新资源,就像 REST API 中的POST一样。
create_user - 创建新用户create_post - 创建新帖子search_posts - 根据标题或内容搜索帖子@mcp.prompt:这只是方便与 LLM 交互的可重用模板。
user_profile_analysis - 生成用户的个人资料分析post_feedback - 帖子反馈交互式提示⚠️ 重要提示
更多注解,请阅读:https://github.com/modelcontextprotocol/python-sdk?tab=readme-ov-file#核心概念
要通过Smithery自动安装 Claude 桌面版的 Python MCP 教程服务器,可使用以下命令:
npx -y @smithery/cli install @jhj0517/mcp-python-tutorial --client claude
pip install -r requirements.txt
mcp dev localdb_app.py
5173。访问http://localhost:5173。一旦设置了 MCP 服务器,您需要一个 LLM 客户端来使用您的 MCP 服务器构建代理。以下指南将帮助您使用Claude Desktop作为客户端。
uv 安装 MCP 服务器依赖项。首先,安装 uv:powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv 安装 MCP 服务器依赖项:# 创建虚拟环境并激活它
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
claude_desktop_config.json文件。该位置因操作系统而异:
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 服务器中实现一切更好。