VoociiBlog
HomeBlogAI TrendingPortfolioBooksLinksToolsAbout

© 2026 Voocii. Built with Next.js & tRPC.

GitHubXEmailRSS


AI 应用的"万能接口":MCP

AI & LLMrick-hayekrick-hayek2026年2月20日

一、为什么需要 MCP

如果你做过 AI 应用开发,大概率遇到过这样的场景:想让大模型读取本地文件、查询数据库、调用某个第三方 API,于是不得不为每一个数据源单独写一套"胶水代码"——工具定义、鉴权逻辑、错误处理,每接入一个新系统就要重复一遍。

如果你同时维护多个 AI 应用(比如一个 IDE 插件、一个桌面助手、一个 Web 服务),情况会更糟:N 个应用 × M 个数据源,意味着 N×M 套集成代码。

MCP(Model Context Protocol,模型上下文协议) 正是为了解决这个问题而生。它由 Anthropic 提出并开源,目标是给"大模型如何连接外部数据和工具"这件事定义一套标准协议,就像 USB-C 统一了外设接口一样。

MCP 之前与之后的集成方式对比

有了统一协议,数据源和工具的提供方只需要实现一次 MCP Server,任何支持 MCP 的应用都可以直接接入,不需要为每个应用单独适配。

二、MCP 的核心架构

MCP 采用经典的 Host - Client - Server 三层模型:

MCP 架构总览

  • Host(宿主应用):用户实际使用的程序,例如 Claude CLI、某个 IDE 插件或自建的 Agent 应用。Host 负责与大模型交互,决定在什么时机调用哪个工具。
  • MCP Client:内嵌在 Host 中的协议适配层,与某一个 MCP Server 维持 1:1 的连接,负责协议层面的消息收发和会话管理。
  • MCP Server:真正对接具体数据源或工具的一方,向外暴露标准化的能力,主要包括三类:
    • Tools(工具):模型可以主动调用的函数,比如"执行 SQL 查询""发送一条 Slack 消息"。
    • Resources(资源):只读的上下文数据,比如一个文件内容、一段日志。
    • Prompts(提示模板):预先定义好的、可复用的提示词模板。

传输层上,MCP 支持两种主流方式:本地场景常用 stdio(标准输入输出,进程间通信开销小),远程场景常用基于 HTTP 的 SSE(Server-Sent Events) 或可流式传输的 HTTP,方便跨网络访问部署在云端的 Server。

三、一个最小可用的 MCP Server 示例

以 Node.js 为例,下面是一个仅暴露"查询天气"这一个工具的极简 MCP Server:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "weather-server",
  version: "1.0.0",
});

server.tool(
  "get_weather",
  "查询指定城市的当前天气",
  { city: z.string().describe("城市名称,例如:上海") },
  async ({ city }) => {
    // 这里替换为真实的天气 API 调用
    const weather = await fetchWeatherFromSomewhere(city);
    return {
      content: [{ type: "text", text: `${city} 当前天气:${weather}` }],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

任何支持 MCP 的 Host(比如 Claude CLI)只需在配置文件中注册这个 Server 的启动命令,就能让模型在对话中按需调用 get_weather 工具,而无需为每个 Host 单独适配。

四、典型应用场景

  • 本地开发辅助:接入文件系统、Git、数据库的 MCP Server,让 AI 助手直接读写代码仓库、执行迁移脚本。
  • 企业内部知识连接:把 Confluence、Jira、内部工单系统封装成 MCP Server,员工用自然语言就能跨系统检索和操作。
  • 多 Agent 协作流水线:一个 Agent 通过 MCP 调用另一个专精工具(例如图像生成、财务计算),实现能力的组合而不是重复造轮子。
  • 个人自动化工具箱:把日历、邮箱、笔记软件都接入 MCP,日常琐事交给 AI 助手统一调度。

五、使用 MCP 时值得注意的几点

  1. 权限边界要明确:MCP Server 往往拥有对真实系统(文件、数据库、生产环境 API)的操作权限,务必做好最小权限原则和操作确认机制,避免模型"越权"执行破坏性操作。
  2. 协议还在快速演进:MCP 规范仍在持续更新,鉴权方式(如 OAuth 集成)、流式传输细节等都可能变化,接入时建议关注官方规范版本号。
  3. 不是所有场景都需要 MCP:如果只是一次性、单一场景的集成,直接写函数调用(function calling)可能比引入一整套协议更轻量。MCP 的价值在于"多方复用",场景越简单,收益越小。

六、小结

MCP 把"AI 模型如何接入外部世界"这件事标准化了:Host 专注对话与决策,Client 负责协议通信,Server 专注暴露能力。这种解耦让工具和数据源的提供方与 AI 应用的开发方可以独立演进,正在成为构建复杂 Agent 系统的基础设施之一。

Comments (0)

No comments yet. Be the first!

On this page
  • 一、为什么需要 MCP
  • 二、MCP 的核心架构
  • 三、一个最小可用的 MCP Server 示例
  • 四、典型应用场景
  • 五、使用 MCP 时值得注意的几点
  • 六、小结