> 技术文档 > python如何使用MCP_python mcp

python如何使用MCP_python mcp


一、环境搭建

  1. 安装依赖

    • Python环境:需Python 3.10+,推荐使用虚拟环境(如venvconda)。
      python -m venv mcp-envsource mcp-env/bin/activate Linux/Macpip install mcp fastapi uvicorn 安装SDK及Web框架
    • Node.js环境(可选):用于开发JavaScript服务器
      npm install @modelcontextprotocol/sdk
  2. 客户端工具

    • 支持MCP的AI应用:如Claude Desktop、Cursor、Cline(VS Code插件)等,需确保版本支持MCP协议。

二、服务器开发

  1. Python示例(基础工具开发)
from mcp.server.fastmcp import FastMCPmcp = FastMCP(\"天气查询服务\")@mcp.tool()def get_weather(city: str) -> str: \"\"\"获取指定城市的天气信息\"\"\" 实际开发中需调用天气API(此处模拟数据) return f\"{city}今日晴,28℃\"if __name__ == \"__main__\": mcp.run(transport=\"stdio\") 本地调试模式
  • 关键点:
    • 使用@mcp.tool()装饰器定义工具函数,函数需返回JSON序列化兼容的数据。
    • 通过transport参数选择通信方式(stdio本地、sse远程HTTP)。
  1. Node.js示例(数据库集成)
import { Server } from \"@modelcontextprotocol/sdk/server\";const server = new Server({ name: \"MongoDB查询服务\", version: \"1.0.0\"});server.defineTool({ name: \"query_orders\", description: \"查询订单数据\", inputSchema: { type: \"object\", properties: { status: { type: \"string\" } } }, handler: async (args) => { // 连接MongoDB并执行查询 return { results: [\"订单1\", \"订单2\"] }; }});server.start();

三、客户端配置

  1. Cursor配置

    • 打开Cursor的Settings > MCP Servers,添加服务器配置:
      { \"mcpServers\": { \"weather\": { \"command\": \"python\", \"args\": [\"weather_server.py\"] } }}
    • 重启后,在对话框输入“北京天气如何?”即可触发工具调用。
  2. VS Code Cline插件配置

    • 安装Cline扩展,进入Settings > MCP Servers,添加Node.js服务器:
      { \"mcpServers\": { \"github\": { \"command\": \"node\", \"args\": [\"github_mcp_server.js\"] } }}

四、实际应用场景

  1. 数据库查询
  • 步骤:
    1. 安装MCP数据库服务器(如PostgreSQL适配器):
      npx @modelcontextprotocol/server-postgres postgresql://user:pass@localhost/db
    2. 在Claude中提问:“显示金额最高的订单”。
    3. 服务器自动生成SQL并返回结果。
  1. 文件系统操作
  • 示例:在Cursor中调用文件列表工具:
    @mcp.tool()def list_desktop_files() -> list: \"\"\"获取桌面文件列表\"\"\" return os.listdir(os.path.expanduser(\"~/Desktop\"))

    用户输入“我的桌面有哪些文件?”即可获取结果。


五、常见问题与优化

  1. Windows路径问题

    • 使用全路径启动服务,避免npx路径冲突:
      node C:\\path\\to\\server.js
  2. 性能优化

    • 多进程部署:
      uvicorn main:app --workers 4 --port 8000
  3. 安全增强

    • 添加JWT认证或白名单机制,限制敏感操作权限。

六、扩展生态

  • 开源服务器:GitHub提供300+预构建服务(如GitHub API、Figma解析器)。
  • 企业级部署:阿里云百炼平台支持一键部署MCP服务。
    通过以上步骤,开发者可快速将MCP集成到AI应用中,实现数据与工具的标准化调用。更多案例可参考官方文档或社区仓库。