@@ -26,10 +26,7 @@ def __init__(self):
26
26
self .logger .setLevel (logging .INFO )
27
27
logging .basicConfig (
28
28
format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ,
29
- handlers = [
30
- logging .FileHandler ("server.log" ),
31
- logging .StreamHandler ()
32
- ]
29
+ handlers = [logging .FileHandler ("server.log" ), logging .StreamHandler ()],
33
30
)
34
31
35
32
# Initialize FastMCP
@@ -57,8 +54,11 @@ def enqueue(queue: str, message: str) -> str:
57
54
validate_rabbitmq_name (queue , "Queue name" )
58
55
try :
59
56
rabbitmq = RabbitMQConnection (
60
- self .rabbitmq_host , self .rabbitmq_port , self .rabbitmq_username ,
61
- self .rabbitmq_password , self .rabbitmq_use_tls
57
+ self .rabbitmq_host ,
58
+ self .rabbitmq_port ,
59
+ self .rabbitmq_username ,
60
+ self .rabbitmq_password ,
61
+ self .rabbitmq_use_tls ,
62
62
)
63
63
handle_enqueue (rabbitmq , queue , message )
64
64
return "Message successfully enqueued"
@@ -72,8 +72,11 @@ def fanout(exchange: str, message: str) -> str:
72
72
validate_rabbitmq_name (exchange , "Exchange name" )
73
73
try :
74
74
rabbitmq = RabbitMQConnection (
75
- self .rabbitmq_host , self .rabbitmq_port , self .rabbitmq_username ,
76
- self .rabbitmq_password , self .rabbitmq_use_tls
75
+ self .rabbitmq_host ,
76
+ self .rabbitmq_port ,
77
+ self .rabbitmq_username ,
78
+ self .rabbitmq_password ,
79
+ self .rabbitmq_use_tls ,
77
80
)
78
81
handle_fanout (rabbitmq , exchange , message )
79
82
return "Message successfully published to exchange"
@@ -86,8 +89,11 @@ def list_queues() -> str:
86
89
"""List all the queues in the broker."""
87
90
try :
88
91
admin = RabbitMQAdmin (
89
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
90
- self .rabbitmq_password , self .rabbitmq_use_tls
92
+ self .rabbitmq_host ,
93
+ self .rabbitmq_api_port ,
94
+ self .rabbitmq_username ,
95
+ self .rabbitmq_password ,
96
+ self .rabbitmq_use_tls ,
91
97
)
92
98
result = handle_list_queues (admin )
93
99
return str (result )
@@ -100,8 +106,11 @@ def list_exchanges() -> str:
100
106
"""List all the exchanges in the broker."""
101
107
try :
102
108
admin = RabbitMQAdmin (
103
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
104
- self .rabbitmq_password , self .rabbitmq_use_tls
109
+ self .rabbitmq_host ,
110
+ self .rabbitmq_api_port ,
111
+ self .rabbitmq_username ,
112
+ self .rabbitmq_password ,
113
+ self .rabbitmq_use_tls ,
105
114
)
106
115
result = handle_list_exchanges (admin )
107
116
return str (result )
@@ -114,8 +123,11 @@ def get_queue_info(queue: str, vhost: str = "/") -> str:
114
123
"""Get detailed information about a specific queue."""
115
124
try :
116
125
admin = RabbitMQAdmin (
117
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
118
- self .rabbitmq_password , self .rabbitmq_use_tls
126
+ self .rabbitmq_host ,
127
+ self .rabbitmq_api_port ,
128
+ self .rabbitmq_username ,
129
+ self .rabbitmq_password ,
130
+ self .rabbitmq_use_tls ,
119
131
)
120
132
validate_rabbitmq_name (queue , "Queue name" )
121
133
result = handle_get_queue_info (admin , queue , vhost )
@@ -129,8 +141,11 @@ def delete_queue(queue: str, vhost: str = "/") -> str:
129
141
"""Delete a specific queue."""
130
142
try :
131
143
admin = RabbitMQAdmin (
132
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
133
- self .rabbitmq_password , self .rabbitmq_use_tls
144
+ self .rabbitmq_host ,
145
+ self .rabbitmq_api_port ,
146
+ self .rabbitmq_username ,
147
+ self .rabbitmq_password ,
148
+ self .rabbitmq_use_tls ,
134
149
)
135
150
validate_rabbitmq_name (queue , "Queue name" )
136
151
handle_delete_queue (admin , queue , vhost )
@@ -144,8 +159,11 @@ def purge_queue(queue: str, vhost: str = "/") -> str:
144
159
"""Remove all messages from a specific queue."""
145
160
try :
146
161
admin = RabbitMQAdmin (
147
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
148
- self .rabbitmq_password , self .rabbitmq_use_tls
162
+ self .rabbitmq_host ,
163
+ self .rabbitmq_api_port ,
164
+ self .rabbitmq_username ,
165
+ self .rabbitmq_password ,
166
+ self .rabbitmq_use_tls ,
149
167
)
150
168
validate_rabbitmq_name (queue , "Queue name" )
151
169
handle_purge_queue (admin , queue , vhost )
@@ -159,8 +177,11 @@ def delete_exchange(exchange: str, vhost: str = "/") -> str:
159
177
"""Delete a specific exchange."""
160
178
try :
161
179
admin = RabbitMQAdmin (
162
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
163
- self .rabbitmq_password , self .rabbitmq_use_tls
180
+ self .rabbitmq_host ,
181
+ self .rabbitmq_api_port ,
182
+ self .rabbitmq_username ,
183
+ self .rabbitmq_password ,
184
+ self .rabbitmq_use_tls ,
164
185
)
165
186
validate_rabbitmq_name (exchange , "Exchange name" )
166
187
handle_delete_exchange (admin , exchange , vhost )
@@ -174,8 +195,11 @@ def get_exchange_info(exchange: str, vhost: str = "/") -> str:
174
195
"""Get detailed information about a specific exchange."""
175
196
try :
176
197
admin = RabbitMQAdmin (
177
- self .rabbitmq_host , self .rabbitmq_api_port , self .rabbitmq_username ,
178
- self .rabbitmq_password , self .rabbitmq_use_tls
198
+ self .rabbitmq_host ,
199
+ self .rabbitmq_api_port ,
200
+ self .rabbitmq_username ,
201
+ self .rabbitmq_password ,
202
+ self .rabbitmq_use_tls ,
179
203
)
180
204
validate_rabbitmq_name (exchange , "Exchange name" )
181
205
result = handle_get_exchange_info (admin , exchange , vhost )
@@ -212,16 +236,22 @@ def main():
212
236
parser .add_argument ("--port" , type = int , required = True , help = "Port of the RabbitMQ host" )
213
237
parser .add_argument ("--username" , type = str , required = True , help = "Username for the connection" )
214
238
parser .add_argument ("--password" , type = str , required = True , help = "Password for the connection" )
215
- parser .add_argument ("--use-tls" , type = bool , default = False , help = "Is the connection using TLS/SSL" )
216
- parser .add_argument ("--api-port" , type = int , default = 15672 , help = "Port for the RabbitMQ management API" )
239
+ parser .add_argument (
240
+ "--use-tls" , type = bool , default = False , help = "Is the connection using TLS/SSL"
241
+ )
242
+ parser .add_argument (
243
+ "--api-port" , type = int , default = 15672 , help = "Port for the RabbitMQ management API"
244
+ )
217
245
parser .add_argument ("--sse" , action = "store_true" , help = "Use SSE transport" )
218
- parser .add_argument ("--server-port" , type = int , default = 8888 , help = "Port to run the MCP server on" )
246
+ parser .add_argument (
247
+ "--server-port" , type = int , default = 8888 , help = "Port to run the MCP server on"
248
+ )
219
249
220
250
args = parser .parse_args ()
221
-
251
+
222
252
server = RabbitMQMCPServer ()
223
253
server .run (args )
224
254
225
255
226
256
if __name__ == "__main__" :
227
- main ()
257
+ main ()
0 commit comments