AI Engineering Academy · 课时

什么是 MCP,以及它为何重要

理解模型上下文协议所标准化的内容、它与临时函数调用集成的区别,以及它为何正成为人工智能工具连接的通用语言。

第 1 / 4 课13 个步骤

什么是 MCP,以及它为何重要 是 CoddyKit 上的免费 AI Engineering Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Engineering Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Engineering Academy 课程共包含 4 节课。

工具集成问题

如今,每个 AI 助手都在以不同方式解决同一个问题:如何将 LLM 连接到您的数据库、API、文件和服务?如果没有统一标准,每次集成都只能单独定制——OpenAI 的函数调用方式不同于 Anthropic 的工具使用方式,而后者又不同于 Gemini。开发者不得不一遍又一遍地重建相同的适配器。

什么是 Model Context Protocol?

Model Context Protocol (MCP) 是由 Anthropic 创建的开放标准,它定义了将 LLM 连接到外部数据源和工具的通用接口。您可以把它理解为面向 AI 集成的 USB——只要工具或数据源实现了 MCP 服务器规范,任何兼容 MCP 的 AI 客户端都可以使用它,而无需编写定制代码。该协议于 2024 年 11 月发布后,迅速在整个行业得到采用。

客户端—服务器架构

MCP 采用客户端—服务器模型:AI 应用(即客户端)连接到一个或多个 MCP 服务器。每个服务器都会公开一些能力——模型可以调用的工具、可以读取的资源,以及可以使用的提示模板。客户端(例如 Claude Desktop 或自定义应用)负责管理连接,并将工具调用路由到正确的服务器。

  • 客户端:Claude Desktop、VS Code 扩展或您的应用
  • 服务器:通过 MCP 公开工具的进程,例如数据库适配器、文件系统或网页搜索服务

MCP 的三种基本能力

MCP 服务器会公开三种类型的能力:

  • 工具:模型可以调用来执行操作的函数,类似于函数调用。例如:execute_query(sql)。
  • 资源:模型可以读取的静态或动态数据,例如文件、数据库行或 API 响应。例如:file:///config/settings.json。
  • 提示:用户可以通过参数调用的可复用提示模板。例如,接受差异内容的代码审查提示。

MCP 与直接函数调用

使用直接函数调用时,您会在应用代码中定义工具,因此它与 LLM 提供商的 API 紧密耦合。使用 MCP 时,工具在独立的服务器进程中定义,任何客户端都可以连接到该进程。主要区别包括:

  • 可移植性:一个 MCP 服务器可以与 Claude、自定义应用和未来的客户端配合使用
  • 可复用性:可以在不同团队和项目之间共享 MCP 服务器
  • 关注点分离:工具服务器可以独立于 AI 应用进行维护

MCP 传输:stdio 与 HTTP/SSE

MCP 服务器通过两种传输机制与客户端通信。stdio 用于本地工具——客户端将服务器作为子进程启动,并通过标准输入/标准输出进行通信。这种方式简单且安全,适合开发者工具。HTTP + Server-Sent Events(SSE) 用于可通过网络访问的远程服务器,适合共享团队工具或生产环境部署。

# Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json)
# Connecting to a local MCP server via stdio:

# {
#   "mcpServers": {
#     "my-database": {
#       "command": "python",
#       "args": ["/path/to/my_mcp_server.py"],
#       "env": {
#         "DATABASE_URL": "postgresql://localhost/mydb"
#       }
#     }
#   }
# }

MCP 生态系统

自 MCP 发布以来,预构建服务器生态系统不断壮大。Anthropic 为常见集成维护官方服务器,社区服务器则覆盖数百种服务。您无需从头构建定制工具集成,而是可以直接接入现有的 MCP 服务器。

  • 官方:GitHub、Google Drive、Slack、PostgreSQL、文件系统、网页搜索
  • 社区:Jira、Notion、Stripe、Snowflake、MongoDB 等众多服务
  • 自定义:为专有内部工具构建自己的服务器

MCP 在 AI 开发工作流中的应用

MCP 正在改变 AI 编程助手。将 MCP 服务器连接到代码库后,Claude Desktop 就能在单个聊天窗口中读取文件、运行测试、检查 Git 历史记录、查询数据库和浏览文档。这实现了真正的智能体式开发,让 AI 能够理解并操作完整的开发环境。

MCP SDK 概览

Anthropic 提供了用于使用 Python 和 TypeScript 构建 MCP 服务器的 SDK。Python SDK 是 mcp(使用 pip install mcp 安装)。您可以使用装饰器定义工具,使用 URI 模式定义资源,而 SDK 会为您处理协议协商、消息序列化和传输细节。

# Install
# pip install mcp

# Minimal MCP server skeleton
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp import types

app = Server('my-first-mcp-server')

@app.list_tools()
async def list_tools():
    return [
        types.Tool(
            name='hello',
            description='Returns a greeting message.',
            inputSchema={
                'type': 'object',
                'properties': {
                    'name': {'type': 'string', 'description': 'Name to greet'}
                },
                'required': ['name']
            }
        )
    ]

@app.call_tool()
async def call_tool(name: str, arguments: dict):
    if name == 'hello':
        return [types.TextContent(type='text', text=f'Hello, {arguments["name"]}!')]

import asyncio
asyncio.run(stdio_server(app))

MCP 为何对行业意义重大

MCP 代表着 AI 工具领域正朝标准化方向发展。正如 REST 统一了 Web API、LSP 统一了 IDE 的语言功能一样,MCP 正在统一 AI 模型连接工具的方式。这将使开发者(构建一次,随处使用)、企业(审计并控制一个集成层)以及整个生态系统(共享可复用的工具库)受益。

MCP 的采用情况与未来方向

MCP 自发布以来,采用率快速增长。主要编程助手(Cursor、Windsurf、VS Code Copilot)、企业 AI 平台和云服务提供商都已宣布支持 MCP。该协议仍在持续发展,未来提案包括身份验证、采样和流式传输改进。了解 MCP 将帮助您构建可互操作的 AI 集成,使其能够跨不断扩大的生态系统运行。

快速检查

测试您对 MCP 是什么以及它为何重要的理解。

课程回顾

本课中您学到了:MCP 是一种开放标准,定义了将 LLM 连接到外部工具和数据源的通用接口、MCP 服务器会公开三种基本能力:工具、资源和提示,以及MCP 生态系统为常见服务提供预构建服务器,因此您无需从头开始。接下来,我们将在 Python 中构建第一个 MCP 服务器,并将其连接到 Claude Desktop。

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「什么是 MCP,以及它为何重要」课时是免费的吗?

是的 — 「什么是 MCP,以及它为何重要」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Engineering Academy 课程的其余内容,请升级到 CoddyKit PRO。 AI Engineering Academy 课程共包含 4 节课。

「什么是 MCP,以及它为何重要」这节课中我会学到什么?

理解模型上下文协议所标准化的内容、它与临时函数调用集成的区别,以及它为何正成为人工智能工具连接的通用语言。 你通过在浏览器中直接运行的动手代码来练习 AI Engineering Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Engineering Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Engineering Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「什么是 MCP,以及它为何重要」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Engineering Academy 课中编写并运行代码吗?

能。每节 AI Engineering Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 什么是 MCP,以及它为何重要
  2. 构建您的第一个 MCP 服务器
  3. 通过 MCP 暴露数据库资源
  4. MCP 安全与身份验证
← 返回 AI Engineering Academy