2026年MCP Server开发完全指南

2026年5月14日 · 10分钟阅读 · 云渡 AI

Model Context Protocol (MCP) 是AI Agent连接外部工具的标准协议。Claude、ChatGPT、Cursor、Windsurf都已支持MCP。本文从零教你构建MCP Server。

MCP是什么?

MCP是AI模型的「USB接口」——任何支持MCP的工具都能直接接入任何支持MCP的AI。

MCP Server暴露三类能力:

2026年MCP生态:微软Playwright MCP 32K+ stars,Figma MCP 14K+ stars。MCP已成为AI工具集成的事实标准。

5分钟构建你的第一个MCP Server

1. 环境准备

mkdir my-mcp-server && cd my-mcp-server
python -m venv venv
source venv/bin/activate
pip install mcp

2. 编写Server

# server.py
from mcp.server import Server
from mcp.types import Tool, TextContent
import mcp.server.stdio

server = Server("my-server")

@server.list_tools()
async def list_tools() -> list[Tool]:
    return [
        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):
    if name == "hello":
        return [TextContent(type="text", text=f"你好,{arguments['name']}!👋")]
    raise ValueError(f"未知工具: {name}")

async def main():
    async with mcp.server.stdio.stdio_server() as (read, write):
        await server.run(read, write, server.create_initialization_options())

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

3. 测试

npx @modelcontextprotocol/inspector python server.py

4. 接入Claude Code

// ~/.claude/settings.json
{
  "mcpServers": {
    "my-server": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/path/to/my-mcp-server"
    }
  }
}
🎉 完成!现在Claude可以使用你的自定义工具了。试试问它"你有什么工具?"

实战案例

我们已经开发了两个MCP工具:

开发建议

  1. 清晰的工具描述 — AI根据描述决定何时使用你的工具
  2. 详细的输入Schema — 每个属性都写description
  3. 优雅的错误处理 — 返回有用的错误信息,不要抛堆栈
  4. 保持响应精简 — LLM有上下文限制
  5. 用MCP Inspector测试 — 部署前必测
⭐ MCP Server Convert 📅 CN Calendar Skill