MCP 服务端(MCP Server)
MCP 服务端是一段程序,它通过 MCP 协议把工具、资源和/或提示词模板暴露给能理解该协议的 AI 应用。
MCP 服务端是一次 MCP 连接里的『提供方』。它把某种能力——访问某个数据库、一组文件操作、某个 SaaS 产品的 API、一批可复用的提示词——封装成 MCP 客户端能理解的标准形式,这样任何支持 MCP 的应用都能直接用它,不用再写一遍对接代码。
一个服务端不需要把 MCP 的三类能力都实现全。很多服务端只暴露工具(比如一个能帮 Agent 创建 GitHub issue 或执行搜索的服务端);有些还会暴露资源(可读取的上下文,比如文件内容或数据库记录);只暴露提示词模板的服务端相对少见,通常由客户端把模板插入对话中使用。具体某个服务端提供什么,完全取决于开发者当初怎么实现的。
由于协议这一层是统一的,同一个服务端可以被不同的宿主应用复用——编程 Agent、对话客户端、IDE 插件——只要它们各自实现了 MCP 客户端即可。这正是它的实际价值所在:服务端只需要写一次,之后在任何支持 MCP 的地方都能接进去。
怎么运作
客户端连接服务端时,会先做一次能力协商:服务端把自己提供的工具名称、描述、参数结构,能读取的资源及其 URI,以及有哪些提示词模板,一并告诉客户端。之后当客户端(代表模型)调用某个工具时,服务端会执行背后真正的逻辑——请求某个真实的 API、查询真实的数据库、执行真实的命令——再把结构化的结果或错误信息返回。认证、限流、安全检查这些都是服务端自己的责任;MCP 协议本身并不保证服务端安全或结果正确,所以宿主应用仍然需要自行判断信任哪些服务端,哪些操作可以自动执行、哪些需要人工确认。
举个例子
比如一个 filesystem MCP 服务端可能会暴露 read_file、list_directory 这类工具,每个工具都带有描述参数结构的 schema——任何连上它的 MCP 客户端都能直接调用这些工具,完全不需要知道背后是怎么实现的。
常见误解
常见问题
MCP 服务端到底做什么?
一个 MCP 服务端可以暴露多个工具吗?
MCP 服务端和普通 API 是一回事吗?
最近核实: 2026-08-28