astrbot_plugin_skills_mcp_manager
mcp
为astrbot提供函数工具和指令来管理 AstrBot Skills 和 MCP 服务器。
README.md
Skills & MCP 管理器 (astrbot_plugin_skills_mcp_manager)
为astrbot提供函数工具和指令来管理 AstrBot Skills 和 MCP 服务器。
环境要求
| 依赖 | 版本要求 | 说明 |
|---|---|---|
| Python | >= 3.10 | |
| AstrBot | >= 4.13.2 | Skills + MCP 管理 API |
功能
- 16 个 LLM Tool — 供 LLM 自动调用的函数工具,覆盖 Skills 和 MCP 全生命周期管理
/skill命令组 — 用户直接通过指令管理 Skills/mcp命令组 — 用户直接通过指令管理 MCP 服务器- 内置 Skill — 自动安装
SKILL.md指令手册,引导 AI 正确使用管理工具
安装
俩种方式
- 在 AstrBot 插件市场搜索
Skills & MCP 管理器,点击安装 - 在插件界面右下角点击加号选择从链接安装输入
https://github.com/piexian/astrbot_plugin_skills_mcp_manager
LLM 工具列表
Skills 管理
| 工具 | 功能 | 权限 |
|---|---|---|
list_skills |
列出所有 Skills 及状态 | 无 |
enable_skill |
启用 Skill | 管理员 |
disable_skill |
禁用 Skill | 管理员 |
delete_skill |
删除 Skill(需确认) | 管理员 |
install_skill |
从 ZIP 安装 Skill | 管理员 |
list_skill_files |
列出 Skill 文件结构 | 管理员 |
read_skill_file |
读取 Skill 文件内容 | 管理员 |
update_skill_file |
更新 Skill 文件内容(支持编辑模式) | 管理员 |
update_skill_from_zip |
从 ZIP 覆盖更新 Skill(需确认) | 管理员 |
MCP 服务器管理
| 工具 | 功能 | 权限 |
|---|---|---|
list_mcp_servers |
列出 MCP 服务器及运行状态 | 无 |
get_mcp_server_config |
查看配置详情(自动脱敏) | 无 |
enable_mcp_server |
启用 MCP 服务器 | 管理员 |
disable_mcp_server |
禁用 MCP 服务器 | 管理员 |
add_mcp_server |
添加 MCP 服务器(自动测试连接) | 管理员 |
update_mcp_server |
更新配置(支持编辑模式,测试→禁用→保存→启用) | 管理员 |
remove_mcp_server |
移除 MCP 服务器(需确认) | 管理员 |
使用
指令
/skill ls # 列出 Skills
/skill on <名称> # 启用 Skill
/skill off <名称> # 禁用 Skill
/skill del <名称> # 删除 Skill
/skill files <名称> # 查看文件结构
/skill read <名称> <文件> # 读取文件
/skill install # 交互式安装(发送 ZIP)
/skill update <名称> # 交互式更新(发送 ZIP/文件)
/mcp ls # 列出 MCP 服务器
/mcp config <名称> # 查看配置详情
/mcp on <名称> # 启用
/mcp off <名称> # 禁用
/mcp del <名称> # 删除
/mcp add <名称> # 交互式添加(发送 JSON 配置)
/mcp update <名称> # 交互式更新(发送 JSON 配置)
LLM Tool
当 LLM 需要管理 Skills 或 MCP 服务器时,会自动调用对应的管理工具。例如用户说「帮我添加一个 arxiv 搜索服务」,AI 会调用 add_mcp_server。
安全设计
- 管理员校验: 所有管理操作(含文件读取)通过权限验证
- 名称白名单: Skills 名称匹配
^[\w.-]+$,MCP 名称匹配^[A-Za-z0-9._-]+$ - 路径安全:
Path.resolve()+relative_to()防止目录越权 - 二次确认: 破坏性操作需
confirm=true参数 - 配置脱敏: 递归隐藏嵌套 dict/list 中的 API Key / Token
- 回滚机制: MCP 添加/更新/启用失败时自动回滚配置并恢复旧运行态
- 配置持久化校验:
save_mcp_config()返回值必须检查,失败时报错 - 状态一致性: MCP 启用/禁用操作先执行再保存,避免配置态与运行态不一致
- Zip Slip 防护: ZIP 解压前验证所有成员路径;覆盖更新时先备份后回滚
- 编辑模式: diff 编辑 + 50000 字符上限防护,防止意外覆盖或性能问题
- 错误信息脱敏: 异常细节仅记录日志,用户侧返回通用描述
配置
在 AstrBot 管理面板的插件配置中可设置:
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
diff_mode |
bool | true |
启用编辑模式:AI 编辑文件/配置时需提供原始文本和替换文本 |
diff_match_threshold |
int (滑块 50-100) | 100 |
Diff 匹配阈值百分比,100 = 必须完全匹配 |
项目结构
astrbot_plugin_skills_mcp_manager/
├── main.py # 插件入口 (Star 类)
├── metadata.yaml # 插件元数据
├── _conf_schema.json # 插件配置 Schema
├── CHANGELOG.md # 更新日志
├── README.md
├── tools/
│ ├── __init__.py # 工具导出
│ ├── skill_tools.py # 9 个 Skills 管理 FunctionTool
│ └── mcp_tools.py # 7 个 MCP 管理 FunctionTool
└── skills/
└── skills-mcp-manager/
└── SKILL.md # 内置 AI 指令手册
支持
🔗 相关链接
许可
AGPL-3.0 License
如果这个插件对你有帮助,请给个 ⭐ Star 支持一下!
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found