Skip to content

快速开始

欢迎使用模型上下文协议 (MCP)!本指南将帮助您快速了解 MCP 的核心概念并开始构建。

核心概念

MCP 服务器可以提供三种主要类型的功能:

  • 资源 (Resources):类似文件的数据,可以被客户端读取(如 API 响应或文件内容)
  • 工具 (Tools):可以被 LLM 调用的函数(需要用户批准)
  • 提示 (Prompts):帮助用户完成特定任务的预写模板

系统要求

在开始之前,请确保您的系统满足以下要求:

Python 开发

  • Python 3.10 或更高版本
  • 必须使用 Python MCP SDK 1.2.0 或更高版本

Node.js 开发

  • Node.js 18 或更高版本
  • npm 或 yarn 包管理器

安装 SDK

MCP 提供多种语言的官方 SDK:

Python

bash
pip install mcp

Node.js

bash
npm install @modelcontextprotocol/sdk

其他语言

访问 SDK 页面 查看所有可用的开发工具包。

第一个 MCP 服务器

让我们创建一个简单的天气服务器作为示例:

1. 设置环境

bash
# 使用 uv 创建新项目
uv init weather-server
cd weather-server
uv add mcp httpx

2. 创建服务器

python
from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP

# 初始化 FastMCP 服务器
mcp = FastMCP("weather")

@mcp.tool()
async def get_weather(city: str) -> str:
    """获取指定城市的天气信息
    
    Args:
        city: 城市名称
    """
    # 这里是示例实现
    return f"{city} 的天气:晴朗,温度 25°C"

if __name__ == "__main__":
    mcp.run()

3. 运行服务器

bash
python weather.py

连接到客户端

使用 Claude Desktop

  1. 安装 Claude Desktop
  2. 配置 MCP 服务器:
json
{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": ["path/to/weather.py"]
    }
  }
}

构建自定义客户端

您也可以构建自己的客户端来连接到 MCP 服务器。查看我们的客户端构建指南了解详细信息。

日志记录最佳实践

在实现 MCP 服务器时,请注意日志记录的处理方式:

基于 STDIO 的服务器

  • 绝不写入标准输出 (stdout)
  • 避免使用 print() 语句
  • 使用写入 stderr 或文件的日志库
python
# ❌ 错误做法 (STDIO)
print("处理请求")

# ✅ 正确做法 (STDIO)
import logging
logging.info("处理请求")

基于 HTTP 的服务器

  • 标准输出日志记录是可以的,因为它不会干扰 HTTP 响应

下一步

现在您已经了解了基础知识,可以探索更多功能:

获得帮助

如果您遇到问题或有疑问:

🚀 探索模型上下文协议的无限可能 | 连接 AI 与世界的桥梁 | 让智能更智能