协议与标准

MCP 服务端(MCP Server)

MCP 服务端是一段程序,它通过 MCP 协议把工具、资源和/或提示词模板暴露给能理解该协议的 AI 应用。

工具资源提示词模板MCP 服务端
一个 MCP 服务端最多可以对外暴露三类能力:工具、资源和提示词模板。

MCP 服务端是一次 MCP 连接里的『提供方』。它把某种能力——访问某个数据库、一组文件操作、某个 SaaS 产品的 API、一批可复用的提示词——封装成 MCP 客户端能理解的标准形式,这样任何支持 MCP 的应用都能直接用它,不用再写一遍对接代码。

一个服务端不需要把 MCP 的三类能力都实现全。很多服务端只暴露工具(比如一个能帮 Agent 创建 GitHub issue 或执行搜索的服务端);有些还会暴露资源(可读取的上下文,比如文件内容或数据库记录);只暴露提示词模板的服务端相对少见,通常由客户端把模板插入对话中使用。具体某个服务端提供什么,完全取决于开发者当初怎么实现的。

由于协议这一层是统一的,同一个服务端可以被不同的宿主应用复用——编程 Agent、对话客户端、IDE 插件——只要它们各自实现了 MCP 客户端即可。这正是它的实际价值所在:服务端只需要写一次,之后在任何支持 MCP 的地方都能接进去。

怎么运作

客户端连接服务端时,会先做一次能力协商:服务端把自己提供的工具名称、描述、参数结构,能读取的资源及其 URI,以及有哪些提示词模板,一并告诉客户端。之后当客户端(代表模型)调用某个工具时,服务端会执行背后真正的逻辑——请求某个真实的 API、查询真实的数据库、执行真实的命令——再把结构化的结果或错误信息返回。认证、限流、安全检查这些都是服务端自己的责任;MCP 协议本身并不保证服务端安全或结果正确,所以宿主应用仍然需要自行判断信任哪些服务端,哪些操作可以自动执行、哪些需要人工确认。

举个例子

比如一个 filesystem MCP 服务端可能会暴露 read_filelist_directory 这类工具,每个工具都带有描述参数结构的 schema——任何连上它的 MCP 客户端都能直接调用这些工具,完全不需要知道背后是怎么实现的。

常见误解

常被以为: MCP 服务端一定会把工具、资源、提示词三类能力都实现。
实际上: 大多数服务端只实现了工具;资源和提示词是可选的,服务端作者可以选择要不要暴露。
常被以为: 只要遵循 MCP 协议,连上的服务端就一定是安全的。
实际上: MCP 标准化的是连接方式,不是服务端本身的行为——宿主应用仍然需要自行判断某个服务端的代码有多可信,再决定哪些操作可以自动放行。

常见问题

MCP 服务端到底做什么?
它把某种能力——可调用的工具、可读取的数据,或可复用的提示词模板——按 MCP 标准格式暴露出来,让任何 MCP 客户端都能直接连接使用,不需要再单独开发集成代码。
一个 MCP 服务端可以暴露多个工具吗?
可以,一个服务端通常会暴露若干相关工具,比如一个 GitHub 服务端可能分别提供创建 issue、列出 PR、搜索代码等多个工具。
MCP 服务端和普通 API 是一回事吗?
不完全一样——MCP 服务端通常是对现有 API 或系统做一层封装,用 MCP 标准化的工具/资源/提示词格式重新暴露出来,方便 AI 客户端统一发现和调用。

最近核实: 2026-08-28

相关术语