MCP.so
登录
返回博客

什么是 MCP Server?本地与远程、示例与安装

2026年10月15日MCP.so TeamMCP.so Team

什么是 MCP Server?它是通过 Model Context Protocol 为 AI 应用提供工具和数据的程序。本文讲解本地与远程服务器、热门示例、安装方法与安全选择。

MCP Server(MCP 服务器)是一个通过 Model Context Protocol(MCP)向 AI 应用暴露工具、数据和提示词的程序。 AI 应用(Claude、ChatGPT、Cursor、VS Code 等)连接到服务器,读取它提供的能力列表,然后让模型调用这些工具,例如"搜索 issue"、"查询数据库"或"截图"。一个服务器可以在所有兼容 MCP 的应用中使用,所以集成只需要写一次。

如果你对协议本身还不熟悉,建议先读 什么是 MCP。本文聚焦服务器端:服务器里到底有什么、本地服务器和远程服务器的区别、知名示例、如何安装,以及如何挑选值得信任的服务器。

MCP Server 是做什么的

服务器就是一个适配器。它的一端连接真实的东西:SaaS API、数据库、你的文件系统、浏览器、设计工具。另一端说的是 MCP,一种基于 JSON-RPC 2.0 的协议,所有兼容的宿主(Host)都能理解。在两者之间,服务器决定提供哪些操作,以及如何描述它们,让语言模型能正确使用。

具体来说,一个服务器可以暴露三种 原语(primitives):

  • Tools(工具):模型可以调用的函数,每个工具都有名称、描述,以及描述参数的 JSON Schema。GitHub 服务器提供读取文件、创建 Pull Request、搜索 issue 等工具;Postgres 服务器提供执行 SQL 的工具。
  • Resources(资源):带 URI 的只读数据,宿主可以把它作为上下文附加进来。例如一个文件、一张表的 schema 或一段日志。
  • Prompts(提示词):由用户主动启动的模板,通常以斜杠命令的形式出现,比如一份代码审查清单。

大多数服务器的主体都是工具。我们的 Resources 与 Tools 对比指南 解释了服务器在什么情况下该用哪一种。

服务器还会自我描述。在当前的规范版本(2026-07-28)中,每个服务器都必须响应 server/discover,返回它支持的协议版本、它的能力(capabilities),以及一个可选的 instructions 字符串,告诉模型如何更好地使用它。线路层面的细节见 MCP 是如何工作的。

服务器不做什么

服务器永远看不到完整的对话,也从不与其他服务器通信。由宿主(AI 应用)决定发什么给它,并在运行工具前征求用户同意。这种隔离是 MCP 的核心 设计原则 之一:服务器保持小而专注,由宿主负责执行用户授权。

本地 MCP Server 与远程 MCP Server

每个服务器都使用两种标准 传输方式(transports) 之一,这个选择决定了你如何安装、保护和共享它。

本地服务器(stdio)远程服务器(Streamable HTTP)
运行位置宿主在你电脑上启动的子进程在厂商或你自己的基础设施上,通过 URL 访问
添加方式一条命令,例如 npx -y some-package一个 URL,例如 https://mcp.example.com/mcp
认证环境变量或本地凭据在浏览器中完成 OAuth 登录,或使用请求头 token
适用场景文件、本地 git、浏览器、开发数据库、桌面应用SaaS 工具(GitHub、Notion、Sentry、Linear)、团队共享服务器
更新你自己更新软件包厂商替你更新
主要风险以你的用户权限运行你需要信任厂商处理工具涉及的数据

经验法则:如果你要用的东西在你自己的电脑上(文件、本地浏览器、Blender),就用本地服务器。如果它是云产品,优先使用厂商官方的远程服务器,因为你得到的是 OAuth 而不是长期有效的 API key,而且永远不需要自己更新。远程 MCP 服务器指南 列出了主要的托管端点,部署 MCP 服务器 则介绍了如何自行托管。

旧版的 HTTP+SSE 传输(URL 以 /sse 结尾)已被弃用。很多客户端仍然会回退到它,但新服务器应当使用 Streamable HTTP;详见 SSE 与 Streamable HTTP。

热门 MCP Server 示例

以下是 MCP.so 上收录的常用服务器,按用途分组:

类别服务器模型能做什么
代码GitHub MCP Server读取仓库、管理 issue 和 PR、查看 Actions 运行情况
浏览器Playwright MCP打开页面、点击、填写表单、读取无障碍树
文档Context7获取最新的、特定版本的库文档
文件Filesystem在你允许的文件夹内读取、写入和搜索文件
数据Supabase、Postgres MCP Pro查看 schema、执行查询、管理项目
设计Figma (Framelink)把 Figma 画框中的布局和样式数据拉进代码
错误监控Sentry查询 issue、堆栈跟踪和发布版本
协作Notion、Linear、Slack搜索和更新页面、工单和消息
推理Sequential Thinking、Memory结构化的逐步思考、持久化的知识图谱
搜索Exa、Firecrawl专为 Agent 打造的网页搜索与页面抓取

Filesystem、Memory 和 Sequential Thinking 是官方 modelcontextprotocol/servers 仓库维护的参考服务器。我们的 最佳 MCP 服务器 清单介绍得更深入,完整目录见 MCP.so 目录 和 分类。

如何安装 MCP Server

具体步骤取决于宿主,但形式只有两种。

远程服务器 只需要它的 URL。在 Claude Code 中(文档):

claude mcp add --transport http notion https://mcp.notion.com/mcp

然后在 Claude Code 中运行 /mcp,通过 OAuth 登录。在 Claude Desktop 或 claude.ai 中,远程服务器以自定义连接器(custom connector)的形式添加,位置在 Settings → Connectors(指南)。

本地服务器 需要一条命令。在 Claude Code 中,-- 之后的所有内容都是要运行的命令,--env 用来传入凭据:

claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

使用 JSON 配置文件的应用格式几乎相同。下面是官方针对 claude_desktop_config.json 的 filesystem 示例(快速入门);Cursor 也从 .cursor/mcp.json 或 ~/.cursor/mcp.json 读取同样的 mcpServers 结构:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop"
      ]
    }
  }
}

末尾的路径就是服务器唯一可以访问的文件夹。编辑文件后重启应用。各宿主的分步指南:Claude Code、Claude Desktop、Cursor、VS Code、ChatGPT 和 Codex。适用于任何客户端的通用步骤见 设置 MCP 服务器。

如果连接不上

  • 本地服务器始终无法启动:先在终端里原样运行这条命令。常见原因是没装 Node.js 或 Python、绝对路径写错,或者包名拼错。
  • 远程服务器返回 401:你还没完成 OAuth,或者 token 已过期。在宿主中重新走一遍登录流程。
  • 工具没有出现:重启宿主,然后查看它的 MCP 面板或日志。你也可以把服务器连到 MCP Inspector,直接看它到底返回了什么。

如何挑选安全的 MCP Server

服务器可以读取其凭据允许访问的一切,而它的工具描述会直接进入模型的上下文。规范中的 安全原则 指出:除非来自可信服务器,否则工具描述应被视为不可信;并且宿主在运行工具前必须征得用户同意。安装前请检查:

  1. 发布者。 优先选择厂商自己发布的服务器(GitHub、Sentry、Notion、Supabase),或官方参考仓库中的服务器。在 MCP.so 上,留意名称中带有"Official"且附有源码仓库链接的条目。
  2. 源码与活跃度。 开源、近期有提交、真实的 issue 有人回复。警惕那些模仿热门名称的全新软件包。
  3. 访问范围。 能用只读 token 或只读模式就用;把 filesystem 服务器限制在一个项目文件夹内;除非确实需要,给数据库服务器分配没有写权限的角色。
  4. 认证方式。 远程服务器上的 OAuth 胜过粘贴到配置文件里的长期个人 token。
  5. 工具审批。 对任何会写入、发送或删除的操作,保持宿主的确认提示处于开启状态。
  6. 版本锁定。 对本地软件包,锁定具体版本,而不是每次都拉取 @latest,这样被攻破的更新就无法悄无声息地改变工具行为。

通过服务器读取的网页、issue 或邮件进行的提示词注入,是现实中最常见的风险。我们的 MCP 安全最佳实践 对此有深入讲解。

需要自己构建吗?

只有当现有服务器都覆盖不了你的系统时才需要。如果确实要做,官方 SDK 让它变得很简单:一个只有一个工具的 Python 服务器大约十行代码,TypeScript 版本也多不了多少。可以从 构建 MCP 服务器 或 Python MCP 服务器教程 开始;托管服务器的费用请看 MCP 服务器是免费的吗。

下一步

浏览 MCP.so 服务器目录,按 分类 筛选,再挑一个 客户端 连接它。如果你想知道连接后线路上发生了什么,请阅读 MCP 是如何工作的。

常见问题

MCP Server 是用来做什么的?

MCP Server 通过暴露模型可用的工具、资源和提示词,让 AI 应用接入某个具体系统,比如 GitHub、数据库、浏览器或本地文件。这样助手就能读取真实数据并执行操作,而不只是生成文字。

本地 MCP Server 和远程 MCP Server 有什么区别?

本地 Server 作为子进程在你的电脑上通过 stdio 运行,通常从环境变量读取凭证。远程 Server 部署在一个 URL 上,使用 Streamable HTTP 传输,一般通过 OAuth 登录。

安装 MCP Server 安全吗?

安全程度取决于发布者和你给它的权限。优先使用厂商官方的 Server,使用只读或权限范围小的凭证,保持工具调用确认弹窗开启,本地 Server 要锁定包版本。

使用 MCP Server 需要写代码吗?

不需要。大多数 Server 只需在 AI 应用里执行一条命令或添加一小段 JSON 配置,远程 Server 粘贴 URL 即可。只有想自己开发 Server 时才需要写代码。