首页
看点啥
插画图片
首页 看点啥 MCP 生态崛起——像搭积木般复用 AI 工具

MCP 生态崛起——像搭积木般复用 AI 工具

2026-07-14 0

前言

上一篇文章我们聊了 MCP 的基础概念和跨进程调用。今天继续深入,看看MCP 生态到底能给我们的开发效率带来多大提升。

MCP 生态崛起——像搭积木一样复用 AI 工具

先看一个场景:你的 Agent 需要——

放在以前,你可能要写一堆 HTTP 请求、文件操作、 Puppeteer 脚本,还要把这些功能封装成 Tool 供 LLM 调用。

但现在,有了 MCP 协议,这些能力全都有现成的 Server 可以直接复用。

一、MCP 基础:架构三组件 + 三大原语

在深入实战之前,我们先快速建立 MCP 的核心概念框架,避免后续混淆。

1.1 架构三组件:Host、Client、Server

MCP 的通信模型由三个角色组成:

组件本质示例
MCP HostAI 应用程序(Agent)LangChain 脚本、Cursor、Claude Desktop
MCP Client协议通信层(内置在 Host 中)MultiServerMCPClient
MCP Server独立的工具/资源/提示提供者my-mcp-server、高德 MCP、Filesystem MCP

一句话总结:Host 是大脑,Client 是神经,Server 是手脚。 Host 通过 Client 与多个 Server 通信,实现能力扩展。

1.2 三大原语:Tools、Resources、Prompts

MCP 协议定义了三种可暴露的能力,统称为“原语(Primitives)”:

原语作用交互方式类比
Tools(工具)执行动作、计算模型主动调用(传参执行)AI 的“手”
Resources(资源)提供数据、知识模型被动接收(注入上下文)AI 的“备忘录”
Prompts(提示模板)提供指令模板、话术Client 主动获取并填充AI 的“SOP”

三者在 Agent 工作流中协同工作:
启动时读取 Resources 和 Prompts 构建高质量的 System Prompt;运行时根据用户 Query 自主决定调用哪些 Tools;Tool 执行结果回传后继续推理,直至完成任务。

二、远程 MCP 的应用场景

MCP 本质上还是 Tool,只不过包了一层进程,可以通过stdio或HTTP/SSE来访问。

常见场景

MCP Server功能典型用途
高德地图 MCP位置查询、路线规划、POI 搜索酒店查询、导航、地理编码
Chrome DevTools MCP打开/关闭页面、点击元素、截图自动化测试、网页信息抓取
FileSystem MCP读写文件、创建目录日志记录、数据持久化、配置管理

这些 Server 可以是本地的(stdio),也可以是远程的(HTTP/SSE)。比如高德地图官方就提供了远程 MCP 服务,只需要一个 API Key 就能用。

三、一键集成多个 MCP Server

在 LangChain 中,MultiServerMCPClient支持同时配置多个 MCP Server,无论是本地还是远程。

3.1 配置示例

javascript

import { MultiServerMCPClient } from '@langchain/mcp-adapters';import { ChatOpenAI } from '@langchain/openai';const mcpClient = new MultiServerMCPClient({mcpServers: {// 1. 远程 MCP(高德地图,通过 SSE)'amap-sse': {url: 'https://mcp.amap.com/sse?key=你的高德API密钥'},// 2. 本地 Node 编写的自定义 MCP(含 Tool + Resource + Prompt)'my-mcp-server': {type: 'stdio',command: 'node',args: ['路径/my-mcp-server.mjs']},// 3. 官方 FileSystem MCP(通过 npx 直接运行)'file-system-server': {type: 'stdio',command: 'npx',args: ['@modelcontextprotocol/server-filesystem','C:Users...workspace'// 允许访问的根目录]},// 4. Chrome DevTools MCP(通过 npx 运行)'chrome-devtools-server': {type: 'stdio',command: 'npx',args: ['--y','chrome-devtools-mcp','--port', '9222','--chrome-path', 'C:Program FilesGoogleChromeApplicationchrome.exe']}}});

3.2 获取所有 Tool、Resource 和 Prompt

javascript

// 获取所有工具(用于绑定给 LLM)const tools = await mcpClient.getTools();// 获取所有 Resources(可注入 System Prompt)const resources = await mcpClient.listResources();let resourceContent = '';for (const [serverName, resList] of Object.entries(resources)) {for (const res of resList) {const content = await mcpClient.readResource(serverName, res.uri);resourceContent += content[0].text;}}// 获取 Prompts(可动态获取提示模板)const prompts = await mcpClient.listPrompts();// 例如获取 'travel_guide' 模板并传入城市参数const promptResult = await mcpClient.getPrompt('travel_guide', { city: '西安' });// promptResult.messages 即为渲染后的提示消息

四、为什么 MCP 让复用变得如此简单?

在 MCP 之前,如果你想复用别人写的 Tool,通常要:

而现在,只要对方按照 MCP 规范暴露了一个 Server(stdio 或 HTTP),你就可以直接通过MultiServerMCPClient配置一下 URL 或命令,零代码侵入地拿到所有工具、资源和提示。

这种“插件化”的架构,让 AI Agent 的能力边界可以无限扩展——需要什么能力,就加一个 MCP Server 配置。

五、生态现状

目前 MCP 生态已经涌现出大量官方和社区贡献的 Server:

未来,MCP 极有可能成为 AI Agent 领域的 “USB 接口标准” ——任何工具只要插上这个接口,就能被任意 Agent 识别和使用。

六、小结

下一篇文章,我们将基于这些 Server,实现一个完整的实战案例:查询酒店 -> 保存结果 -> 浏览器展示图片。

喜欢(0)

上一篇

小白WorkBuddy教程

小白WorkBuddy教程

下一篇

Claude 必备技能 Code Review

Claude 必备技能  Code Review
猜你喜欢