22
22
23
23
24
24
class RabbitMQMCPServer :
25
- def __init__ (self ):
25
+ def __init__ (
26
+ self ,
27
+ rabbitmq_host = None ,
28
+ rabbitmq_port = None ,
29
+ rabbitmq_username = None ,
30
+ rabbitmq_password = None ,
31
+ rabbitmq_use_tls = None ,
32
+ rabbitmq_api_port = None ,
33
+ ):
26
34
# Setup logger
27
35
logger .remove ()
28
36
logger .add (sys .stderr , level = os .getenv ("FASTMCP_LOG_LEVEL" , "WARNING" ))
@@ -36,12 +44,12 @@ def __init__(self):
36
44
)
37
45
38
46
# Connection parameters
39
- self .rabbitmq_host = None
40
- self .rabbitmq_port = None
41
- self .rabbitmq_username = None
42
- self .rabbitmq_password = None
43
- self .rabbitmq_use_tls = None
44
- self .rabbitmq_api_port = None
47
+ self .rabbitmq_host = rabbitmq_host
48
+ self .rabbitmq_port = rabbitmq_port
49
+ self .rabbitmq_username = rabbitmq_username
50
+ self .rabbitmq_password = rabbitmq_password
51
+ self .rabbitmq_use_tls = rabbitmq_use_tls
52
+ self .rabbitmq_api_port = rabbitmq_api_port
45
53
46
54
# Register tools
47
55
self ._register_tools ()
@@ -62,7 +70,6 @@ def enqueue(queue: str, message: str) -> str:
62
70
handle_enqueue (rabbitmq , queue , message )
63
71
return "Message successfully enqueued"
64
72
except Exception as e :
65
- print (e , file = sys .stderr )
66
73
self .logger .error (f"{ e } " )
67
74
return f"Failed to enqueue message: { e } "
68
75
@@ -87,7 +94,6 @@ def fanout(exchange: str, message: str) -> str:
87
94
@self .mcp .tool ()
88
95
def list_queues () -> str :
89
96
"""List all the queues in the broker."""
90
- print ("triggered list queues" , file = sys .stderr )
91
97
try :
92
98
admin = RabbitMQAdmin (
93
99
self .rabbitmq_host ,
@@ -99,7 +105,6 @@ def list_queues() -> str:
99
105
result = handle_list_queues (admin )
100
106
return str (result )
101
107
except Exception as e :
102
- print (e , file = sys .stderr )
103
108
self .logger .error (f"{ e } " )
104
109
return f"Failed to list queues: { e } "
105
110
@@ -212,13 +217,6 @@ def get_exchange_info(exchange: str, vhost: str = "/") -> str:
212
217
213
218
def run (self , args ):
214
219
"""Run the MCP server with the provided arguments."""
215
- self .rabbitmq_host = args .rabbitmq_host
216
- self .rabbitmq_port = args .port
217
- self .rabbitmq_username = args .username
218
- self .rabbitmq_password = args .password
219
- self .rabbitmq_use_tls = args .use_tls
220
- self .rabbitmq_api_port = args .api_port
221
-
222
220
self .logger .info (f"Starting RabbitMQ MCP Server v{ MCP_SERVER_VERSION } " )
223
221
self .logger .info (f"Connecting to RabbitMQ at { self .rabbitmq_host } :{ self .rabbitmq_port } " )
224
222
@@ -251,7 +249,17 @@ def main():
251
249
252
250
args = parser .parse_args ()
253
251
254
- server = RabbitMQMCPServer ()
252
+ # Create server with connection parameters from args
253
+ server = RabbitMQMCPServer (
254
+ rabbitmq_host = args .rabbitmq_host ,
255
+ rabbitmq_port = args .port ,
256
+ rabbitmq_username = args .username ,
257
+ rabbitmq_password = args .password ,
258
+ rabbitmq_use_tls = args .use_tls ,
259
+ rabbitmq_api_port = args .api_port ,
260
+ )
261
+
262
+ # Run the server with remaining args
255
263
server .run (args )
256
264
257
265
0 commit comments