Python-MCPInspector调试V2 (Python)
Python-MCPInspector调试V2 (Python)文章目录Python-MCPInspector调试V2 (Python)前置要求快速开始项目结构已注册的能力Tools工具Resources资源Prompts提示词模板使用 Inspector 调试接入 Claude Desktop生产环境注意事项全量代码2026-07-29-基于 Model Context Protocol (MCP) 的演示服务端Python 版支持 Tools、Resources、Prompts 三大核心能力。MCPInspector调试参考https://blog.csdn.net/2301_77717148/article/details/147881127当前代码github代码仓库地址https://gitee.com/enzoism/python_mcp_inspector前置要求Python ≥ 3.10pip ≥ 21快速开始# 1. 进入项目目录cdmcp-demo-server-py# 2. 创建虚拟环境推荐python-mvenv .venvsource.venv/bin/activate# Linux/macOS# .venv\Scripts\activate # Windows# 3. 安装依赖pipinstall-rrequirements.txt# 或pipinstallmcp# 4. 运行服务python src/server.py项目结构mcp-demo-server-py/ ├── pyproject.toml # 项目配置可选用于打包 ├── requirements.txt # 依赖列表 ├── src/ │ └── server.py # MCP 服务端主代码 └── README.md # 说明文档已注册的能力Tools工具工具名描述参数get_weather获取指定城市天气city: strcalculate安全计算数学表达式expression: strget_current_time获取当前系统时间无Resources资源资源名URI描述app_settingsconfig://app/settings应用配置信息JSONreadmefile://docs/readme项目说明文档Prompts提示词模板模板名描述参数code_review代码审查code,languageerror_analysis错误分析error,context使用 Inspector 调试npx modelcontextprotocol/inspector python src/server.py接入 Claude Desktop在 Claude Desktop 配置文件~/Library/Application Support/Claude/claude_desktop_config.json中添加{mcpServers:{demo-server-py:{command:python,args:[/absolute/path/to/mcp-demo-server-py/src/server.py]}}}注意使用绝对路径且确保 Python 环境已安装mcp包。生产环境注意事项安全性严格校验所有入参限制文件读取目录禁用eval等危险方法性能优化所有工具函数使用async避免阻塞事件循环可维护性工具、资源描述清晰具体完善错误提示版本兼容依托 SDK 自动完成协议版本协商全量代码 MCP Demo Server (Python) 基于 mcp Python SDK 实现支持 Tools、Resources、Prompts 三大核心能力。 frommcp.server.fastmcpimportFastMCP# 初始化 MCP 服务实例mcpFastMCP(demo-server)# # 1. 注册工具能力天气查询、数学计算、时间获取# mcp.tool()asyncdefget_weather(city:str)-str:获取指定城市的当前天气信息 Args: city: 城市名称如 北京 mock_data{北京:{temp:22°C,weather:晴,humidity:45%},上海:{temp:25°C,weather:多云,humidity:60%},深圳:{temp:28°C,weather:阵雨,humidity:80%},}datamock_data.get(city)ifdata:returnf城市:{city}\n温度:{data[temp]}\n天气:{data[weather]}\n湿度:{data[humidity]}returnf未找到城市 {city} 的天气数据mcp.tool()asyncdefcalculate(expression:str)-str:安全地计算数学表达式 Args: expression: 数学表达式如 2 3 * 4 allowed_charsset(0123456789-*/().% )ifnotall(cinallowed_charsforcinexpression):return错误表达式包含不允许的字符try:# 使用受限的 eval 环境只允许数学运算resulteval(expression,{__builtins__:{}},{})returnstr(result)exceptExceptionase:returnf计算错误{e}mcp.tool()asyncdefget_current_time()-str:获取当前系统时间fromdatetimeimportdatetime nowdatetime.now()returnnow.strftime(%Y-%m-%d %H:%M:%S)# # 2. 注册资源能力应用配置读取、本地文件读取# mcp.resource(config://app/settings)asyncdefapp_settings()-str:获取应用配置信息importjson config{app_name:Demo MCP Server,version:1.0.0,features:{weather:True,calculator:True,file_reader:True},max_file_size_mb:10,}returnjson.dumps(config,indent2,ensure_asciiFalse)mcp.resource(file://docs/readme)asyncdefreadme()-str:项目说明文档return这是一个基于 MCP 协议的演示服务端Python版支持天气查询、数学计算、代码审查等功能。# # 3. 注册提示词模板代码审查、错误分析# mcp.prompt()defcode_review(code:str,language:strpython)-str:代码审查提示词 Args: code: 待审查的代码 language: 编程语言默认为 python return(f请对以下{language}代码进行审查f从代码质量、潜在Bug、性能、安全性、最佳实践五个维度给出评价和优化建议\nf{language}\n{code}\n)mcp.prompt()deferror_analysis(error:str,context:str)-str:错误分析提示词 Args: error: 错误信息或堆栈跟踪 context: 相关上下文代码 promptf请分析以下错误信息给出可能的原因和解决方案\n\n错误信息\n\n{error}\nifcontext:promptf\n\n相关代码\n\n{context}\nreturnprompt# # 启动服务采用 stdio 本地传输模式# if__name____main__:mcp.run(transportstdio)**

相关新闻

千笔AI:科研写作智能助手的功能解析与应用技巧

千笔AI:科研写作智能助手的功能解析与应用技巧

1. 千笔AI:科研工作者的智能写作革命第一次在实验室深夜赶论文时遇到千笔AI,那种感觉就像突然多了一位24小时在线的学术助手。这个工具彻底改变了我处理文献综述、论文框架和学术写作的方式——它不仅能快速生成符合学术规范的初稿,还能精准定…

2026/10/30 5:03:25 阅读更多 →
深度学习图像数据挖掘文档 《垃圾图像自动分类》 312(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

深度学习图像数据挖掘文档 《垃圾图像自动分类》 312(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

深度学习图像数据挖掘文档 《垃圾图像自动分类》 312(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 模型采用Inception V3 包括代码报告数据

2026/10/25 12:12:37 阅读更多 →
UE5项目现代C++实践:智能指针、Lambda与移动语义优化

UE5项目现代C++实践:智能指针、Lambda与移动语义优化

1. 项目概述:为什么要在UE5项目中谈现代C?如果你是一个从UE4时代走过来的开发者,或者刚接触UE5不久,看到“现代C”这个词可能会有点懵。引擎本身不是已经封装好了蓝图和一套成熟的C API吗?为什么还要折腾C11/14/17甚至…

2026/10/31 23:32:13 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/2 0:25:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/1 10:36:53 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/1 10:36:51 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/1 1:06:58 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/1 10:35:11 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/1 9:35:41 阅读更多 →

日新闻

周新闻

月新闻