diff --git a/README.md b/README.md index e819484..a1e8e74 100644 --- a/README.md +++ b/README.md @@ -52,9 +52,10 @@ https://smithery.ai/server/@kenliao94/mcp-server-rabbitmq ## Roadmap 1. Expose admin API tools and pika SDK tools -1. Support Streamable HTTP when it is GA in Python SDK 1. Support OAuth 2.1 and use it with RabbitMQ OAuth +✅ Support Streamable HTTP now that is GA in Python SDK + ## Development ### Setup Development Environment diff --git a/mcp_server_rabbitmq/server.py b/mcp_server_rabbitmq/server.py index 245d30a..e10df49 100644 --- a/mcp_server_rabbitmq/server.py +++ b/mcp_server_rabbitmq/server.py @@ -220,9 +220,15 @@ def run(self, args): self.logger.info(f"Starting RabbitMQ MCP Server v{MCP_SERVER_VERSION}") self.logger.info(f"Connecting to RabbitMQ at {self.rabbitmq_host}:{self.rabbitmq_port}") - if args.sse: + # Set port if specified + if args.server_port: self.mcp.settings.port = args.server_port + + # Determine transport type and run + if args.sse: self.mcp.run(transport="sse") + elif args.streamable_http: + self.mcp.run(transport="streamable-http") else: self.mcp.run() @@ -243,6 +249,12 @@ def main(): "--api-port", type=int, default=15671, help="Port for the RabbitMQ management API" ) parser.add_argument("--sse", action="store_true", help="Use SSE transport") + parser.add_argument( + "--streamable-http", + dest="streamable_http", + action="store_true", + help="Use Streamable HTTP transport", + ) parser.add_argument( "--server-port", type=int, default=8888, help="Port to run the MCP server on" )