MNS MCP Manager
Required runtime environment (3.8+) for the MNS MCP Server.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MNS MCP Managersend a test message to the 'orders' queue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MNS MCP Server
MNS MCP Manager 是一个基于阿里云消息服务(MNS)的管理工具。通过 MCP 框架实现,用户可以通过 MCP Host 配置文件轻松集成并使用。
功能特性
创建队列:支持动态创建 MNS 队列。
删除队列:支持删除指定队列。
发送消息:向指定队列发送消息。
接收消息:从指定队列接收并删除消息。
列出队列:支持按前缀过滤列出所有队列。
Related MCP server: Minecraft Ops MCP
环境要求
Python 3.8+
阿里云 MNS SDK (
aliyun-mns-sdk)
安装与配置
1. 克隆项目
git clone https://github.com/Houlong66/mns-mcp-server.git
cd mns-mcp-server2. 配置 MCP Servers
在 MCP Host 的配置文件中添加以下内容以注册 MNS MCP Server 服务器:
{
"mcpServers": {
"mns-mcp-server": {
"command": "/absolute/path/to/uv",
"args": [
"--directory",
"/absolute/path/to/mns-mcp-server",
"run",
"server.py"
],
"env": {
"MNS_ACCESS_KEY_ID": "your-access-key-id",
"MNS_ACCESS_KEY_SECRET": "your-access-key-secret",
"MNS_ENDPOINT": "your-mns-endpoint"
}
}
}
}配置说明:
command: 启动服务器的 uv 路径。env: 配置阿里云 MNS 的访问密钥和端点信息。
将 your-access-key-id、your-access-key-secret 和 your-mns-endpoint 替换为您的实际值。
Available Tools
5 toolscreate_mns_queueC
创建一个 MNS 队列。
Args:
queue_name (str): 队列名称。
Returns:
str: 创建结果信息。
| Name | Required | Description | Default |
|---|---|---|---|
| queue_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action 'create' plus a vague return message. It does not disclose side effects, idempotency, error handling, permissions, or any behavioral traits beyond the tool name itself.
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 no redundant prose, using a clear Args/Returns structure. It is front-loaded with the purpose statement, though the brevity approaches under-specification.
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?
With no output schema and no annotations, the description should clarify return values and edge cases. It only says 'str: 创建结果信息' (creation result message), lacking details on duplicate queue behavior, permissions, or failure modes, making it incomplete even for a simple 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?
The schema description coverage is 0%. The description's arg documentation 'queue_name (str): 队列名称' merely translates the parameter name and type, adding no meaning beyond the schema's 'Queue Name' title. It does not explain constraints, formats, or examples.
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 '创建一个 MNS 队列' (create an MNS queue), using a specific verb and resource. This distinguishes it from sibling tools like delete_queue, send_message, and list_queues, which perform different actions.
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. There is no mention of prerequisites, conditions, or any reference to sibling tools, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_queueB
删除 MNS 队列。
Args:
queue_name (str): 队列名称。
Returns:
str: 删除结果信息。
| Name | Required | Description | Default |
|---|---|---|---|
| queue_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states that a queue is deleted and a result string is returned, without mentioning that deletion is irreversible, whether messages in the queue are permanently removed, or any error conditions such as a nonexistent queue.
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, consisting of a single sentence followed by structured Args/Returns sections. Every element is directly relevant, with no unnecessary fluff.
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 destructive operation with no annotations or output schema, the description lacks essential context about side effects, error handling, and prerequisites. It is too sparse to fully guide an agent in invoking the tool safely.
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 mentions queue_name but only restates it as '队列名称' (queue name), which duplicates the schema's title. It adds no additional semantics, constraints, or examples, offering little value beyond the input 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 clearly states '删除 MNS 队列' (Delete MNS queue), using a specific verb and resource. This distinguishes it from sibling tools like create_mns_queue and list_queues.
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 about when to use this tool versus creating, sending, or receiving messages. The description lacks any context about prerequisites or scenarios where deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_queuesA
获取给定前缀的所有队列。如果未提供前缀,则列出所有队列。
Args:
prefix (str): 队列名称的前缀,默认为空字符串。
Returns:
List[str]: 包含队列信息的列表,每条信息格式为 "QueueName: <name>, QueueURL: <url>"。
| Name | Required | Description | Default |
|---|---|---|---|
| prefix | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description discloses the return value format ('QueueName: <name>, QueueURL: <url>') and the conditional listing behavior. It implies a read-only operation but does not explicitly state side-effect-free or error 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 compact and well-structured with summary, Args, and Returns sections. Each sentence provides essential information without redundancy.
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 simple one-parameter interface and no output schema, the description adequately explains the parameter and the exact string format of returned list items. However, it omits potential pagination, ordering, or error conditions, which could be relevant for a production 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?
The input schema provides only a default value with no description (0% coverage). The description compensates by fully explaining the prefix parameter's meaning ('队列名称的前缀') and its default behavior, which is critical for correct usage.
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 explicitly states it retrieves all queues matching a prefix, or all queues if no prefix is given. This uses a specific verb ('获取'/'list') and resource ('queues'), and clearly distinguishes itself from the mutating sibling tools (create/delete/send/receive).
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?
It provides clear context that the tool lists queues with an optional prefix filter, and explains the default behavior (no prefix = all queues). However, it does not explicitly mention when not to use it or refer to alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receive_and_delete_messagesA
接收并删除队列中的消息。
Args:
queue_name (str): 队列名称。
wait_seconds (int): 长轮询等待时间(秒)。
Returns:
List[str]: 收到的消息列表。
| Name | Required | Description | Default |
|---|---|---|---|
| queue_name | Yes | ||
| wait_seconds | 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 mentions 'delete' but does not explain that messages are permanently removed or emphasize the destructive nature beyond the tool's name. Missing side effects such as the impact on queue content or potential data loss.
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 and front-loaded, starting with the main purpose then listing Args and Returns in a clean format. Every sentence adds value with no filler or repetition.
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?
The description covers purpose, parameters, and return type, which is adequate for a simple two-parameter tool. However, it omits usage context (when to use versus siblings) and does not warn about the destructive deletion behavior, which is significant given no annotations or output schema to clarify.
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. It explains wait_seconds as 'long polling wait time in seconds' and queue_name as 'queue name', adding meaning beyond the schema's basic property titles. This is helpful, though it does not mention the default value or allowed ranges.
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 it receives and deletes messages from a queue. This specific verb+resource combination distinguishes it from sibling tools like send_message, delete_queue, list_queues, and create_mns_queue.
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 implies usage as the only tool that consumes messages from a queue, but it does not explicitly state when to use it versus alternatives or provide any exclusion criteria. No guidance on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageB
发送消息到指定队列。
Args:
queue_name (str): 队列名称。
message_body (str): 消息内容。
Returns:
str: 发送结果信息。
| Name | Required | Description | Default |
|---|---|---|---|
| queue_name | Yes | ||
| message_body | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states the action and return type. It does not disclose whether the queue must exist, what happens on failure, whether the operation is idempotent, or any side effects. Since no annotations are provided, the description carries the full burden and falls short.
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 very concise and well-structured with an Args/Returns section. It is front-loaded with the primary purpose. However, it omits important usage context that would enhance completeness, so it's not a perfect 5.
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?
The tool is simple, but the description lacks critical context such as requiring the queue to exist (created via create_mns_queue), what the returned result string contains, and error handling. This leaves the agent under-informed for invoking the tool successfully.
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 includes Chinese explanations for both parameters ('Queue name' and 'Message content'), but these essentially restate the parameter names. With 0% schema description coverage, the description provides minimal additional meaning but doesn't clarify formats, constraints, or edge cases.
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 'Send a message to the specified queue' (发送消息到指定队列). This is a specific verb+resource combination that distinguishes it from sibling tools like create_mns_queue, receive_and_delete_messages, and list_queues.
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 usage is implied by the name and purpose, but there is no explicit guidance on when to use it vs alternatives, nor any mention of prerequisites such as the queue needing to exist before sending. No exclusions or alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool clearly targets a distinct operation: create, delete, list, send, and receive/delete. There is no overlapping functionality or ambiguity in purpose.
Names generally follow a verb_noun pattern, but there are inconsistencies: 'create_mns_queue' includes 'mns' while 'delete_queue' and 'list_queues' do not, and 'receive_and_delete_messages' is a compound verb phrase. Still, the overall style is readable and predictable.
With 5 tools, the set is well-scoped for core MNS queue management. Each tool serves a necessary function without redundancy or bloat.
The set covers the essential lifecycle: create, list, delete, send, and receive/delete messages. Missing operations like queue attribute management or purging are minor gaps that agents can typically work around.
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
Hosted MCP messaging across owners, tools, and machines, with readable transcripts.
MCP server for Product Management
An MCP server that provides email capabilities, hosted on Alpic platform
An MCP server that provides email capabilities, hosted on Alpic platform
Related MCP Servers
- FlicenseBqualityDmaintenanceA service discovery and proxy for MCP servers that enables registration, discovery, and execution of tools on remote MCP servers. Uses vector-based similarity search through Alibaba Cloud services to intelligently route requests to appropriate MCP services.3
- AlicenseBqualityDmaintenanceAn MCP server for managing and operating Minecraft servers through multiple backend protocols including MCSManager API, RCON, and MSMP. It provides tools for instance lifecycle management, file operations, console commands, player administration, and server configuration with built-in security controls.712MIT
- FlicenseCqualityDmaintenanceMCP server that enables deployment and management of MCP servers through a simple configuration-based interface.1
- AlicenseBqualityDmaintenanceMCP server for RabbitMQ with full SSL/CA certificate support, enabling queue, exchange, binding, and message management operations.16Apache 2.0
Appeared in Searches
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/Houlong66/mns-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server