跳到主要内容

MCP 环境配置

本章介绍如何搭建 MCP 开发环境,包括 SDK 安装和配置。

安装 MCP SDK

Python SDK

# 使用 pip 安装 MCP Python SDK
pip install mcp

# 或者使用 uv(更快的包管理器)
uv pip install mcp

安装完成后验证:

import mcp
print(mcp.__version__)

TypeScript SDK

# 创建新项目
npm init -y

# 安装 MCP TypeScript SDK
npm install @modelcontextprotocol/sdk

基础项目结构

创建一个简单的 MCP 服务器项目:

# 创建项目目录
mkdir my-mcp-server
cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk

配置 MCP 服务器

MCP 服务器支持两种传输方式:

1. STDIO 传输(本地)

适用于本地运行的服务器:

# server.py
from mcp.server import Server
from mcp.types import TextContent
import asyncio

app = Server("my-server")

@app.list_tools()
async def list_tools():
return [
{
"name": "echo",
"description": "返回输入的文本",
"inputSchema": {
"type": "object",
"properties": {
"text": {"type": "string", "description": "要返回的文本"}
},
"required": ["text"]
}
}
]

@app.call_tool()
async def call_tool(name: str, arguments: dict):
if name == "echo":
return [TextContent(type="text", text=arguments["text"])]
raise ValueError(f"Unknown tool: {name}")

if __name__ == "__main__":
import sys
from mcp.server.stdio import stdio_server

async def main():
async with stdio_server() as streams:
await app.run(
streams[0],
streams[1],
app.create_initialization_options()
)

asyncio.run(main())

2. HTTP 传输(远程)

适用于网络远程服务器:

# http_server.py
from mcp.server import Server
from mcp.server.http import HTTPServer
from mcp.types import TextContent

app = Server("http-server")

# ... 定义 tools 和其他功能 ...

# 启动 HTTP 服务器
server = HTTPServer(app, host="0.0.0.0", port=8080)
server.run()

客户端配置

VS Code 配置

.vscode/mcp.json 中配置:

{
"servers": {
"my-server": {
"command": "python",
"args": ["/path/to/server.py"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/directory"]
}
}
}

Claude Desktop 配置

claude_desktop_config.json 中配置:

{
"mcpServers": {
"my-server": {
"command": "python",
"args": ["/path/to/server.py"]
}
}
}

常见错误排查

1. 连接失败

# 错误:无法连接到服务器
# 解决方法:检查服务器是否正在运行

2. 工具未发现

确保服务器正确实现了 list_tools 方法。

3. 参数验证失败

检查 JSON Schema 是否正确定义。

下一步

完成环境配置后,可以开始学习 MCP 的核心概念: