一、环境搭建
安装依赖
- Python环境:需Python 3.10+,推荐使用虚拟环境(如
venv
或conda
)。python -m venv mcp-env source mcp-env/bin/activate Linux/Mac pip install mcp fastapi uvicorn 安装SDK及Web框架
- Node.js环境(可选):用于开发JavaScript服务器。
npm install @modelcontextprotocol/sdk
- Python环境:需Python 3.10+,推荐使用虚拟环境(如
客户端工具
- 支持MCP的AI应用:如Claude Desktop、Cursor、Cline(VS Code插件)等,需确保版本支持MCP协议。
二、服务器开发
- Python示例(基础工具开发)
from mcp.server.fastmcp import FastMCP
mcp = 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)。
- 使用
- 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();
三、客户端配置
Cursor配置
- 打开Cursor的
Settings > MCP Servers
,添加服务器配置:{ "mcpServers": { "weather": { "command": "python", "args": ["weather_server.py"] } } }
- 重启后,在对话框输入“北京天气如何?”即可触发工具调用。
- 打开Cursor的
VS Code Cline插件配置
- 安装Cline扩展,进入
Settings > MCP Servers
,添加Node.js服务器:{ "mcpServers": { "github": { "command": "node", "args": ["github_mcp_server.js"] } } }
- 安装Cline扩展,进入
四、实际应用场景
- 数据库查询
- 步骤:
- 安装MCP数据库服务器(如PostgreSQL适配器):
npx @modelcontextprotocol/server-postgres postgresql://user:pass@localhost/db
- 在Claude中提问:“显示金额最高的订单”。
- 服务器自动生成SQL并返回结果。
- 安装MCP数据库服务器(如PostgreSQL适配器):
- 文件系统操作
- 示例:在Cursor中调用文件列表工具:
用户输入“我的桌面有哪些文件?”即可获取结果。@mcp.tool() def list_desktop_files() -> list: """获取桌面文件列表""" return os.listdir(os.path.expanduser("~/Desktop"))
五、常见问题与优化
Windows路径问题
- 使用全路径启动服务,避免
npx
路径冲突:node C:\path\to\server.js
- 使用全路径启动服务,避免
性能优化
- 多进程部署:
uvicorn main:app --workers 4 --port 8000
- 多进程部署:
安全增强
- 添加JWT认证或白名单机制,限制敏感操作权限。
六、扩展生态
- 开源服务器:GitHub提供300+预构建服务(如GitHub API、Figma解析器)。
- 企业级部署:阿里云百炼平台支持一键部署MCP服务。
通过以上步骤,开发者可快速将MCP集成到AI应用中,实现数据与工具的标准化调用。更多案例可参考官方文档或社区仓库。