AI 入门:一步步搭建 Python MCP 服务器
从零开始安装 Python,搭建 MCP 服务器,让 AI 能调用你的数据。
想让你写的 Python 程序能被 AI 调用吗?MCP(Model Context Protocol)就是一种让 AI 与你的数据交互的协议。本教程带你从零安装 Python,搭建一个简单的 MCP 服务器,并验证 AI 能否成功连接。
准备环境
你需要一台电脑(Windows、macOS 或 Linux),并安装 Python。如果你还没装:
- Python:一种容易上手的编程语言。去 python.org 下载最新版(3.10+),安装时记得勾选“Add Python to PATH”。
- 编辑器:推荐 VS Code,免费且好用。
安装 MCP 库
打开终端(Windows 用命令提示符或 PowerShell),输入以下命令安装 MCP 的 Python 包:
pip install mcp—— 安装核心库。- 如果提示“pip 不是命令”,说明 Python 没加入 PATH,重新安装并勾选那个选项。
写一个最简单的 MCP 服务器
新建文件 server.py,复制下面代码:
from mcp.server import Server, NotificationOptions
from mcp.server.models import InitializationOptions
import mcp.server.stdio
import mcp.types as types
server = Server("demo")
@server.list_tools()
async def list_tools() -> list[types.Tool]:
return [
types.Tool(
name="hello",
description="返回问候语",
inputSchema={
"type": "object",
"properties": {
"name": {"type": "string", "description": "你的名字"}
},
"required": ["name"]
}
)
]
@server.call_tool()
async def call_tool(name: str, arguments: dict) -> list[types.TextContent]:
if name == "hello":
return [types.TextContent(type="text", text=f"你好,{arguments['name']}!")]
raise ValueError(f"未知工具: {name}")
async def run():
async with mcp.server.stdio.stdio_server() as (read_stream, write_stream):
await server.run(read_stream, write_stream, InitializationOptions(
server_name="demo",
server_version="0.1.0"
))这个服务器只提供一个工具:输入名字,返回问候语。
运行并测试
- 在终端中进入
server.py所在文件夹,运行python server.py。 - 如果看到“Server started”之类的信息,说明成功。
- 要测试,你可以用另一个 Python 脚本或 MCP 客户端(如 Cursor)连接。简单测试:另开终端,运行
python -m mcp.client stdio python server.py,然后输入hello工具名和参数{"name": "小明"},应返回“你好,小明!”。
常见坑提醒
- 端口被占用:如果报错“Address already in use”,换个端口或关掉其他 Python 进程。
- 异步错误:确保函数前有
async关键字。
下一步可以做什么
现在你可以扩展服务器,添加更多工具(如查询数据库、调用 API)。让 AI 助手通过 MCP 访问你的数据,实现自动化工作流。
内容来源
Real Python
发布时间
2026-05-27 01:30