You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@artemis.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2026/06/16 21:21:00 UTC
[jira] [Work logged] (ARTEMIS-6118) Add a Model Context Protocol (MCP) server for Artemis
[ https://issues.apache.org/jira/browse/ARTEMIS-6118?focusedWorklogId=1025480&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1025480 ]
ASF GitHub Bot logged work on ARTEMIS-6118:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 16/Jun/26 21:20
Start Date: 16/Jun/26 21:20
Worklog Time Spent: 10m
Work Description: k-krawczyk opened a new pull request, #6519:
URL: https://github.com/apache/artemis/pull/6519
> Draft. Opening this to share the implementation while the direction is
> discussed on the dev@ list. Please do not merge until that discussion
> reaches consensus.
## What
Adds a new `artemis-mcp-server` reactor module: a Model Context Protocol (MCP)
server that exposes broker operations as MCP tools over the STDIO transport, so
AI agents can inspect, monitor and administer an Artemis broker through a
standard protocol.
JIRA: https://issues.apache.org/jira/browse/ARTEMIS-6118
dev@ discussion: <link to the [DISCUSS] thread>
## Tools (15)
Read-only (always available):
`list_queues`, `list_addresses`, `get_broker_overview`, `get_queue_stats`, `browse_messages`
Admin (registered only when `mode=admin`):
`create_queue`, `create_address`, `delete_queue`*, `delete_address`*, `purge_queue`*,
`delete_messages`*, `move_messages`*, `retry_dlq`*, `send_message`, `consume_message`*
(*) destructive — require `confirm=true`, enforced by both the tool input schema and the handler.
## Design
- Read-only mode is the DEFAULT; admin tools are not registered unless `mode=admin`.
- Monitoring/management uses Artemis management messages to `activemq.management`
(single broker connection, no open JMX required).
- Messaging uses the Core/JMS client (browse = `QueueBrowser`, send = producer,
consume = consumer).
- MCP layer uses the MCP Java SDK (MIT / ASF Category A).
## Testing
- 24 unit + integration tests against an embedded broker; green via `mvn install`.
- Builds inside the reactor; Artemis checkstyle clean; apache-rat clean.
- Verified end-to-end against an Apache Artemis broker running in Docker via real
JSON-RPC `tools/call` (create/list/stats/browse/send/consume/purge/move/delete),
including confirm-gating on destructive tools.
## Notes for reviewers
- New dependency footprint: the MCP Java SDK pulls in Jackson 3.x,
json-schema-validator, snakeyaml-engine and reactor-core. All ASF Category A.
Happy to discuss trimming (e.g. `mcp-core` only) if the footprint is a concern.
- `slf4j-simple` is a runtime logging binding for standalone use; happy to align
with the distribution's logging setup.
- Docs (`docs/`) and a binary-distribution LICENSE/NOTICE entry for the MIT SDK
will follow once the direction is agreed.
Issue Time Tracking
-------------------
Worklog Id: (was: 1025480)
Remaining Estimate: 0h
Time Spent: 10m
> Add a Model Context Protocol (MCP) server for Artemis
> -----------------------------------------------------
>
> Key: ARTEMIS-6118
> URL: https://issues.apache.org/jira/browse/ARTEMIS-6118
> Project: Artemis
> Issue Type: New Feature
> Reporter: Karol Krawczyk
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> *Background*
> Model Context Protocol (MCP, https://modelcontextprotocol.io) is an open
> standard that lets AI agents invoke well-defined tools against a system.
> Adding an MCP server for Artemis would let operators and AI agents inspect
> and manage a broker through a standard protocol.
> This was discussed on the dev@ list: <wklej link do wątku [DISCUSS]>.
> Several Apache projects already provide first-party MCP servers, e.g.
> KAFKA-20436, SPARK-56698, FLINK-38800, HIVE-29558, IGNITE-26563, SOLR-17944,
> CAMEL-21925.
> *Proposal*
> A new Java module exposing broker operations as MCP tools:
> messaging: send / browse / consume messages (Core/JMS client)
> management: list/create/delete queues & addresses, queue info (Artemis management messages)
> monitoring: broker overview, queue stats, consumers, connections (JMX/Jolokia where needed)
> administration: purge / move / delete messages, retry DLQ
> *Design notes*
> Prefer Artemis management messages (single broker connection, no mandatory open JMX).
> Dependency: MCP Java SDK (io.modelcontextprotocol.sdk:mcp) — MIT / ASF
> Category A. Transitive deps (Jackson, Reactor) are Apache-2.0. LICENSE/NOTICE
> to be updated; verified by apache-rat.
> Safety: read-only mode is the DEFAULT. Destructive tools require an explicit admin mode plus a `confirm` flag.
> Transport: STDIO and/or HTTP/SSE.
> *Scope / increments*
> MVP (this issue or first PR): monitoring + read-only messaging, well tested.
> Follow-up PRs: management, then administration (destructive ops).
> *Acceptance*
> Builds with `mvn clean install`; passes checkstyle and apache-rat.
> Unit + integration tests against a running broker, in the style of existing module tests.
> User-manual docs under docs/ and a module README.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@artemis.apache.org
For additional commands, e-mail: issues-help@artemis.apache.org