Agent-MQ
agent-mq
Message queue for AI coding assistants. Let your AI agents talk to each other.
Install
Add to your MCP config (~/.claude/mcp.json, ~/.cursor/mcp.json, etc.):
{
"mcpServers": {
"agent-mq": {
"command": "npx",
"args": ["--yes", "--package", "@agent-mq/mcp", "--", "agent-mq-mcp"]
}
}
}Or install as Claude Code plugin:
claude plugin marketplace add https://github.com/bababoi-bibilabu/agent-mq
claude plugin install agent-mqRelated MCP server: agent-bus-mcp
Usage
Tell your AI agent:
Learn how to use agent-mq from https://agent-mq.com/usage.md
Self-host
git clone https://github.com/bababoi-bibilabu/agent-mq
cd agent-mq/server
docker compose up -dThen login with your own server:
mq_login(token: "your-uuid", server: "http://your-server:8000")Server API
All endpoints require Authorization: Bearer <token> except where noted.
POST /api/v1/agents Add agent
POST /api/v1/send Send message
GET /api/v1/recv/{name} Receive messages
GET /api/v1/agents List agents
GET /api/v1/history Message history
GET /api/v1/status Session/message counts
GET /api/v1/stats Public stats (no auth)
GET /healthz Health check (no auth)License
MIT
Available Tools
7 toolsmq_addC
Add an agent to the message queue
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| desc | No | ||
| tool | No | claude-code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Add an agent' implies a mutation/write operation, but the description doesn't disclose what permissions are needed, whether this is idempotent, what happens if the agent already exists, or what the response looks like. For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence with no wasted words. It's front-loaded with the core purpose and contains no unnecessary information. This is an example of appropriate brevity, though the trade-off is lack of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 3 parameters (one required), 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what an 'agent' is in this context, what the parameters mean, what happens when the tool executes, or what to expect as a result. The minimal description leaves too many questions unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning none of the 3 parameters (name, desc, tool) are documented in the schema. The description provides no information about what these parameters mean or how they should be used. 'Add an agent' gives no insight into what 'name', 'desc', or 'tool' parameters represent in this context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and the target resource ('an agent to the message queue'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'mq_send' or 'mq_recv' which might also involve message queue operations, so it doesn't fully distinguish from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are multiple sibling tools (mq_send, mq_recv, mq_history) that likely interact with the message queue in different ways, but no context is given about when this specific 'add agent' operation is appropriate versus other queue operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mq_historyC
View delivered message history
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'View delivered message history,' implying a read-only operation, but doesn't specify permissions, rate limits, pagination, or what 'delivered' means contextually. This leaves significant gaps in understanding how the tool behaves beyond basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single phrase 'View delivered message history,' which is front-loaded and wastes no words. Every element (verb, resource, scope) earns its place efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a history viewer with 1 parameter), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, output format, and usage context, making it insufficient for an agent to fully understand how to invoke and interpret results effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. With 0% schema description coverage and 1 parameter (limit), the schema alone documents the parameter type and default. The description doesn't explain what 'limit' controls or its impact, resulting in a baseline score of 3 due to adequate schema coverage for the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'View delivered message history' clearly states the action (view) and resource (delivered message history), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'mq_recv' or 'mq_ls', which might also involve message retrieval operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'mq_recv' (receive messages) or 'mq_ls' (list messages). There's no mention of prerequisites, context, or exclusions, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mq_loginC
Login with a token. Server defaults to config.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| server | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action 'Login' but fails to describe critical traits like authentication requirements (e.g., token validity), session creation, error handling, or rate limits. The mention of server defaults adds minimal context without detailing behavioral implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two short sentences, avoiding unnecessary verbosity. However, it is front-loaded with the core action but under-specified, making it efficient yet incomplete rather than optimally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a login tool with no annotations or output schema, the description is inadequate. It lacks details on authentication flow, success/failure responses, session state, and integration with sibling tools, leaving significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'token' and 'server' but provides no semantic details beyond their names, such as token format, server URL expectations, or the effect of defaults. This adds little value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Login with a token' restates the tool name 'mq_login' in a tautological manner, providing minimal additional insight. It vaguely mentions authentication but lacks specificity about what resource or system is being accessed, failing to distinguish it from sibling tools like 'mq_logout'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The mention of 'Server defaults to config' implies a context for server configuration but does not clarify prerequisites, exclusions, or relationships with sibling tools such as 'mq_logout' for session management.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mq_logoutC
Disconnect from server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Disconnect from server' implies a state-changing operation that likely terminates a connection, but it doesn't specify whether this is destructive (e.g., clears session data), has side effects (e.g., pending messages might be lost), requires authentication, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and target, making it immediately understandable. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a mutation tool (implied by 'Disconnect') with no annotations and no output schema, the description is incomplete. It doesn't explain what 'disconnect' entails behaviorally (e.g., does it log out a user, close a network connection, or clear cached data?), what the expected outcome is, or potential errors. For a tool that likely changes system state, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter information, which is appropriate here. A baseline of 4 is applied for zero-parameter tools, as the description doesn't need to compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Disconnect from server' clearly states the action (disconnect) and target (server), which is a specific verb+resource. However, it doesn't differentiate from sibling tools like 'mq_login' beyond the obvious inverse relationship, and 'server' is somewhat vague compared to more specific resources like 'MQ connection' or 'message queue session'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., must be logged in first via 'mq_login'), post-conditions, or when not to use it (e.g., if already disconnected). The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mq_lsB
List all registered agents
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it's a list operation, implying read-only behavior, but doesn't disclose any behavioral traits such as authentication needs, rate limits, or what 'registered agents' entails. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. However, it lacks context about what 'registered agents' are, how they're formatted in output, or any behavioral details, leaving room for improvement despite the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here, earning a baseline score near the top of the range for this scenario.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('all registered agents'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'mq_history' which might also list something, so it misses full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'mq_history' or 'mq_recv'. There's no mention of prerequisites, context, or exclusions, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mq_recvC
Receive and consume messages for an agent. Poll periodically to check for new messages.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| msg_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'receive and consume' and 'poll periodically,' which implies a read operation with potential side effects (consumption). However, it lacks details on critical behaviors: whether messages are deleted after consumption, authentication needs, rate limits, error handling, or what happens if no messages are available. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that are front-loaded: the first states the core purpose, and the second adds behavioral context. There's no wasted text, and it's appropriately sized for the tool's complexity. However, it could be slightly more structured by explicitly separating purpose from usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a message consumption tool with potential side effects), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It lacks details on parameters, return values, error conditions, and full behavioral traits. The description alone doesn't provide enough context for an agent to use the tool effectively without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It doesn't mention any parameters or their semantics. The two parameters ('name' and 'msg_type') are entirely unexplained in the description, failing to add meaning beyond the bare schema. This is inadequate given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('receive and consume messages') and identifies the resource ('for an agent'). It distinguishes from siblings like mq_send (sending) and mq_history (viewing history), though it doesn't explicitly name alternatives. The purpose is specific but could be more precise about what distinguishes it from mq_ls or mq_add.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by mentioning 'poll periodically to check for new messages,' which suggests when to use this tool (for ongoing message consumption). However, it doesn't explicitly state when to use this vs. alternatives like mq_history for past messages or mq_send for sending. No exclusions or prerequisites are mentioned, leaving gaps in guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mq_sendC
Send a message to a target agent by name
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | ||
| message | Yes | ||
| sender | Yes | ||
| msg_type | No | text | |
| priority | No | normal | |
| reply_to | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails to do so. It doesn't mention whether this is a read/write operation, authentication requirements, potential side effects (e.g., message delivery guarantees), rate limits, or error conditions, leaving critical behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to grasp quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no annotations, no output schema), the description is incomplete. It lacks details on behavioral traits, parameter meanings, return values, and usage context, making it insufficient for an agent to effectively understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter details. The description adds minimal value by implying 'target' and 'message' parameters, but it doesn't explain the purpose or constraints of other parameters like 'sender', 'msg_type', 'priority', or 'reply_to', failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('send a message') and target ('to a target agent by name'), which is specific and actionable. However, it doesn't differentiate from sibling tools like mq_recv (receive) or mq_add (add to queue), leaving some ambiguity about its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like mq_recv or mq_add. The description lacks context about prerequisites (e.g., needing to be logged in via mq_login) or scenarios where this tool is appropriate, offering minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.2.0- First observed
mq_add - First observed
mq_history - First observed
mq_login - First observed
mq_logout - First observed
mq_ls - First observed
mq_recv - First observed
mq_send
TDQS
Each tool has a clearly distinct purpose with no ambiguity: mq_add adds agents, mq_history views history, mq_login handles authentication, mq_logout disconnects, mq_ls lists agents, mq_recv consumes messages, and mq_send sends messages. The actions and targets are well-defined and non-overlapping.
All tool names follow a consistent 'mq_' prefix with descriptive suffixes in snake_case (e.g., mq_add, mq_history, mq_login). This pattern is uniform across all seven tools, making them predictable and easy to identify as part of the same server.
With 7 tools, the count is well-scoped for a message queue server, covering core operations like agent management (add, list), message handling (send, receive), authentication (login, logout), and history viewing. Each tool earns its place without redundancy or bloat.
The tool set provides comprehensive coverage for basic message queue operations, including agent lifecycle, messaging, and authentication. A minor gap exists in lacking tools for advanced features like message prioritization or queue configuration, but core workflows are fully supported without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Shared control plane for AI coding agents — tasks, memory, decisions, file locks. 12 tools.
The cloud for agents. Tools for AI agents to register, build, and deploy other agents. Zero human required.
Related MCP Servers
- AlicenseAqualityCmaintenanceReal-time push notifications and alert sounds free you from staring at the screen. While the AI works, you can comfortably enjoy a cup of coffee.1259TypeScriptMIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server that connects AI coding agents (Claude Code, Codex, Cursor, etc.) on the same machine via a shared message bus, enabling them to chat, delegate tasks, and collaborate privately without cloud or internet.3017MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for async messaging between AI coding agents, enabling cross-harness and cross-machine communication with Slack-like semantics and mail-shaped delivery.2MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP task broker that enables Claude and Codex/ChatGPT agents to delegate tasks to each other, with persistent queues, worker adapters, and security controls.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bababoi-bibilabu/agent-mq'
If you have feedback or need assistance with the MCP directory API, please join our Discord server