ai
  • index
  • 1.首页
  • 2.介绍
  • 3.架构概览
  • 4.服务器概念
  • 5.客户端概念
  • 6.版本控制
  • 7.连接到远程MCP服务器
  • 8.连接到本地MCP服务器
  • json_rpc
  • 9.构建一个MCP服务器
  • 10.检查员
  • 11.构建一个MCP客户端
  • 14.架构
  • 15.基础协议概述
  • 16.生命周期
  • 17.传输
  • 18.授权
  • 19.安全最佳实践
  • 20.取消
  • 21.Ping
  • 22.进展
  • 23.Roots
  • 24.采样
  • 25.启发
  • 26.服务器特性
  • 27.提示词
  • 28.资源
  • 29.工具
  • 30.完成
  • 31.日志记录
  • 32.分页
  • 33.架构参考
  • URI模板
  • 12.实现
  • http.server
  • 动态客户端注册协议
  • 受保护资源元数据
  • 授权服务器元数据
  • JWKS
  • PKCE
  • PyJWT
  • secrets
  • watchfiles
  • 实现authorization
  • 实现cancel
  • 实现completion
  • 实现logging
  • 实现pagination
  • 实现process
  • 实现transport
  • psutil
  • pytz
  • zoneinfo
  • contextlib
  • Starlette
  • mcp.1.starter
  • mcp.2.Resource
  • mcp.3.structured_output
  • mcp.4.prompts
  • mcp.5.context
  • mcp.6.streamable
  • mcp.7.lowlevel
  • mcp.8.Completion
  • mcp.9.Elicitation
  • mcp.10.oauth
  • mcp.11.integration
  • mcp.12.best
  • mysql-mcp
  • databases
  • uvicorn
  • asynccontextmanager
  • AsyncExitStack
  • streamable
  • aiohttp
  • publish
  • email
  • schedule
  • twine
  • 1.教学文档总览
  • 2.教师使用指南
  • 3.教学系统快速参考
  • 4.新生入门指南
  • 5.学生使用指南
  • 1. 什么是模型上下文协议(MCP)?
  • 2. 为什么需要MCP?
  • 3. MCP的核心架构
  • 4. 架构示意图
  • 5. MCP的三大核心组件
  • 6. 典型应用场景
  • 7. 快速上手:构建你的第一个MCP服务器
    • 7.1 安装依赖
    • 7.2 创建server.py
  • 8. 如何测试你的MCP服务器?
    • 8.1 安装Claude Desktop
    • 8.2 配置Claude Desktop

1. 什么是模型上下文协议(MCP)? #

模型上下文协议(Model Context Protocol,简称MCP)是一项开放标准,旨在让AI助手能够安全、便捷地访问和整合各种数据存储系统(如内容仓库、企业工具、开发环境等)。

MCP的目标是:

  • 让AI模型获取更优质、更相关的数据
  • 让数据与AI之间的连接变得简单、标准化

2. 为什么需要MCP? #

随着AI助手的普及,模型能力飞速提升,但数据访问却面临以下难题:

  • 信息孤岛:AI模型与数据隔离,难以获取实时、丰富的信息
  • 集成碎片化:每接入一个新数据源都需定制开发,难以扩展

MCP通过统一协议,解决了这些问题,让AI与数据的连接变得高效、可扩展。

3. MCP的核心架构 #

MCP的架构非常简洁,主要包括三类角色:

  • MCP主机:如AI应用(例如Claude、VS Code等),负责协调和管理MCP客户端
  • MCP客户端:负责与MCP服务器建立连接,获取上下文数据
  • MCP服务器:为客户端提供数据和上下文

4. 架构示意图 #

5. MCP的三大核心组件 #

  1. MCP协议规范与SDK:官方标准与开发工具包
  2. Claude桌面应用:支持本地MCP服务器的AI应用
  3. 开源MCP服务器仓库:丰富的服务器实现与示例

6. 典型应用场景 #

  • 连接Google Drive、Slack、GitHub、Git、Postgres、Puppeteer等主流企业系统
  • 开发工具(如Zed、Replit、Codeium、Sourcegraph)集成MCP后,AI能更高效检索和理解开发上下文
  • 企业和个人可快速将自有数据集与AI工具对接

7. 快速上手:构建你的第一个MCP服务器 #

下面以Python为例,演示如何用MCP SDK快速搭建一个最小可运行的MCP服务器。

7.1 安装依赖 #

# 安装MCP官方SDK https://modelcontextprotocol.io/docs/sdk
uv add "mcp[cli]"

7.2 创建server.py #

# 导入FastMCP类,用于创建MCP服务器
from mcp.server.fastmcp import FastMCP

# 创建一个名为“Greeting Server”的MCP服务器实例
mcp = FastMCP("Greeting Server")


# 使用装饰器注册一个加法工具
@mcp.tool()
# 定义加法函数,接收两个整数参数a和b,返回它们的和
def add(a: int, b: int) -> int:
    """两个数相加"""
    # 返回a和b的和
    return a + b

8. 如何测试你的MCP服务器? #

8.1 安装Claude Desktop #

  • Claude Desktop

你可以在 Claude Desktop 中安装此服务器,并通过运行以下命令立即与其交互:

uv run mcp install server.py
Added server 'Greeting Server' to Claude config
Successfully installed Greeting Server in Claude 

8.2 配置Claude Desktop #

C:\Users\Administrator\AppData\Roaming\Claude\config.json

{
  "mcpServers": {
    "Greeting Server": {
      "command": "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python313\\Scripts\\uv.EXE",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "D:\\aprepare\\mcp-server-demo\\server.py"
      ]
    }
  }
}

这个 config.json 文件是用于配置 Claude 的 MCP (Message Control Protocol) 服务器的配置文件。

  1. 整体结构:

    • 这是一个 JSON 格式的配置文件,定义了 MCP 服务器的配置信息。
  2. mcpServers 对象:

    • 这是配置文件的根对象,包含一个或多个 MCP 服务器的定义。
  3. "Greeting Server":

    • 这是一个具体的 MCP 服务器实例的名称/标识符。
    • 你可以定义多个不同名称的服务器配置。
  4. command:

    • 指定了用于启动服务器的可执行文件路径。
    • 在这个例子中,使用的是 Python 的 uv.EXE ,位于 Python 3.13 的 Scripts 目录下。
  5. args 数组:

    • 包含了启动服务器时传递的命令行参数:
      • "run": 运行命令
      • "--with" "mcp[cli]": 指定使用 MCP 的 CLI 组件
      • "mcp" "run": MCP 的运行命令
      • "D:\\aprepare\\mcp-server-demo\\server.py": 要运行的 Python 服务器脚本路径
add 1+1=?

访问验证

请输入访问令牌

Token不正确,请重新输入