Skip to content

MCP 服务器

Studio 支持 Model Context Protocol,因此助手可以针对你真实的集群回答*"为什么 ORDERS.DLQ 堆积了"*,而不是靠猜。

它暴露的是十余个意图化工具——cluster_healthdiagnose_queuequeue_action——而不是 REST API 的镜像。镜像会把模型的上下文耗在管道细节上,再把诊断工作丢回给它;这里的工具是按问题的形状设计的(ADR-0045,英文)。

获取密钥

登录 → 头像菜单 → AccountAPI keysNew key → 选择它携带的范围与权限 → 复制。密钥只显示一次。

接入

POST /mcp,与界面同源,密钥作为 bearer token。

json
{
  "mcpServers": {
    "artemis-studio": {
      "type": "http",
      "url": "https://studio.example.com/mcp",
      "headers": { "Authorization": "Bearer as_..." }
    }
  }
}

不用客户端也能冒烟测试:

bash
curl -s https://studio.example.com/mcp \
  -H "Authorization: Bearer as_..." \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

都有什么

类型名称用途
Toolcluster_health每个节点的 HA 角色、脑裂、复制延迟、正在触发的告警
Toollist_resources队列、地址、消费者、会话、连接、生产者
Tooldiagnose_queue一个队列的全链路:堆积、趋势、消费者、DLQ、事件
Toolmetric_series单个指标的分桶时间序列
Toolconfig_diff两个节点之间已分类的配置差异
Toolbrowse_messages / message_body先看消息头,再按 id 取单条消息体
Tooltrace_request_reply流、延迟与超时统计、已配置的预期
Toolactivity_logBroker 事件,或 Studio 自身的审计链路
Toolqueue_action移动 / 重投 / 删除 / 过期 / 清空
Toolsend_message投递一条消息
Toolalert_rule / studio_setting告警规则;运维设置
Resourcestudio://clustersstudio://permissions这把密钥能看到什么、能做什么
Resourcecluster://{id}/topologycluster://{id}/capabilities节点;连接支持什么,以及启用其余部分所需的 broker.xml
Prompttriage_clusterinvestigate_queuebefore_you_purgetune_scrape_load运行手册

安全契约

一个握有管理 API 的助手,正是安全模型必须写得枯燥而明确的地方。这里就是:

  • 密钥永远不会超过它的所有者。 每次调用都会与所有者当下的授权取交集,所以收紧一个人的权限会立刻收紧他的所有密钥(ADR-0046,英文)。
  • 变更默认 dry-run。 真正的破坏性执行还额外要求 confirm 等于队列自身的名称——这与批量上限的 override 是两个不同的问题,confirm 永远无法满足 override
  • 一切都会被审计,记在所有者名下并附上密钥名称(ada [token: laptop-agent]),dry run 也不例外。
  • 对于密钥没有授权的集群,返回的是*"不存在这样的集群,或这把密钥对它没有授权"*——既不点名缺了哪项权限,也不确认这个 id 是否存在。

发现机制

studio_help 是一个工具,而不是一个可选资源;并且由同一份目录生成 schema、帮助文本、资源与服务器说明——所以它们不可能相互矛盾(ADR-0054,英文)。

Apache-2.0. Apache ActiveMQ and Apache ActiveMQ Artemis are trademarks of the Apache Software Foundation. Artemis Studio is an independent project, not produced by, endorsed by, or affiliated with the ASF.