Model Context Protocol server for ActiveMQ Artemis: messaging over AMQP and broker management over Jolokia.
Strong foundation with 16 well-named tools, comprehensive schemas, and proper error handling. Tool names follow verb_noun convention (send_message, browse_messages, create_queue). All tools have descriptions (avg ~80 chars, within 10-1024 range). Input schemas are complete with types and descriptions for all parameters. Destructive operations include confirmation gates. Key gaps: output schemas not explicitly documented in code; some parameter descriptions could be more prescriptive about constraints (e.g., filter syntax, queue naming rules); no batch variants for common loop patterns.
Read messages from a queue without removing them.
Receive and remove messages from a queue.
Create a queue, optionally creating its address.
Remove messages matching a filter. A filter is required to avoid purging the queue.
Destroy a queue.
Return high level broker status and counts.
Output schemas not explicitly documented in code. While tools return structured JSON via structuredContent, the schema definitions for responses (e.g., what fields get_queue_stats returns) are not visible in the provided source. LLMs need documented return types to plan downstream calls.
Parameter descriptions lack prescriptive constraints. 'filter' parameter in create_queue, delete_messages, and move_messages states 'Artemis message filter (JMS selector syntax)' but does not provide examples or syntax rules. LLMs cannot infer valid filter syntax without concrete guidance.
No batch variants for high-frequency operations. Agents calling consume_message in a loop to drain a queue will make N sequential calls instead of one batch call. Consider adding consume_messages (plural) accepting count > 1 or a batch_size parameter.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
Return the configuration of a queue.
Return runtime counters for a queue.
List the names of all addresses on the broker.
List the connections currently open to the broker.
List the consumers currently attached to the broker.
List the names of all queues on the broker.
Move messages from one queue to another, optionally filtered.
Remove every message from a queue.
Resend the messages on a dead-letter queue to their original destination.
Send a single AMQP message to an address or queue.
Destructive operations require explicit confirm: true, but error message does not guide recovery. When confirm is false, the tool returns 'is destructive; pass confirm: true to run it'. Consider suggesting the exact corrected call or offering a dry-run preview.
Mode-based tool filtering (admin vs non-admin) is server-side but not exposed to the client. The MCP spec does not include a capability to advertise which tools are available based on caller role. Clients cannot discover that some tools are hidden until they attempt to call them.