MCP 使用
发布时间:2026-10-27 | 浏览:1
配置 SnowLuma MCP,查询动作、执行请求,并按需启用后台任务和事件订阅
@snowluma/mcp 通过 stdio 把 SnowLuma 的 OneBot 动作目录和可选执行能力接入 AI 客户端。原有工具、参数、文本结果和读写权限保持兼容;支持新版能力的客户端还可以使用补充输入、后台任务、事件订阅和消息预览面板。
本节按 当前开发分支 维护。新能力需要包含对应更新的包;源码更新不代表 npm 包已经发布,请核对实际安装版本。目录是随包提供的快照,不代表连接的服务端支持其中所有动作。
只读属性来自动作定义,不能仅凭 get_ 等名称前缀判断。即使绕过工具列表直接调用,服务端也会检查模式。所有流式动作目前都要求写模式,包括下载。
一个支持 stdio MCP 服务的客户端。
当前包要求 Node.js ^24.22.1 || >=26.12.1 ,客户端能运行 node 或 npx 。
执行动作需要已配置的 OneBot HTTP 端点 ,例如 http://127.0.0.1:3000/ ;WebUI 的管理端口不能替代它。
事件订阅另外需要 OneBot WebSocket 事件地址,不能从 HTTP 端口猜测。
同一命令支持 MCP 2026-07-28 的发现机制和旧客户端的初始化流程,无需为旧客户端更换启动方式。高级能力是否可用还取决于客户端声明的支持情况;这里不会启动对外监听的 MCP HTTP 服务。
下面是使用 mcpServers 配置格式的客户端示例,其他客户端请使用其等价配置:
资源 snowluma://onebot/actions 提供完整目录。详见 动作发现与结果 。
在 WebUI 的网络适配器配置中确认 OneBot HTTP 地址与访问令牌。以下配置启用只读执行:
127.0.0.1 指 MCP 进程所在机器。跨机器连接时使用实际服务地址;访问令牌应由客户端配置注入,不要放进提示词。
执行模式提供 query_action({ action, params? }) ,以及缺少必填参数时请求用户补充的 query_action_with_input 。完整参数仍可直接交给原工具。
在上面的 env 中增加 "SNOWLUMA_MCP_MODE": "write" ,会增加 invoke_action({ action, params?, execution? }) 和 invoke_action_with_input 。写模式允许发消息、修改群设置等实际操作,请按所用客户端的授权策略控制调用。
下面是同时配置可选服务的 env 示例。只保留需要的项,目录是 MCP 主机 上的目录:
用 search_actions 找到动作,再用 get_action 确认参数、返回结构和标识来源。
用 get_runtime_info 查看配置;需要联网核查时显式传入 check_connection: true 。
普通查询用 query_action ,写入用 invoke_action 。缺少必填参数时可用对应的 _with_input 工具。
长传输可以创建后台任务;等待后续消息时可以订阅事件。
检查业务响应和结果诊断,不把“工具调用完成”当成“消息已送达”。
动作必须存在于包内目录,并通过读写模式检查。目录查询和默认环境概览不联网;事件连接仅在调用订阅工具后建立。取消或超时不会撤销已到达服务端的操作,也不会触发自动重试。普通业务失败保留 OneBot 响应,需检查 status 、 retcode 和结构化诊断;参数、传输及流式协议错误会显式报错。
Monorepo 结构、核心启动链路与贡献注意事项
搜索动作、读取返回结构、检查环境,并追踪调用结果