MCP 基础:Server、Tool、Resource 和 Prompt
MCP 经常被一句话概括成“AI 应用的 USB-C 接口”。这个比喻有用但如果你要真的把系统接进去还要理解四个核心词Host Client Server Primitives: Tool / Resource / PromptOpenClaw 也可以通过 MCP 暴露会话或者消费外部 MCP server 提供的工具和上下文。先说结论MCP 是 AI 应用和外部系统之间的标准协议官方 MCP 文档说MCP 是一个开源标准用来把 AI 应用连接到外部系统例如本地文件、数据库、搜索引擎、计算器、工作流和提示模板。它不规定模型怎么推理也不规定 Agent 怎么规划。它规定的是AI 应用如何发现外部能力 如何读取上下文 如何调用工具 如何获取 prompt 模板 如何通过标准 transport 通信参与者Host、Client、ServerMCP 是 client-server 架构。MCP Host AI 应用本体例如 IDE、桌面助手、Agent 平台 MCP Client Host 内部维护到某个 MCP Server 的连接 MCP Server 提供上下文和能力的程序可以本地运行也可以远程运行一个 Host 可以连接多个 Server每个连接通常有一个 MCP Client。在 OpenClaw 语境下你可以把 OpenClaw 的某些 runtime 或桥接层理解为 MCP host/client 的一部分也可以用openclaw mcp serve让 OpenClaw 作为 MCP server 暴露会话能力。Transportstdio 和 Streamable HTTPMCP 标准 transport 主要有两类stdio 客户端启动本地 server 进程通过 stdin/stdout 交换 JSON-RPC 消息 Streamable HTTP server 作为独立 HTTP 服务支持远程连接、认证和流式能力重要细节stdio server 不要向 stdout 打普通日志 stdout 只能写 MCP JSON-RPC 消息 日志应该写 stderr这是很多新手写 MCP server 会踩的坑。Server primitivesTool、Resource、PromptMCP Server 能暴露三类核心能力。ToolTool 是模型可以调用的可执行函数。例如get_weather query_database create_ticket send_messageTool 是 model-controlled模型可以根据上下文决定调用哪个工具。但官方规范也强调安全上应该有人能看到和拒绝工具调用。ResourceResource 是给模型看的上下文数据。例如file:///project/schema.sql db://customers/table-schema notion://page/123Resource 更偏 application-driven应用可以让用户选择、搜索或自动加入资源。PromptPrompt 是可复用的提示模板。例如code_review incident_summary release_checklistPrompt 更偏 user-controlled通常像 slash command 一样由用户显式选择。MCP 和 OpenClaw Skill 的区别Skill 是教 Agent 如何使用能力。MCP 是把外部能力通过协议暴露出来。对比Skill 说明、流程、脚本、经验、操作指南 MCP 标准协议、工具、资源、提示模板、外部系统连接很多时候二者会一起用MCP server 暴露 GitHub / Jira / Notion 工具 Skill 教 Agent 在什么场景如何组合这些工具一个真实场景你要把公司内部工单系统接给 OpenClaw。MCP Server 可以暴露Tools: ticket.search ticket.create ticket.update_status Resources: ticket://schema ticket://queue/today Prompts: incident_summary escalation_reviewSkill 则可以补充什么情况下查工单 什么情况下升级 哪些字段不能发到群聊 创建工单前要确认什么常见误解误解一MCP 就是工具调用不只是。它还有 Resource、Prompt、生命周期、transport 和能力协商。误解二MCP Server 一定是远程服务不是。stdio 本地 server 很常见。误解三Resource 会自动进入模型上下文不一定。应用决定如何选择、读取和注入。误解四Prompt 等于系统提示词不完全。MCP Prompt 更像服务器提供的可复用模板通常由用户或客户端选择。最后总结MCP 让外部系统用标准方式进入 AI 应用。一句话总结Tool 负责动作Resource 负责上下文Prompt 负责模板Server 负责把这些能力通过协议暴露给 Client。本节作业用自己的话解释 Host、Client、Server。给一个外部系统分别设计一个 Tool、Resource、Prompt。解释 stdio MCP server 为什么不能随便写 stdout。区分 Skill 和 MCP 的职责。下一节预告下一节讲把一个外部系统接成 MCP 工具。参考资料MCP DocsWhat is MCP?MCP DocsArchitecture overviewMCP SpecToolsMCP SpecResourcesMCP SpecPromptsOpenClaw DocsMCP CLI原文链接MCP 基础Server、Tool、Resource 和 Prompt | Harries Blog™