极客前沿

AI 入门:一步步搭建 Python MCP 服务器

2026-05-27 01:30
Real Python
查看原文

从零开始安装 Python,搭建 MCP 服务器,让 AI 能调用你的数据。

想让你写的 Python 程序能被 AI 调用吗?MCP(Model Context Protocol)就是一种让 AI 与你的数据交互的协议。本教程带你从零安装 Python,搭建一个简单的 MCP 服务器,并验证 AI 能否成功连接。

准备环境

你需要一台电脑(Windows、macOS 或 Linux),并安装 Python。如果你还没装:

Tutorial Image
  • Python:一种容易上手的编程语言。去 python.org 下载最新版(3.10+),安装时记得勾选“Add Python to PATH”。
  • 编辑器:推荐 VS Code,免费且好用。

安装 MCP 库

打开终端(Windows 用命令提示符或 PowerShell),输入以下命令安装 MCP 的 Python 包:

  1. pip install mcp —— 安装核心库。
  2. 如果提示“pip 不是命令”,说明 Python 没加入 PATH,重新安装并勾选那个选项。

写一个最简单的 MCP 服务器

新建文件 server.py,复制下面代码:

Tutorial Image
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"
        ))

这个服务器只提供一个工具:输入名字,返回问候语。

运行并测试

  1. 在终端中进入 server.py 所在文件夹,运行 python server.py
  2. 如果看到“Server started”之类的信息,说明成功。
  3. 要测试,你可以用另一个 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

返回 AI技术