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的三大核心组件 #
- MCP协议规范与SDK:官方标准与开发工具包
- Claude桌面应用:支持本地MCP服务器的AI应用
- 开源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 + b8. 如何测试你的MCP服务器? #
8.1 安装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) 服务器的配置文件。
整体结构:
- 这是一个 JSON 格式的配置文件,定义了 MCP 服务器的配置信息。
mcpServers 对象:
- 这是配置文件的根对象,包含一个或多个 MCP 服务器的定义。
"Greeting Server":
- 这是一个具体的 MCP 服务器实例的名称/标识符。
- 你可以定义多个不同名称的服务器配置。
command:
- 指定了用于启动服务器的可执行文件路径。
- 在这个例子中,使用的是 Python 的
uv.EXE,位于 Python 3.13 的 Scripts 目录下。
args 数组:
- 包含了启动服务器时传递的命令行参数:
"run": 运行命令"--with" "mcp[cli]": 指定使用 MCP 的 CLI 组件"mcp" "run": MCP 的运行命令"D:\\aprepare\\mcp-server-demo\\server.py": 要运行的 Python 服务器脚本路径
- 包含了启动服务器时传递的命令行参数:
add 1+1=?