返回官网

MCP的概念

狒狒 2026-5-13 AI 1 次

MCP = Model Context Protocol(模型上下文协议),Anthropic 在 2024 年 11 月开源的协议,解决一个具体问题:怎么让 LLM 标准化地接外部数据和工具

解决的问题

在 MCP 之前,每个 AI 应用想接 GitHub、数据库、Slack 都得单独写集成代码——OpenAI、Claude、Cursor 各写一套,互不通用。这就是著名的 "M×N 问题":M 个 AI 客户端 × N 个数据源 = M×N 套胶水代码。

MCP 把它变成 M+N

M×N(之前)              M+N(MCP 之后)
                       
Claude ──┐               Claude ─┐
Cursor ──┼─→ 每个都要    Cursor ─┼─→ MCP ─┬─→ GitHub
Codex  ──┘  各写胶水     Codex  ─┘        ├─→ Postgres
   ↓                                       ├─→ Slack
GitHub, DB, Slack...                       └─→ ...

类比的话:MCP 之于 AI = USB-C 之于硬件。一个口,所有设备能插。

架构

客户端-服务器模型

┌────────────────┐         JSON-RPC         ┌─────────────────┐
│   MCP Client   │ ←──────────────────────→ │   MCP Server    │
│ (Claude Code,  │       (stdio / HTTP)     │ (GitHub, DB,    │
│  Cursor, etc.) │                          │  filesystem...) │
└────────────────┘                          └─────────────────┘
       ↑                                            ↑
   AI 这一侧                                  数据/工具这一侧
  • MCP Client:LLM 应用——Claude Code、Claude Desktop、Cursor、Zed 等
  • MCP Server:包装某个数据源/服务的小程序——通常是一个 Node 或 Python 进程

两边用 JSON-RPC 2.0 通信,传输层走 stdio(本地子进程)或 HTTP/SSE(远程)。

服务器暴露的三类能力

MCP server 可以提供三种东西给 client:

1. Tools      → LLM 可调用的函数        例: github_create_issue(title, body)
2. Resources  → LLM 可读取的数据        例: file://README.md, db://users/123
3. Prompts    → 预设的提示词模板         例: /code-review 触发 review prompt

Tools 最常用——本质就是给 LLM 多一组可调函数。比如装了 GitHub MCP server 后,Claude 能直接 create_pull_request(...),背后是服务器进程帮它调真实 GitHub API。

在 Claude Code 里怎么配

.mcp.jsonsettings.jsonmcpServers 段:

json
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "ghp_..." } }, "postgres": { "command": "uvx", "args": ["mcp-server-postgres", "postgresql://localhost/mydb"] }, "harness-mcp": { "command": "npx", "args": ["-y", "harness-mcp-v2"], "env": { "HARNESS_API_KEY": "..." } } } }

启动 Claude Code 时它会把这些服务器拉起来,工具自动出现在 LLM 的工具列表里。

常见 MCP server

官方和社区有几百个了,挑常用的:

类别 代表
代码托管 GitHub, GitLab
数据库 Postgres, SQLite, MongoDB, Redis
协作 Slack, Discord, Linear, Jira, Notion
存储 Google Drive, Dropbox, S3
搜索/浏览 Brave Search, Fetch, Puppeteer
本地 Filesystem, Git, Memory
垂直平台 Harness, Stripe, Cloudflare, Sentry

可以在 modelcontextprotocol.ioAnthropic 的 servers 仓库 找完整目录。

几个常见困惑

MCP vs 普通 tool use? 普通工具调用是在 LLM 应用代码里硬编码函数。MCP 是把工具拆成独立进程,可热插拔、跨应用共享。架构差异,不是替代关系——底层还是工具调用。

MCP vs Skill? Skill 是写给 LLM 看的 markdown 工作流(软的或半软的)。MCP 是真实的代码进程提供新工具(硬的)。一个 skill 经常会用到 MCP 提供的工具——比如 harness-skills 项目里的 skill 调用 harness-mcp 暴露的 API。

MCP vs Agent? Agent 是会决策的 LLM 实例。MCP server 是被动的工具提供者——它不"思考",只响应调用。Agent 用 MCP 工具干活。

为什么这个协议重要

2024 年底发布时大家觉得是又一个标准,2025 年很快被 OpenAI、Google、Microsoft、Cursor、Zed、Cline 等全部采纳——现在事实上是 AI 工具集成的通用底座。装一个 MCP server,Claude、Cursor、Codex 全都能用。

对你之前问的那些目录约定也有意义——.mcp.json 这个文件之所以单列出来(而不是塞进 settings.json),就是因为 MCP 已经独立成生态,跨工具共享。把 .mcp.json 提交 git,团队 clone 下来谁都能用同一组外部集成。

发表评论

Copyright © 2016 DEWEBSTUDIO