ARM MCP服务器

用于AutoRABIT ARM API的MCP服务器,涵盖CI作业v1端点和SIEM审计日志。
建模API
CI作业v1
GET /api/cijobs/v1/listcijobsGET /api/cijobs/v1/history/{ciJobName}GET /api/cijobs/v1/latestresults/{ciJobName}GET /api/cijobs/v1/pollstatus/{ciJobName}/{buildNumber?}GET /api/cijobs/v1/rollback/history/{ciJobName}/{buildNumber?}GET /api/cijobs/v1/rollback/{ciJobName}POST /api/cijobs/v1/triggerPOST /api/cijobs/v1/update/baselinerevisionPOST /api/cijobs/v1/triggerquickdeploy/{ciJobName}/{buildNumber?}POST /api/cijobs/v1/rollbackPUT /api/cijobs/v1/abort/{ciJobName}/{buildNumber?}
SIEM审核日志
GET /logs/audit_logs--使用可选筛选器查询审核日志GET /logs/audit_logs/download--以ZIP格式下载审计日志(最多90天)
MCP工具
CI职位
arm_list_ci_jobs--列出所有CI作业arm_ci_job_history--检索CI作业生成历史记录arm_latest_results--获取CI作业的最新结果arm_poll_job_status--轮询当前构建状态arm_rollback_history--获取回滚历史记录arm_rollback_details--查看回滚信息arm_trigger_build--触发新的CI构建arm_update_baseline_revision--更新基线修订arm_quick_deploy--触发快速部署arm_start_rollback--启动回滚arm_abort_ci_job--中止正在进行的CI作业arm_call_api--任何ARM端点的通用回退
审计日志
arm_audit_get_logs--使用可选的时间、计数和事件类型筛选器查询SIEM审核日志arm_audit_download_logs--将审计日志下载为日期范围的ZIP格式arm_audit_list_event_types-列出12种已知的事件类型及其描述(本地,无API调用)
MCP资源
arm://docs/overviewarm://docs/cijobs-v1arm://docs/autharm://docs/audit-logs
MCP提示
arm_quick_deploy_guidearm_rollback_guidearm_trigger_build_guidearm_poll_status_guidearm_audit_logs_guide
认证
CI作业API
ARM期望在 token 头球
必需的环境变量:
ARM_BASE_URL(例如:pilot.autorabit.com或https://pilot.autorabit.com)ARM_API_TOKEN
可选环境变量:
ARM_TIMEOUT_MS(默认值30000)ARM_MAX_RETRIES(默认值2)
SIEM审核日志API
审核日志API使用 分开 基本URL和承载令牌(不与CI作业共享)。
必需的环境变量:
ARM_AUDIT_BASE_URL(例如:auditlogs.autorabit.com)ARM_AUDIT_API_TOKEN--发送为Authorization: Bearer
可选环境变量:
ARM_AUDIT_TIMEOUT_MS(默认值30000)ARM_AUDIT_MAX_RETRIES(默认值2)
设置
npm install
cp .env.example .env
# edit .env
npm run build跑
npm run dev或生产:
npm run build
npm startMCP客户端配置(stdio)
{
"mcpServers": {
"arm": {
"command": "node",
"args": ["/absolute/path/to/arm-mcp-server/dist/index.js"],
"env": {
"ARM_BASE_URL": "pilot.autorabit.com",
"ARM_API_TOKEN": "YOUR_CI_JOBS_TOKEN",
"ARM_AUDIT_BASE_URL": "auditlogs.autorabit.com",
"ARM_AUDIT_API_TOKEN": "YOUR_AUDIT_BEARER_TOKEN"
}
}
}
}码头工人
塑造形象
docker build -t arm-mcp-server .以交互方式运行
docker run -i --rm \
-e ARM_BASE_URL=pilot.autorabit.com \
-e ARM_API_TOKEN=YOUR_CI_JOBS_TOKEN \
-e ARM_AUDIT_BASE_URL=auditlogs.autorabit.com \
-e ARM_AUDIT_API_TOKEN=YOUR_AUDIT_BEARER_TOKEN \
arm-mcp-serverMCP客户端配置(Docker)
{
"mcpServers": {
"arm": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ARM_BASE_URL",
"-e", "ARM_API_TOKEN",
"-e", "ARM_AUDIT_BASE_URL",
"-e", "ARM_AUDIT_API_TOKEN",
"arm-mcp-server"
],
"env": {
"ARM_BASE_URL": "pilot.autorabit.com",
"ARM_API_TOKEN": "YOUR_CI_JOBS_TOKEN",
"ARM_AUDIT_BASE_URL": "auditlogs.autorabit.com",
"ARM_AUDIT_API_TOKEN": "YOUR_AUDIT_BEARER_TOKEN"
}
}
}
}docker编写
cp .env.example .env
# edit .env with your credentials
docker compose run --rm arm-mcp-server工具有效载荷
arm_list_ci_jobs
{
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_ci_job_history
{
"ciJobName": "BuildOnCommitNoRevision",
"projectName": "MyProject",
"title": "Release 1.2.3",
"from": -1,
"to": -1
}arm_latest_results
{
"ciJobName": "BuildOnCommitNoRevision",
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_poll_job_status
{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_rollback_history
{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_rollback_details
{
"ciJobName": "BuildOnCommitNoRevision",
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_trigger_build
{
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_update_baseline_revision
{
"projectName": "MyProject",
"baseLineRevision": "26cXXX"
}arm_quick_deploy
{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_start_rollback
{
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_abort_ci_job
{
"ciJobName": "BuildOnCommitNoRevision",
"buildNumber": 7,
"projectName": "MyProject",
"title": "Release 1.2.3"
}arm_audit_get_logs
{
"startTime": "2024-01-15T00:00:00",
"maxResults": 500,
"eventType": "LOGIN,DEPLOYMENT"
}arm_audit_download_logs
{
"startTime": "2024-01-01T00:00:00",
"endTime": "2024-03-01T00:00:00"
}arm_audit_list_event_types
{}