Add your description here
Project description
AstrBot MCP
AstrBot 无法通过 MCP 控制自身。本项目填补了这一空白。
警告与免责声明
⚠️ 本项目提供的是运维级控制能力,使用时请注意:
- 重启风险 -
restart_astrbot会中断所有正在进行的对话 - 权限管理 - 确保 MCP 客户端的访问权限受控
- 生产环境 - 建议仅在开发/测试环境使用控制面功能
- 数据安全 - 日志可能包含敏感信息,注意脱敏处理
本项目与 AstrBot 官方无直接关联,由社区独立维护。
这个项目到底在干什么
AstrBot 自身的 MCP 控制面
通过 MCP tool 实现:
- 重启 AstrBot Core - 进程级控制,直接调用
/api/stat/restart-core - 运行状态监听 - 实时日志流、平台状态监控
- 配置热加载 - 动态读取/修改配置
- 发送信息 -自动化测试插件
- 浏览插件市场
为astrbot开发者提供AI AGENT时代调试插件的自动化工具
快速开始
安装
# 通过 PyPI 安装(推荐)
pip install astrbotmcp
# 或通过 uv
uv add astrbotmcp
MCP 客户端配置
在 Cursor、Cline、Claude Desktop 等支持 MCP 的客户端中配置:
{
"mcpServers": {
"astrbot-mcp": {
"command": "uvx",
"args": [
"--from",
"astrbotmcp",
"astrbot-mcp"
],
"env": {
"ASTRBOT_BASE_URL": "http://127.0.0.1:6185",
"ASTRBOT_TIMEOUT": "30",
"ASTRBOT_USERNAME": "your_username",
"ASTRBOT_PASSWORD": "your_password"
}
}
}
}
环境变量说明
| 变量 | 说明 | 默认值 |
|---|---|---|
ASTRBOT_BASE_URL |
AstrBot Dashboard 地址 | http://127.0.0.1:6185 |
ASTRBOT_TIMEOUT |
HTTP 请求超时时间 | 30 |
ASTRBOT_USERNAME |
Dashboard 用户名 | - |
ASTRBOT_PASSWORD |
Dashboard 密码 | - |
ASTRBOT_LOG_LEVEL |
日志级别 | INFO |
可用 MCP Tools
控制面工具
restart_astrbot- 重启 AstrBot Coreget_astrbot_logs- 获取实时/历史日志get_message_platforms- 列出已配置的消息平台
配置工具
list_astrbot_config_files- 列出所有 AstrBot 配置文件(/api/config/abconfs)inspect_astrbot_config- 分层查看 JSON 配置节点(key / array length / value)apply_astrbot_config_ops- 批量set/add_key/append,并自动保存 + 热重载(/api/config/astrbot/update)search_astrbot_config_paths- 按 key(可选再按 value)搜索配置,返回匹配项的路径(不返回大段内容)
消息工具
send_platform_message- 通过 Web Chat API 发送消息链send_platform_message_direct- 直接发送到平台(绕过 LLM)get_platform_session_messages- 读取会话消息历史
插件市场
browse_plugin_market- 浏览插件市场(搜索/排序)
使用示例
在 Agent 中重启 AstrBot
# Agent 可以直接调用
restart_astrbot()
监控 AstrBot 日志
# 实时获取最新日志
logs = get_astrbot_logs(wait_seconds=10)
发送消息到指定平台
# 发送带图片的消息链
send_platform_message(
platform_id="webchat",
message="Hello from MCP",
images=["/path/to/image.png"]
)
技术架构
┌─────────────────┐ HTTP API ┌──────────────────┐
│ MCP Client │───────────────────>│ astrbot-mcp │
│ (Cursor/Cline) │ (MCP Protocol) │ (FastMCP Server)│
└─────────────────┘ └────────┬─────────┘
│
│ HTTP
↓
┌─────────────────┐ ┌──────────────────┐
│ AstrBot Core │<───────────────────│ AstrBot │
│ + Plugins │ (Dashboard API) │ Dashboard │
└─────────────────┘ └──────────────────┘
开发与贡献
# 克隆项目
git clone https://github.com/yourusername/astrbot-mcp.git
cd astrbot-mcp
# 安装依赖
uv sync
# 本地运行
uv run --project . astrbot-mcp
许可证
MIT License - 详见 LICENSE 文件。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
astrbotmcp-0.2.6.tar.gz
(33.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file astrbotmcp-0.2.6.tar.gz.
File metadata
- Download URL: astrbotmcp-0.2.6.tar.gz
- Upload date:
- Size: 33.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c85ac722e8a91e2388e693a904ae256cc085199e35875a1fe3198930e72a199
|
|
| MD5 |
e07a3e20b62c05292d47f0e9fcff92b8
|
|
| BLAKE2b-256 |
050b0b5a6d9421017c5cd9dc2dedd38122acc36a0330ee844ca6f622ff39f597
|
File details
Details for the file astrbotmcp-0.2.6-py3-none-any.whl.
File metadata
- Download URL: astrbotmcp-0.2.6-py3-none-any.whl
- Upload date:
- Size: 37.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36ffac40b215c8abfa15496e6e3ef5c258ddc8035c5d4cf4855e92d182823e2f
|
|
| MD5 |
956ed596d5dd6536a2f04936e9ffad36
|
|
| BLAKE2b-256 |
f05b77a38b541dbcda137419a3b5fa45f49a033a8934cbe7fcc93ec4ce4fe407
|