MCP 配置指南
FancyHelper 内置 MCP 客户端,支持 HTTP 和 SSE 模式连接外部服务器,为游戏 AI 助手 Fancy 扩展工具能力。用户需在 config.yml 中开启 `mcp.client.enabled` 并配置服务器列表(含 URL、认证、传输模式等)。启动后通过 `#mcp_tools` 和 `#mcp` 命令验证连接与调用。
消歧
如果你在寻找MCP开发文档,请转到 MCP-dev
概述
MCP (Model Context Protocol) 是一种用于 AI 调用外部工具的开放协议。FancyHelper 内置了 MCP 客户端,可以连接到任意实现了该协议的 MCP 服务器,从而让游戏中的 AI 助手 Fancy 获得扩展的工具能力。
FancyHelper 支持两种传输模式:
HTTP 模式:客户端直接通过 HTTP POST 向 MCP 服务器发送 JSON-RPC 请求
SSE 模式:客户端先建立 SSE 连接获取消息端点,再通过 HTTP POST 通信
启用 MCP
在 plugins/FancyHelper/config.yml 中找到 mcp 配置段,将 enabled 设为 true:
mcp:
client:
enabled: true然后添加你的 MCP 服务器到 servers 列表中。
配置参考
全局配置
字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
|
|
| MCP 客户端总开关 |
|
|
| 工具调用超时时间(秒) |
|
|
| 服务器连接超时时间(秒) |
|
|
| 断线后自动重连间隔(分钟),设为 |
|
|
| MCP 服务器列表 |
服务器配置
servers 列表中每个条目为一个 MCP 服务器,支持以下字段:
字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
|
| 是 | — | 服务器标识名,在 |
|
| 是 | — | 服务器端点 URL。HTTP 模式指向 JSON-RPC 路径;SSE 模式指向 SSE 端点 |
|
| 否 |
| API 密钥,发送时携带 |
|
| 否 |
| 是否启用此服务器,设为 |
|
| 否 |
| 传输模式,可选值: |
传输模式行为
transport 字段决定客户端如何连接服务器:
值 | 行为 |
|---|---|
| 直接通过 HTTP POST 发送 JSON-RPC 请求 |
| 同 |
| 先 GET 连接 SSE 端点获取消息 URL,再 POST JSON-RPC 到消息端点 |
如果不确定选哪个模式,保持默认的 auto 即可。
配置示例
单服务器(HTTP 模式,最简单)
mcp:
client:
enabled: true
servers:
- name: "weather"
url: "http://localhost:3000/mcp"带认证的服务器
mcp:
client:
enabled: true
servers:
- name: "production"
url: "http://10.0.0.5:8080/mcp"
api_key: "sk-xxxxxxxxxxxx"SSE 模式服务器
mcp:
client:
enabled: true
servers:
- name: "stream-service"
url: "http://192.168.1.100:3000/sse"
transport: "sse"多服务器
mcp:
client:
enabled: true
servers:
- name: "weather"
url: "http://localhost:3001/mcp"
- name: "database"
url: "http://localhost:3002/mcp"
api_key: "sk-db-key"
- name: "file-tools"
url: "http://localhost:3003/sse"
enabled: false
transport: "sse"验证配置
启动 MCP 服务器
启动(或重启)Minecraft 服务器,观察控制台日志中
[MCP]前缀的输出,确认连接成功进入游戏,输入
#mcp_tools查看工具列表选择一个工具,使用
#mcp命令调用,确认返回结果正确
如果连接失败,检查:
mcp.client.enabled配置为true服务器 URL 可访问(可用浏览器或 curl 测试)
控制台日志中
[MCP]前缀的错误信息reconnect_interval大于 0 时,插件会自动尝试重连