Skip to content

MCP server

Studio speaks the Model Context Protocol, so an assistant can answer "why is ORDERS.DLQ backed up" against your real clusters instead of guessing.

The surface is about a dozen intent-shaped tools — cluster_health, diagnose_queue, queue_action — not a mirror of the REST API. A mirror would spend the model's context on plumbing and leave it to assemble the diagnosis; the tools are shaped like the questions instead (ADR-0045).

Get a key

Sign in → avatar menu → AccountAPI keysNew key → choose the scope and permissions it carries → copy the value. It is shown once.

Connect

POST /mcp, on the same origin as the UI, with the key as a bearer token.

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

Smoke-test it without a client:

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"}'

What is there

KindNameFor
Toolcluster_healthHA role per node, split-brain, replication lag, firing alerts
Toollist_resourcesqueues, addresses, consumers, sessions, connections, producers
Tooldiagnose_queueone queue end to end: depth, trend, consumers, DLQ, events
Toolmetric_seriesa bucketed timeseries for one metric
Toolconfig_diffclassified configuration differences between two nodes
Toolbrowse_messages / message_bodyheaders, then one body by id
Tooltrace_request_replyflows, latency and timeout statistics, configured expectations
Toolactivity_logbroker events, or Studio's own audit trail
Toolqueue_actionmove / retry / delete / expire / purge
Toolsend_messageenqueue one message
Toolalert_rule / studio_settingalert rules; operational settings
Resourcestudio://clusters, studio://permissionswhat this key can see and do
Resourcecluster://{id}/topology, cluster://{id}/capabilitiesnodes; what the connection supports, with the broker.xml to enable what it does not
Prompttriage_cluster, investigate_queue, before_you_purge, tune_scrape_loadrunbooks

The safety contract

An assistant with a management API is exactly where a safety model needs to be boring and explicit. This one is:

  • A key never exceeds its owner. Grants are intersected with the owner's live grants on every call, so narrowing a person narrows their keys at once (ADR-0046).
  • Mutations dry-run by default. A real destructive run additionally requires confirm to equal the queue's own name — separate from the bulk-cap override, which answers a different question and is never satisfied by confirm.
  • Everything is audited under the owner with the key's name attached (ada [token: laptop-agent]), dry runs included.
  • A cluster the key holds no grant on comes back as "no such cluster, or this key has no grant on it" — naming no permission and confirming no id.

Discovery

studio_help is a tool, not an optional resource, and one catalogue generates the schemas, the help text, the resource and the server instructions — so they cannot disagree (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.