MCP开发-00.什么是MCP

本系列:00 什么是 MCP(本文) · 01 协议与心智模型 · 02 Python 框架选型 · 03 部署与调用 · 04 重任务与优化 · 05 从 0 开发 · 06 进阶示例 · 07 阿里云案例 · 08 鉴权与安全验证 · 09 配置化 Pipeline 实战


为什么选择 MCP

MCP 帮助你在 大语言模型(large language model,LLM)之上构建代理(agents)和复杂工作流。模型经常需要与数据、工具集成,MCP 提供:

  • 可复用的集成生态:持续增长的预构建 Server 与社区实现,Host 按同一协议接入即可。
  • 厂商无关:同一套 MCP 能力可在不同 LLM 提供商与客户端之间迁移、组合。
  • 安全与边界清晰:在自有基础设施内暴露文件、数据库与 API 时,有相对明确的进程与连接模型可参考。

原本的大模型以文本生成为主,操作外部环境的能力依赖各产品自研接口。MCP 提供标准化的上下文与工具协议,让符合规范的服务器能力(文件、命令、数据库、业务 API 等)可被模型以统一方式发现和调用。

段末注释Model Context Protocol(模型上下文协议,MCP)是 AI 应用连接外部工具与数据源的开放标准。


MCP 是什么

MCP 面向 LLM 应用,规范「应用程序如何向模型提供上下文、工具与资源」,打通模型与外部数据源、工具及服务之间的连接。

可以把它类比为 AI 应用里的 USB-C:USB-C 统一了设备与外设的物理与协议预期;MCP 则统一了 AI 模型与各类数据源、工具 的对接方式。

延伸阅读(官方与中文镜像):


架构与角色

MCP 应用架构

MCP 应用架构示意图

按协议约定,典型参与方包括:

角色 说明
MCP Host 承载 AI 能力的宿主应用,如 Claude Desktop、Cursor、VS Code 等,希望通过 MCP 使用外部数据与工具。
MCP Client 宿主内的协议客户端,与 单个 MCP Server 维持一条连接,负责会话与消息收发。
MCP Server 轻量进程或服务,通过 MCP 暴露具体能力(工具、资源、提示模板等)。
本地数据源 本机文件、本地数据库、本地服务等,由 Server 在授权范围内访问。
远程服务 经 API 等访问的互联网服务,同样由 Server 封装后提供给模型。

MCP 服务架构

MCP 服务架构示意图


三类原语(Server 暴露什么)

MCP Server 向模型提供三类核心原语,语义不同,不可混用:

1
2
3
4
5
6
flowchart TB
Tools["Tools\n执行动作 / 有副作用"]
Resources["Resources\n只读上下文 / URI"]
Prompts["Prompts\n参数化模板"]
Tools --- Resources
Resources --- Prompts
原语 一句话 示例
Tools 让模型「做一件事」 查数据库、发请求、跑脚本
Resources 让模型「读一段上下文」 项目 README、配置 schema
Prompts 让模型「按模板开始」 代码审查清单、报告大纲

协议细节与 Tasks、Progress 等扩展见:01 协议与心智模型


传输方式概要

Host 通过 Client 与 Server 通信时需选定传输层。规范仅定义两种标准传输

方式 特点 典型场景
stdio 标准输入输出,Host 以子进程拉起 Server,经管道通信 本地开发、IDE、桌面应用
Streamable HTTP 独立 HTTP 进程,POST/GET 单一 MCP 端点,可 SSE 流式 远程部署、团队共享、生产环境

说明:旧版 HTTP+SSE(协议 2024-11-05)已弃用;远程请统一 Streamable HTTP。部署模式(stdio 按需、内网常驻、Docker、Serverless 等)与 Host 配置见:03 部署方式与调用配置


生态概览

按角色粗分,便于选型;Python Server 框架对比02 Python 框架选型

类别 代表项目 用途
Server SDK MCP Python SDK(mcp[cli])、MCP TypeScript SDK 实现 MCP Server
增强 Server 框架 FastMCP 2.x(合并进官方 SDK 中) Tasks、Middleware、OAuth 等
Client / Agent 编排 LangChain MCP Adapters、mcp-agent、OpenAI Agents SDK 在 Agent 中消费 MCP
调试 @modelcontextprotocol/inspector 连接测试、工具调用验证

支持 MCP 的 Host 与工具

常见 Host 或已支持/可配置 MCP 的开发工具(不完全列表):

  • Claude Desktop(Anthropic):配置文件添加 MCP Server(stdio 或 URL)。
  • Claude Code:CLI 中 mcp add 等方式接入 HTTP Server。
  • Cursor:项目或用户级 MCP 配置,command/args(stdio)或 url(HTTP)。
  • Visual Studio Code:Copilot / MCP 扩展生态(以当期文档为准)。
  • ChatGPT、Gemini、Microsoft Copilot 等:产品侧逐步支持 MCP(能力因版本而异)。
  • Trae、Windsurf、Cline、Continue 等:多数支持 JSON 声明本地命令或远程端点。

具体字段名(如 mcpServers)因产品与版本而异,以各工具官方文档为准。配置示例见 05 从 0 开发03 部署与调用


推荐阅读路径

阶段 篇章
建立概念 本文 → 01 协议与心智模型
选型与部署 02 框架选型03 部署与调用
动手实践 05 从 0 开发06 进阶示例
重计算 / 长任务 04 重服务与长任务开发
生产案例(阿里云) 07 阿里云 Argo 与多 MCP 蛋白设计
配置化扩容实战 09 配置化 Pipeline 的 MCP 改造与扩容
鉴权递进 08 鉴权与安全验证

协议官网modelcontextprotocol.io

-------------本文结束感谢您的阅读-------------