给 Agent 接入 MCP,支持 stdio 和 Streamable HTTP。
大家好,我是二哥呀。
上一期我们给 PaiCLI 加上了联网能力,搜索和抓取都有了。但这些工具都是我们自己实现的。
如果想让 Agent 操作本地文件系统呢?
或者读取 GitHub 仓库呢?
难到每个需求都要自己写一遍?
不用。MCP 可以用来干这个。

MCP 全称 Model Context Protocol,翻译过来叫做模型上下文协议。一句话概括:它是一个让 Agent 接入第三方工具的标准协议。
有了 MCP,别人写好的工具(比如文件操作、GitHub 读取、数据库查询),我们的 Agent 不用写一行代码就能直接用。
~~当然了,配置还是需要配置的~~。😄
这一期,我们就来给 PaiCLI 接上 MCP。
01、先看效果
老规矩,先看接上 MCP 之后 PaiCLI 能干什么,再聊怎么实现。
在没有配置 MCP 之前,启动 PaiCLI 会看到这样的提示:

🔌 MCP server:未配置。意思是 MCP 已经就绪了,只需要我们告诉它要连哪些 server。
这次我们来接入两个 MCP server。
第一个是 Claude 官方提供的 filesystem,一个基于 stdio 的本地文件操作工具,支持读写文件、搜索文件、列目录等等。
stdio啥意思,我们后面会讲。
第二个是智谱提供的 zread,一个基于 Streamable HTTP 的远程工具,可以读取 GitHub 仓库的文件内容和目录结构。
配置文件放在 ~/.paicli/mcp.json,内容长这样:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "${PROJECT_DIR}"]
},
"zread": {
"type": "http",
"url": "https://open.bigmodel.cn/api/mcp/zread/mcp",
"headers": {
"Authorization": "Bearer your_api_key"
}
}
}
}

好,我们的 PaiCLI Agent 就同时接入了两种 MCP:一种是 stdio 传输(filesystem),另一种是 Streamable HTTP 传输(zread)。
重新启动 PaiCLI,输入提示词:
读一下 itwanger/paicoding 仓库根目录的 README,给我讲讲它在做什么

Agent 自动调用了 zread.read 这个 MCP 工具,去 GitHub 上抓取了 README 的内容,然后给出了总结。

再试试 zread.get_repo_structure,输入提示词:我想看 src 目录的完整树状结构,包括所有子目录和文件。

整个仓库的目录结构一目了然。你也可以试试其他提示词:
- 搜一下 itwanger/paicli 这个仓库的官方文档,看看 MCP 是怎么集成的?
- 看看 itwanger/paicoding 仓库整体的目录结构
接下来测试 Claude 官方的 filesystem MCP。
最好清一下上下文 /clear。
输入提示词:把 README.md 第 3 行那句“对标 Claude Code”改成“对标 Claude Code 作者为沉默王二”。

这里能看到 Agent 调用了 MCP 工具 filesystem.edit_file,直接修改了本地文件。
回到仓库里验证一下,改动确实生效了。

再比如调用 filesystem.search_files,在整个仓库里搜文件名带 Manager 的 Java 文件。

两种 MCP 都跑通了。
Agent 不需要知道工具的实现细节,只要 MCP server 提供了工具描述,Agent 就能根据用户意图自动选择调用。
这就是 MCP 最大的价值:工具的开发者和 Agent 的开发者可以完全解耦。filesystem 的作者不需要知道 PaiCLI 是怎么实现的,PaiCLI 也不需要知道 filesystem 内部是怎么读写文件的。双方只要遵循 MCP 协议,就能无缝对接。
02、MCP 到底是什么
效果看完了,现在来硬核一把,把 MCP 的技术细节掰开揉碎给大家讲清楚。
JSON-RPC 2.0 协议
MCP 的底层通信协议是 JSON-RPC 2.0。
不是 HTTP REST,不是 gRPC,就是最朴素的 JSON-RPC。
JSON-RPC 很简单,一个请求长这样:
{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {...企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
回复