RabbitMQ 操作的 Model Context Protocol 服务器实现。
此MCP服务器将RabbitMQ代理的管理API封装为MCP工具。
支持在一个会话中连接多个RabbitMQ代理,允许您同时管理多个集群。
使用OAuth令牌连接到RabbitMQ代理,以实现基于令牌的安全身份验证。
BearerAuthProvider流式HTTP您可以通过配置自己的IdP和第三方授权提供程序来启动远程RabbitMQ MCP服务器。
该包已在PyPI上提供,您可以直接在MCP客户端配置中使用uvx,而无需先分叉并本地构建MCP服务器。
https://pypi.org/project/amq-mcp-server-rabbitmq/
在您的MCP客户端配置中直接使用uvx
{
"mcpServers": {
"rabbitmq": {
"command": "uvx",
"args": [
"amq-mcp-server-rabbitmq@latest",
"--allow-mutative-tools"
]
}
}
}
{
"mcpServers": {
"rabbitmq": {
"command": "uv",
"args": [
"--directory",
"/path/to/repo/mcp-server-rabbitmq",
"run",
"amq-mcp-server-rabbitmq",
"--allow-mutative-tools"
]
}
}
}
--allow-mutative-tools: 启用可以改变RabbitMQ状态的工具,默认值为false。--http: 使用流式HTTP传输而不是标准输入输出。--server-port: 运行MCP服务器的端口(默认:8888)。--http-auth-jwks-uri: FastMCP Bearer Auth Provider的JWKS URI。--http-auth-issuer: FastMCP Bearer Auth Provider的发行人。--http-auth-audience: FastMCP Bearer Auth Provider的目标受众。--http-auth-required-scopes: FastMCP Bearer Auth Provider所需的范围。参见 example/agent_strands 以获取完整的使用RabbitMQ MCP服务器与Strands AI代理的示例。
from mcp import stdio_client, StdioServerParameters
from strands import Agent
from strands.tools.mcp import MCPClient
stdio_mcp_client = MCPClient(lambda: stdio_client(
StdioServerParameters(
command="uvx",
args=["amq-mcp-server-rabbitmq@latest"]
)
))
with stdio_mcp_client:
tools = stdio_m_ cp_client.list_tools_sync()
agent = Agent(tools=tools)
while True:
user_input = input("\nYou: ").strip()
if not user_input or user_input.lower() in ["exit", "quit"]:
break
agent(user_input)
参见 example/amazon_q_cli 以获取Amazon Q开发者CLI配置示例。
# 克隆仓库
git clone https://github.com/amazon-mq/mcp-server-rabbitmq.git
cd mcp-server-rabbitmq
# 安装预提交钩子
pre-commit install
pytest
此项目使用ruff进行代码检查和格式化:
# 运行代码检查器
ruff check .
# 运行格式化工具
ruff format .
本项目根据Apache许可证2.0发布 - 详情请参阅LICENSE文件。