Automation Anywhere控制室MCP服务器
第一个用于Automation Anywhere控制室的开源MCP服务器。将Claude Code直接连接到您的控制室,以触发机器人程序、检查运行历史记录和查询WLM队列。
注: Automation Anywhere在v38中发布了本机入站MCP支持(其平台接收来自外部代理的连接)。这个服务器正好相反——它将控制室作为MCP工具服务器公开,这样克劳德和其他MCP客户端就可以直接驱动它。
先决条件
- Python 3.11+
- 启用API访问的Automation Anywhere控制室
- 服务帐户:
- “运行我的机器人”权限 - Bot Runner许可证 - AAE_Queue管理员角色(适用于WLM工具)
- 您的API密钥:控制室>设置>配置文件>API密钥
安装
git clone https://github.com/VankProgrammingAndDesign/aa-mcp-server.git
cd aa-mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install -e .配置
cp .env.example .env编辑 .env:
AA_CONTROL_ROOM_URL=https://your-tenant.automationanywhere.digital
AA_USERNAME=your.username@company.com
AA_API_KEY=your-40-character-api-key连接到克劳德代码
快速设置
安装后,使用Claude Code注册服务器。替换 /path/to/aa-mcp-server 带有克隆存储库的绝对路径。
或者打开Claude Code会话并询问。请参阅 CLAUDE-CODE-安装.md 出现复制粘贴提示。
claude mcp add --scope user automation-anywhere \
--env AA_CONTROL_ROOM_URL=https://your-tenant.automationanywhere.digital \
--env AA_USERNAME=your.username@company.com \
--env AA_API_KEY=your-40-character-api-key \
-- /path/to/aa-mcp-server/.venv/bin/aa-mcp-server--scope user 写入 ~/.claude.json,使服务器在所有Claude Code项目中都可用。
验证
打开Claude Code会话并运行 /mcp你应该看看 automation-anywhere 列为 connected.
手动配置
添加以下内容 ~/.claude.json (用户级别)或 .mcp.json 在项目根目录(项目级别)中:
{
"mcpServers": {
"automation-anywhere": {
"command": "/path/to/aa-mcp-server/.venv/bin/aa-mcp-server",
"env": {
"AA_CONTROL_ROOM_URL": "https://your-tenant.automationanywhere.digital",
"AA_USERNAME": "your.username@company.com",
"AA_API_KEY": "your-40-character-api-key"
}
}
}
}看 CLAUDE-CODE-安装.md 对于特定于Claude Code的演练,或 安装.md 完整的指南。
可用工具
控制室
| 工具 | 说明 |
|---|---|
list_bots | 列出可用的机器人,并可选择名称过滤器 |
list_devices | 列出机器人运行器设备及其状态 |
deploy_bot | 在特定设备上触发机器人 |
list_running_automations | 查看当前正在运行的内容 |
list_run_history | 按机器人名称、状态或日期范围查询过去的运行记录 |
list_queues | 按状态列出带有项目计数的WLM队列 |
get_queue_detail | 从特定队列中获取工作项 |
机器人包分析
这些工具解析本地A360导出ZIP文件。无需控制室连接。
| 工具 | 说明 |
|---|---|
load_bot_package | 加载A360导出ZIP并返回机器人名称、正在使用的包和文件数。先叫这个。 |
list_bot_actions | 按执行顺序列出机器人中的所有操作,包括深度、包、命令和子任务路径 |
get_bot_variables | 获取机器人中定义的所有变量,包括类型、范围和默认值 |
get_bot_structure | 获取完整的嵌套操作层次结构,包括属性和错误处理程序分支 |
search_bot_actions | 搜索包中的所有机器人,查找与包或命令名称匹配的操作 |
示例提示
触发机器人程序:
“在RUNNER-PC-01上运行发票处理器机器人程序”
克劳德打电话来 list_bots 为了找到机器人ID, list_devices 查找设备ID,然后调用 deploy_bot.
检查正在运行的内容:
“现在正在运行什么自动化?”
调查故障:
“显示过去7天的失败跑步记录” “今天发票队列中有什么失败了?”
队列报告:
“给我所有WLM队列的状态摘要” “显示AP处理队列中的失败项目”
分析机器人程序包:
“在/path/to/Export.zip加载bot包,并总结整个过程” MasterBot调用哪些子任务,以什么顺序调用 “SubTask_Login的输入和输出变量是什么?” “显示此包中每个机器人的所有FTP上传操作” “引导我了解此机器人中的错误处理结构”
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
AA_CONTROL_ROOM_URL | 是 | -- | 基本URL,没有尾随斜线 |
AA_USERNAME | 是 | -- | 服务帐户用户名 |
AA_API_KEY | 是 | - | 40个字符的API密钥 |
AA_TOKEN_REFRESH_BUFFER_SECONDS | 否 | 60 | 到期前60秒刷新令牌 |
AA_HTTP_TIMEOUT_SECONDS | 否 | 30 | 请求超时(秒) |
AA_SSL_VERIFY | 否 | true | 设置为 false 用于自签名证书 |
AA_LOG_LEVEL | 否 | 警告 | 设置为 DEBUG 将请求URL和响应代码记录到stderr |
故障排除
启动时出现401个错误: 检查一下 AA_API_KEY 正确,并且在控制室设置中启用了API访问。
未找到机器人: 呼叫 list_bots 没有过滤器来查看所有可用的机器人,然后匹配确切的名称。
deploy_bot返回400: run_as_user_id 必须是设备凭据映射的数字用户ID。在控制室>设备中找到它。
WLM工具返回权限错误: 服务帐户需要 AAE_Queue Admin 角色。在“控制室”>“角色”中添加它。
SSL证书错误: 集 AA_SSL_VERIFY=false 在 .env 或通过 --env AA_SSL_VERIFY=false 到 claude mcp add 命令。仅在您控制服务器的内部网络上使用此功能。
启用调试日志记录: 集 AA_LOG_LEVEL=DEBUG 将所有请求URL和响应代码记录到stderr。
许可证
麻省理工学院
