Astribot MCP(节点/TypeScript)
MCP服务器,用于通过以下方式操作Astribot:
- Astribot REST网关(
astrbot_plugin_mcp_tools)athttp://127.0.0.1:6324
这个项目是对Node+TypeScript的全面重写。
安装
npm install
npm run build跑
node dist/src/index.js或正在开发中:
npm run devMCP配置示例
{
"mcpServers": {
"astrbot-mcp": {
"command": "node",
"args": ["D:/绋嬪簭/astrbotmcp/dist/src/index.js"],
"env": {
"ASTRBOT_GATEWAY_URL": "http://127.0.0.1:6324",
"ASTRBOT_GATEWAY_TOKEN": "iaushdqwuikdwq78ui"
}
}
}
}环境变量
必修的:
ASTRBOT_GATEWAY_TOKEN
可选:
ASTRBOT_GATEWAY_URL(默认值:http://127.0.0.1:6324)ASTRBOT_GATEWAY_TIMEOUT(默认值:30000,毫秒)ASTRBOT_CAPABILITY_MODE(search|readonly|minimize|full,默认值:full)ASTRBOT_ENABLE_SEARCH_TOOLS(false默认情况下)ASTRBOT_LOG_VIEW(compact默认情况下,或raw)ASTRBOT_ENABLE_LOG_NOISE_FILTERING(true默认情况下)ASTRBOT_GITHUB_ACCELERATION(可选的GitHub加速基础URL覆盖,用于插件仓库安装/更新;使用off禁用MCP自动加速)
工具组
- 系统:状态、压缩日志、按id记录日志、重新启动
- 平台:列表、统计数据、详细信息
- 提供者:列表、当前、详细信息
- 配置:检查核心/插件,搜索,修补核心/插件
- 插件:列表/详细信息/配置读取+替换/安装/设置启用/重新加载/更新/卸载
- 消息:触发器回复、最近会话、历史记录
- astrbot-tools:列表/详细信息/调用/任务/流
- mcpservers:列表/注册/更新/卸载/测试
- 人物角色:列表/详细信息/追加销售/删除
- 技能:列表/安装/切换/删除
- 子代理:列表/配置检查/配置更新
- cron:列表/追加/删除
- 发现:
search_tools(仅当ASTRBOT_ENABLE_SEARCH_TOOLS=true)
安全默认值
capabilityMode=full默认情况下(根据要求)search_tools默认情况下禁用- 默认情况下,日志返回压缩/噪声滤波输出
- 重启和日志仅使用网关;不需要单独的仪表板身份验证
脚本
npm run check-类型检查npm run build-构建到dist/npm run dev-直接从TypeScript运行
消息语义
trigger_message_reply:通过以下方式注入入站消息/events/injections/message,可选地覆盖目标LLM提供者/模型/流标志,等待事件解决,默认情况下仅返回机器人回复文本。内部元数据隐藏,除非include_debug=true.trigger_message_reply:session_id可以为测试创建调用者。重复使用相同的id继续一个合成对话;使用新的id启动隔离的测试会话。对于GroupMessage,session_id通常是真实的组id。trigger_message_reply接受include_logs=false当你想要一个低上下文响应,但仍然保持发送和等待行为时。get_message_history:为webchat,使用conversation_id或target_id;不要将发件人id传递为user_id.conversation_id也可能是您之前在注射测试中创建的合成id。
内部工具语义
list_astrbot_tools:AstriBot内部工具的精简列表。这是LLM最清晰的发现条目。list_internal_tools:相同的紧凑列表,为向后兼容而保留。get_internal_tool_details:默认情况下压缩工具元数据,全参数模式由控制include_parameters.invoke_internal_tool:默认情况下压缩调用结果。它仅在当前MCP流程中对同一工具的第一次调用时返回工具参数模式,然后在以后的调用中隐藏它以减少上下文使用。invoke_internal_tool:现在默认为wait_for_completion=true。如果Astribot返回背景task_id,MCP将继续轮询/tools/tasks/{task_id}直到任务结束或wait_timeout_seconds已达到。invoke_internal_tool:当工具只返回后台接受消息时,MCP现在将该文本放入accepted_reply而不是假装这是决赛reply.invoke_internal_tool:include_logs=true将简化的任务日志附加到JSON结果中;默认值为false以保持简短的响应。invoke_internal_tool:include_image_content=true使MCP将完整的图像附件作为真实的MCP返回image除了紧凑的JSON元数据之外,还有内容块。invoke_internal_tool:使用show_parameters=true为了强制显示工具参数模式,show_parameters=false为了隐藏它,show_arguments=true以呼应实际的呼叫参数,以及show_debug=true以包括调试有效载荷。get_internal_tool_task:按以下方式对一个内部工具任务进行紧凑查询task_id.stream_internal_tool_task:从以下位置收集紧凑型SSE任务事件/tools/tasks/{task_id}/stream并返回最新的任务快照和流式事件。
插件工作流程
list_plugins:仅用于查找的紧凑插件列表。它不再返回完整的处理程序/配置噪声。get_plugin_details:一个插件的压缩元数据和命令列表。配置是有意分离的。get_plugin_config_file:获取完整的可编辑插件配置对象。这是更改插件配置之前的主要阅读步骤。replace_plugin_config_file:替换完整的插件配置对象并自动重新加载插件。- 正常的插件配置工作流程:
get_plugin_details->get_plugin_config_file->编辑返回的config对象->replace_plugin_config_file. patch_plugin_config:仅适用于小的路径级编辑。对于正常的配置工作,更喜欢上面的完整读取-编辑-保存流程。install_plugin/update_plugin:对于GitHub repos,MCP现在会自动检测可访问的GitHub加速前缀,并默认使用它。install_plugin/update_plugin:更喜欢github_acceleration;proxy为了向后兼容,仅保留为弃用的别名。- 推荐流量:
install_plugin->get_plugin_details->get_plugin_config_file->replace_plugin_config_file->uninstall_plugin必要时。
