Skip to main content

MCP 服务器

MCP(Model Context Protocol,模型上下文协议)是一种开放标准,允许 AI Agent 与外部工具服务器进行通信。通过 MCP,你可以将文件系统访问、网络搜索、数据库查询、代码仓库浏览等各种能力以标准化的方式接入 Elftia,让 Agent 在对话中直接调用这些外部工具。

为什么需要 MCP

Agent 的内置能力是有限的。通过 MCP,你可以:

  • 扩展工具集 — 将任意外部服务的能力注册为 Agent 可调用的工具
  • 标准化接口 — 不同来源的工具使用统一的协议通信,无需为每个工具编写专属适配
  • 按需连接 — 只启用当前任务需要的服务器,避免工具列表过于臃肿
  • 跨项目复用 — 同一套 MCP 服务器配置可以在多个 Agent 之间共享

三种传输协议

Elftia 支持三种 MCP 传输方式,你可以根据使用场景选择:

传输类型连接方式适用场景示例
Stdio本地启动子进程,通过标准输入/输出通信本地工具、CLI 封装、npm/pip 包npx @modelcontextprotocol/server-filesystem
SSE通过 HTTP Server-Sent Events 长连接远程服务、需要实时推送的场景https://api.example.com/mcp/sse
HTTP基于 Streamable HTTP 的请求/响应远程 REST 风格的 MCP 服务https://api.example.com/mcp

:::tip 如何选择

  • 大多数场景选 Stdio — npm 或 pip 安装的 MCP 服务器包通常使用 Stdio
  • 远程托管服务选 SSE 或 HTTP — 如第三方提供的云端 MCP 服务
  • SSE 与 HTTP 的区别 — SSE 基于旧版 MCP 规范,HTTP 基于 MCP 2025-03-26 新规范(Streamable HTTP),新服务优先选 HTTP :::

工具发现与使用流程

当你配置好一个 MCP 服务器后,Elftia 会自动完成以下流程:

MCP 服务器启动/连接

Elftia 自动发现服务器提供的工具列表

工具注册到 Agent 的可用工具集

Agent 在对话中根据需要调用工具

工具返回结果,Agent 整合到回复中

工具命名格式:每个 MCP 工具会被注册为 mcp__服务器名__工具名 的格式。例如,名为 filesystem 的服务器提供的 read_file 工具,在 Agent 中的标识为 mcp__filesystem__read_file

MCP 与 Agent 的关系

MCP 服务器可以与 Agent 灵活搭配使用:

  • 自动模式(默认)— 所有已启用的 MCP 服务器的工具自动对所有 Agent 可用
  • 手动模式 — 在每次对话前选择本次使用哪些 MCP 服务器
  • Agent 绑定 — 将特定 MCP 服务器关联到特定 Agent,实现专属工具配置

主要功能一览

功能说明
多传输协议支持Stdio、SSE、HTTP 三种连接方式
工具自动发现连接后自动获取服务器提供的工具列表,缓存 5 分钟
JSON 批量导入通过 JSON 配置一次添加多个服务器
依赖自动检测自动检查 node/npm/uv/uvx 等命令行工具是否已安装
连接测试一键测试服务器连接状态和可用工具
工具禁用可选择性禁用服务器中的特定工具
信任管理区分受信任和未受信任的服务器
官方预设内置常用 MCP 服务器的一键安装配置

下一步