1.2 环境搭建
本章将指导您完成MCP开发环境的搭建,包括安装必要的库和工具,配置开发环境,以及验证安装是否成功。通过这些步骤,您将能够开始使用MCP构建应用程序。
安装MCP库及依赖
MCP是一个Python库,可以通过多种方式安装。以下是几种常见的安装方法:
使用pip安装
最简单的安装方式是使用pip包管理器:
# 安装基本的MCP库
pip install mcp
# 安装带CLI工具的完整版本
pip install "mcp[cli]"
使用uv安装(推荐)
uv是一个更现代的Python包管理工具,提供更快的安装速度和更好的依赖解析。如果您使用uv管理项目:
# 首先安装uv(如果尚未安装)
pip install uv
# 然后使用uv安装MCP
uv add mcp
# 或安装带CLI工具的完整版本
uv add "mcp[cli]"
从源码安装
如果您需要最新的开发版本或想要贡献代码,可以从源码安装:
git clone https://github.com/modelcontextprotocol/mcp-python.git
cd mcp-python
pip install -e .
安装可选依赖
根据您的使用场景,可能需要安装一些可选依赖:
# 安装SSE(Server-Sent Events)支持
pip install "mcp[sse]"
# 安装WebSocket支持
pip install "mcp[websocket]"
# 安装完整功能(包括CLI、SSE和WebSocket)
pip install "mcp[full]"
配置开发环境
为了高效开发MCP应用,建议设置一个良好的开发环境。以下是一些建议:
1. 创建虚拟环境
使用虚拟环境可以隔离项目依赖,避免与系统Python冲突:
# 使用venv创建虚拟环境
python -m venv mcp-env
# 激活虚拟环境
# Windows
mcp-env\Scripts\activate
# Linux/MacOS
source mcp-env/bin/activate
2. 设置编辑器/IDE
推荐使用支持Python的现代编辑器,如VSCode、PyCharm等:
VSCode配置:
- 安装Python扩展
- 设置Python解释器为您的虚拟环境
- 推荐的扩展:Python Docstring Generator、Pylance
PyCharm配置:
- 创建新项目时选择之前创建的虚拟环境
- 启用类型检查(MCP有良好的类型注解)
3. 配置开发工具
安装一些有用的开发工具:
# 安装代码质量工具
pip install black isort mypy pytest
# 添加到项目中
# pyproject.toml 示例
"""
[tool.black]
line-length = 88
[tool.isort]
profile = "black"
[tool.mypy]
python_version = "3.10"
"""
使用MCP CLI工具
MCP提供了命令行工具,方便开发、调试和管理MCP服务。确保安装了mcp[cli]版本才能使用这些命令。
基本命令
# 显示帮助信息
mcp --help
# 显示版本信息
mcp --version
开发模式
使用dev命令在开发模式下运行MCP服务器,同时启动一个交互式检查器界面:
# 运行服务器模块或文件
mcp dev path/to/server.py
# 添加依赖
mcp dev server.py --with pandas --with numpy
# 挂载本地代码(开发中的库)
mcp dev server.py --with-editable ./my-package
安装服务器
对于Claude桌面版等支持MCP的应用,您可以使用install命令注册服务器:
# 安装服务器
mcp install server.py
# 自定义服务器名称
mcp install server.py --name "我的数据分析服务"
# 设置环境变量
mcp install server.py -v API_KEY=abc123 -v DB_URL=postgres://localhost
直接运行服务器
您也可以直接运行服务器:
# 直接运行
mcp run server.py
# 指定传输方式
mcp run server.py --transport sse
验证安装成功
完成安装后,您可以运行一个简单的测试来验证MCP是否正常工作。
1. 创建测试服务器
创建一个名为test_server.py的文件:
from mcp.server.fastmcp import FastMCP
# 创建一个MCP服务器
mcp = FastMCP("Test Server")
# 添加一个简单的工具
@mcp.tool()
def hello(name: str) -> str:
"""返回问候语"""
return f"Hello, {name}!"
if __name__ == "__main__":
mcp.run()
2. 创建测试客户端
创建一个名为test_client.py的文件:
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def run():
server_params = StdioServerParameters(
command="python",
args=["test_server.py"],
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
# 初始化连接
await session.initialize()
print("连接成功!")
# 列出可用工具
tools = await session.list_tools()
print(f"可用工具: {tools}")
# 调用工具
result = await session.call_tool("hello", arguments={"name": "MCP User"})
print(f"工具调用结果: {result}")
if __name__ == "__main__":
import asyncio
asyncio.run(run())
3. 运行测试
在命令行中运行客户端:
python test_client.py
如果一切正常,您应该会看到类似以下的输出:
连接成功!
可用工具: meta=None nextCursor=None tools=[Tool(name='hello', description='返回问候语', arguments={'properties': {'name': {'type': 'string'}}, 'required': ['name'], 'type': 'object'})]
工具调用结果: meta=None content=[TextContent(type='text', text='Hello, MCP User!', annotations=None)] isError=False
4. 使用MCP检查器
您也可以使用MCP检查器来验证服务器:
mcp dev test_server.py
这将启动一个Web界面,您可以在其中浏览和测试您的MCP服务器的功能。
常见问题解决
导入错误
如果遇到导入错误,通常是因为MCP库未正确安装或未安装可选依赖:
# 检查MCP是否已安装
pip list | grep mcp
# 重新安装带所有依赖的MCP
pip install "mcp[full]" --force-reinstall
版本兼容性问题
MCP依赖一些其他库,有时可能出现版本冲突:
# 检查详细依赖
pip show mcp
# 如果遇到冲突,可以尝试在虚拟环境中重新安装
python -m venv fresh-env
source fresh-env/bin/activate # 或在Windows上使用 fresh-env\Scripts\activate
pip install "mcp[full]"
网络连接问题
使用SSE或WebSocket传输时可能遇到网络连接问题:
# 检查防火墙设置
# 确保端口未被占用
netstat -an | grep 8000 # Linux/MacOS
netstat -an | findstr 8000 # Windows
小结
在本章中,我们完成了MCP开发环境的搭建,包括安装库和依赖、配置开发环境、使用CLI工具以及验证安装。现在您已经准备好开始使用MCP构建应用程序了。
在下一章中,我们将创建第一个完整的MCP服务器,探索更多MCP的基本功能。
相关实现文件
- .env - 环境变量配置文件
- mcp/cli - MCP命令行工具实现
- example/mcp.json - MCP配置示例