mcp-proxy-adapter 6.2.26__py3-none-any.whl → 6.2.28__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mcp_proxy_adapter/config.py +1 -0
- mcp_proxy_adapter/core/proxy_client.py +8 -6
- mcp_proxy_adapter/core/proxy_registration.py +8 -6
- mcp_proxy_adapter/examples/generate_test_configs.py +99 -25
- mcp_proxy_adapter/version.py +1 -1
- {mcp_proxy_adapter-6.2.26.dist-info → mcp_proxy_adapter-6.2.28.dist-info}/METADATA +1 -1
- {mcp_proxy_adapter-6.2.26.dist-info → mcp_proxy_adapter-6.2.28.dist-info}/RECORD +11 -11
- {mcp_proxy_adapter-6.2.26.dist-info → mcp_proxy_adapter-6.2.28.dist-info}/WHEEL +0 -0
- {mcp_proxy_adapter-6.2.26.dist-info → mcp_proxy_adapter-6.2.28.dist-info}/entry_points.txt +0 -0
- {mcp_proxy_adapter-6.2.26.dist-info → mcp_proxy_adapter-6.2.28.dist-info}/licenses/LICENSE +0 -0
- {mcp_proxy_adapter-6.2.26.dist-info → mcp_proxy_adapter-6.2.28.dist-info}/top_level.txt +0 -0
mcp_proxy_adapter/config.py
CHANGED
@@ -119,6 +119,7 @@ class Config:
|
|
119
119
|
"server_id": "mcp_proxy_adapter",
|
120
120
|
"server_name": "MCP Proxy Adapter",
|
121
121
|
"description": "JSON-RPC API for interacting with MCP Proxy",
|
122
|
+
"version": "6.2.28",
|
122
123
|
"registration_timeout": 30,
|
123
124
|
"retry_attempts": 3,
|
124
125
|
"retry_delay": 5,
|
@@ -58,13 +58,15 @@ class ProxyClient:
|
|
58
58
|
config: Client configuration
|
59
59
|
"""
|
60
60
|
self.config = config
|
61
|
-
|
61
|
+
# Try both registration and proxy_registration for backward compatibility
|
62
|
+
self.registration_config = config.get("registration", config.get("proxy_registration", {}))
|
62
63
|
|
63
64
|
# Basic settings
|
64
|
-
self.proxy_url = self.registration_config.get("server_url")
|
65
|
-
self.server_id = self.registration_config.get("proxy_info", {}).get("name", "mcp_proxy_adapter")
|
66
|
-
self.server_name = self.registration_config.get("proxy_info", {}).get("name", "MCP Proxy Adapter")
|
67
|
-
self.description = self.registration_config.get("proxy_info", {}).get("description", "")
|
65
|
+
self.proxy_url = self.registration_config.get("proxy_url", self.registration_config.get("server_url"))
|
66
|
+
self.server_id = self.registration_config.get("server_id", self.registration_config.get("proxy_info", {}).get("name", "mcp_proxy_adapter"))
|
67
|
+
self.server_name = self.registration_config.get("server_name", self.registration_config.get("proxy_info", {}).get("name", "MCP Proxy Adapter"))
|
68
|
+
self.description = self.registration_config.get("description", self.registration_config.get("proxy_info", {}).get("description", ""))
|
69
|
+
self.version = self.registration_config.get("version", self.registration_config.get("proxy_info", {}).get("version", "1.0.0"))
|
68
70
|
|
69
71
|
# Authentication settings
|
70
72
|
self.auth_method = self.registration_config.get("auth_method", "none")
|
@@ -227,7 +229,7 @@ class ProxyClient:
|
|
227
229
|
"server_url": self.server_url,
|
228
230
|
"server_name": self.server_name,
|
229
231
|
"description": self.description,
|
230
|
-
"version":
|
232
|
+
"version": self.version,
|
231
233
|
"capabilities": proxy_info.get("capabilities", ["jsonrpc", "rest"]),
|
232
234
|
"endpoints": proxy_info.get("endpoints", {
|
233
235
|
"jsonrpc": "/api/jsonrpc",
|
@@ -45,13 +45,15 @@ class ProxyRegistrationManager:
|
|
45
45
|
config: Application configuration
|
46
46
|
"""
|
47
47
|
self.config = config
|
48
|
-
|
48
|
+
# Try both registration and proxy_registration for backward compatibility
|
49
|
+
self.registration_config = config.get("registration", config.get("proxy_registration", {}))
|
49
50
|
|
50
51
|
# Basic registration settings
|
51
|
-
self.proxy_url = self.registration_config.get("server_url", "https://proxy-registry.example.com")
|
52
|
-
self.server_id = self.registration_config.get("proxy_info", {}).get("name", "mcp_proxy_adapter")
|
53
|
-
self.server_name = self.registration_config.get("proxy_info", {}).get("name", "MCP Proxy Adapter")
|
54
|
-
self.description = self.registration_config.get("proxy_info", {}).get("description", "JSON-RPC API for interacting with MCP Proxy")
|
52
|
+
self.proxy_url = self.registration_config.get("proxy_url", self.registration_config.get("server_url", "https://proxy-registry.example.com"))
|
53
|
+
self.server_id = self.registration_config.get("server_id", self.registration_config.get("proxy_info", {}).get("name", "mcp_proxy_adapter"))
|
54
|
+
self.server_name = self.registration_config.get("server_name", self.registration_config.get("proxy_info", {}).get("name", "MCP Proxy Adapter"))
|
55
|
+
self.description = self.registration_config.get("description", self.registration_config.get("proxy_info", {}).get("description", "JSON-RPC API for interacting with MCP Proxy"))
|
56
|
+
self.version = self.registration_config.get("version", self.registration_config.get("proxy_info", {}).get("version", "1.0.0"))
|
55
57
|
|
56
58
|
# Heartbeat settings
|
57
59
|
heartbeat_config = self.registration_config.get("heartbeat", {})
|
@@ -162,7 +164,7 @@ class ProxyRegistrationManager:
|
|
162
164
|
"server_url": self.server_url,
|
163
165
|
"server_name": self.server_name,
|
164
166
|
"description": self.description,
|
165
|
-
"version":
|
167
|
+
"version": self.version,
|
166
168
|
"capabilities": proxy_info.get("capabilities", ["jsonrpc", "rest"]),
|
167
169
|
"endpoints": proxy_info.get("endpoints", {
|
168
170
|
"jsonrpc": "/api/jsonrpc",
|
@@ -9,7 +9,11 @@ import json
|
|
9
9
|
import os
|
10
10
|
import argparse
|
11
11
|
from typing import Dict, Any
|
12
|
-
|
12
|
+
|
13
|
+
|
14
|
+
def generate_http_simple_config(
|
15
|
+
port: int = 20000, certs_dir: str = "certs", keys_dir: str = "keys"
|
16
|
+
) -> Dict[str, Any]:
|
13
17
|
"""Generate HTTP configuration without authorization."""
|
14
18
|
return {
|
15
19
|
"server": {"host": "127.0.0.1", "port": port},
|
@@ -23,13 +27,27 @@ def generate_http_simple_config(port: int = 20000, certs_dir: str = "certs", key
|
|
23
27
|
"proxy_info": {
|
24
28
|
"name": "mcp_example_server",
|
25
29
|
"capabilities": ["jsonrpc", "rest", "proxy_registration"],
|
26
|
-
"endpoints": {
|
30
|
+
"endpoints": {
|
31
|
+
"jsonrpc": "/api/jsonrpc",
|
32
|
+
"rest": "/cmd",
|
33
|
+
"health": "/health"
|
34
|
+
}
|
27
35
|
},
|
28
36
|
"heartbeat": {"enabled": True, "interval": 30}
|
29
37
|
},
|
30
|
-
"protocols": {
|
38
|
+
"protocols": {
|
39
|
+
"enabled": True,
|
40
|
+
"allowed_protocols": ["http"]
|
41
|
+
}
|
31
42
|
}
|
32
|
-
|
43
|
+
|
44
|
+
|
45
|
+
def generate_http_token_config(
|
46
|
+
port: int = 20001,
|
47
|
+
certs_dir: str = "certs",
|
48
|
+
keys_dir: str = "keys",
|
49
|
+
roles_file: str = "configs/roles.json"
|
50
|
+
) -> Dict[str, Any]:
|
33
51
|
"""Generate HTTP configuration with token authorization."""
|
34
52
|
return {
|
35
53
|
"server": {"host": "127.0.0.1", "port": port},
|
@@ -59,9 +77,16 @@ def generate_http_token_config(port: int = 20001, certs_dir: str = "certs", keys
|
|
59
77
|
"retry_delay": 5,
|
60
78
|
"heartbeat": {"enabled": True, "interval": 30}
|
61
79
|
},
|
62
|
-
"protocols": {
|
80
|
+
"protocols": {
|
81
|
+
"enabled": True,
|
82
|
+
"allowed_protocols": ["http"]
|
83
|
+
}
|
63
84
|
}
|
64
|
-
|
85
|
+
|
86
|
+
|
87
|
+
def generate_https_simple_config(
|
88
|
+
port: int = 20002, certs_dir: str = "certs", keys_dir: str = "keys"
|
89
|
+
) -> Dict[str, Any]:
|
65
90
|
"""Generate HTTPS configuration without client certificate verification and authorization."""
|
66
91
|
return {
|
67
92
|
"server": {"host": "127.0.0.1", "port": port},
|
@@ -80,9 +105,16 @@ def generate_https_simple_config(port: int = 20002, certs_dir: str = "certs", ke
|
|
80
105
|
"retry_delay": 5,
|
81
106
|
"heartbeat": {"enabled": True, "interval": 30}
|
82
107
|
},
|
83
|
-
"protocols": {
|
108
|
+
"protocols": {
|
109
|
+
"enabled": True,
|
110
|
+
"allowed_protocols": ["http", "https"]
|
111
|
+
}
|
84
112
|
}
|
85
|
-
|
113
|
+
|
114
|
+
|
115
|
+
def generate_https_token_config(
|
116
|
+
port: int = 20003, certs_dir: str = "certs", keys_dir: str = "keys"
|
117
|
+
) -> Dict[str, Any]:
|
86
118
|
"""Generate HTTPS configuration without client certificate verification with token authorization."""
|
87
119
|
return {
|
88
120
|
"server": {"host": "127.0.0.1", "port": port},
|
@@ -115,9 +147,16 @@ def generate_https_token_config(port: int = 20003, certs_dir: str = "certs", key
|
|
115
147
|
"retry_delay": 5,
|
116
148
|
"heartbeat": {"enabled": True, "interval": 30}
|
117
149
|
},
|
118
|
-
"protocols": {
|
150
|
+
"protocols": {
|
151
|
+
"enabled": True,
|
152
|
+
"allowed_protocols": ["http", "https"]
|
153
|
+
}
|
119
154
|
}
|
120
|
-
|
155
|
+
|
156
|
+
|
157
|
+
def generate_mtls_no_roles_config(
|
158
|
+
port: int = 20004, certs_dir: str = "certs", keys_dir: str = "keys"
|
159
|
+
) -> Dict[str, Any]:
|
121
160
|
"""Generate mTLS configuration without roles."""
|
122
161
|
return {
|
123
162
|
"server": {"host": "127.0.0.1", "port": port},
|
@@ -126,16 +165,30 @@ def generate_mtls_no_roles_config(port: int = 20004, certs_dir: str = "certs", k
|
|
126
165
|
"cert_file": f"{certs_dir}/localhost_server.crt",
|
127
166
|
"key_file": f"{keys_dir}/localhost_server.key",
|
128
167
|
"ca_cert": f"{certs_dir}/mcp_proxy_adapter_ca_ca.crt",
|
129
|
-
"verify_client": True
|
168
|
+
"verify_client": True,
|
169
|
+
"client_cert_required": True
|
130
170
|
},
|
131
171
|
"security": {
|
132
172
|
"enabled": True,
|
133
173
|
"auth": {"enabled": True, "methods": ["certificate"]},
|
134
174
|
"permissions": {"enabled": False}
|
135
175
|
},
|
136
|
-
"
|
176
|
+
"registration": {
|
177
|
+
"enabled": False
|
178
|
+
},
|
179
|
+
"protocols": {
|
180
|
+
"enabled": True,
|
181
|
+
"allowed_protocols": ["https", "mtls"]
|
182
|
+
}
|
137
183
|
}
|
138
|
-
|
184
|
+
|
185
|
+
|
186
|
+
def generate_mtls_with_roles_config(
|
187
|
+
port: int = 20005,
|
188
|
+
certs_dir: str = "certs",
|
189
|
+
keys_dir: str = "keys",
|
190
|
+
roles_file: str = "configs/roles.json"
|
191
|
+
) -> Dict[str, Any]:
|
139
192
|
"""Generate mTLS configuration with roles."""
|
140
193
|
return {
|
141
194
|
"server": {"host": "127.0.0.1", "port": port},
|
@@ -154,7 +207,11 @@ def generate_mtls_with_roles_config(port: int = 20005, certs_dir: str = "certs",
|
|
154
207
|
"proxy_info": {
|
155
208
|
"name": "mcp_example_server",
|
156
209
|
"capabilities": ["jsonrpc", "rest", "security", "proxy_registration"],
|
157
|
-
"endpoints": {
|
210
|
+
"endpoints": {
|
211
|
+
"jsonrpc": "/api/jsonrpc",
|
212
|
+
"rest": "/cmd",
|
213
|
+
"health": "/health"
|
214
|
+
}
|
158
215
|
},
|
159
216
|
"heartbeat": {"enabled": True, "interval": 30}
|
160
217
|
},
|
@@ -163,8 +220,13 @@ def generate_mtls_with_roles_config(port: int = 20005, certs_dir: str = "certs",
|
|
163
220
|
"auth": {"enabled": True, "methods": ["certificate"]},
|
164
221
|
"permissions": {"enabled": True, "roles_file": roles_file}
|
165
222
|
},
|
166
|
-
"protocols": {
|
223
|
+
"protocols": {
|
224
|
+
"enabled": True,
|
225
|
+
"allowed_protocols": ["https", "mtls"]
|
226
|
+
}
|
167
227
|
}
|
228
|
+
|
229
|
+
|
168
230
|
def generate_roles_config() -> Dict[str, Any]:
|
169
231
|
"""Generate roles configuration for testing."""
|
170
232
|
return {
|
@@ -222,7 +284,14 @@ def generate_roles_config() -> Dict[str, Any]:
|
|
222
284
|
"tokens": ["proxy-token-123"]
|
223
285
|
}
|
224
286
|
}
|
225
|
-
|
287
|
+
|
288
|
+
|
289
|
+
def generate_all_configs(
|
290
|
+
output_dir: str,
|
291
|
+
certs_dir: str = "certs",
|
292
|
+
keys_dir: str = "keys",
|
293
|
+
roles_file: str = "configs/roles.json"
|
294
|
+
) -> None:
|
226
295
|
"""Generate all 6 configuration types and save them to files."""
|
227
296
|
# Ensure output directory exists first
|
228
297
|
os.makedirs(output_dir, exist_ok=True)
|
@@ -235,17 +304,17 @@ def generate_all_configs(output_dir: str, certs_dir: str = "certs", keys_dir: st
|
|
235
304
|
"mtls_no_roles": generate_mtls_no_roles_config(20004, certs_dir, keys_dir),
|
236
305
|
"mtls_with_roles": generate_mtls_with_roles_config(20005, certs_dir, keys_dir, roles_file)
|
237
306
|
}
|
238
|
-
|
239
|
-
os.makedirs(output_dir, exist_ok=True)
|
307
|
+
|
240
308
|
# Generate each configuration
|
241
309
|
for name, config in configs.items():
|
242
310
|
filename = os.path.join(output_dir, f"{name}.json")
|
243
311
|
with open(filename, 'w', encoding='utf-8') as f:
|
244
312
|
json.dump(config, f, indent=2, ensure_ascii=False)
|
245
313
|
print(f"Generated: {filename}")
|
314
|
+
|
246
315
|
# Generate roles configuration
|
247
316
|
roles_config = generate_roles_config()
|
248
|
-
|
317
|
+
|
249
318
|
# Create roles.json in the root directory (test environment root) for compatibility
|
250
319
|
# When running as module, we need to create roles.json in the current working directory
|
251
320
|
# This is the directory where the user is running the command from
|
@@ -253,30 +322,30 @@ def generate_all_configs(output_dir: str, certs_dir: str = "certs", keys_dir: st
|
|
253
322
|
# Get the current working directory where the user is running the command
|
254
323
|
current_dir = os.getcwd()
|
255
324
|
root_roles_filename = os.path.join(current_dir, "roles.json")
|
256
|
-
|
325
|
+
|
257
326
|
# Create roles.json in the current working directory
|
258
327
|
with open(root_roles_filename, 'w', encoding='utf-8') as f:
|
259
328
|
json.dump(roles_config, f, indent=2, ensure_ascii=False)
|
260
329
|
print(f"Generated: {root_roles_filename}")
|
261
|
-
|
330
|
+
|
262
331
|
# Also create a copy in the output directory for reference
|
263
332
|
backup_roles_filename = os.path.join(output_dir, "roles_backup.json")
|
264
333
|
with open(backup_roles_filename, 'w', encoding='utf-8') as f:
|
265
334
|
json.dump(roles_config, f, indent=2, ensure_ascii=False)
|
266
335
|
print(f"Generated backup: {backup_roles_filename}")
|
267
|
-
|
336
|
+
|
268
337
|
except Exception as e:
|
269
338
|
print(f"Warning: Could not create roles.json in current directory: {e}")
|
270
339
|
print(f"Current working directory: {os.getcwd()}")
|
271
340
|
print(f"Script directory: {os.path.dirname(os.path.abspath(__file__))}")
|
272
|
-
|
341
|
+
|
273
342
|
# Also create roles.json in configs directory for reference
|
274
343
|
roles_filename = os.path.join(output_dir, "roles.json")
|
275
344
|
with open(roles_filename, 'w', encoding='utf-8') as f:
|
276
345
|
json.dump(roles_config, f, indent=2, ensure_ascii=False)
|
277
346
|
print(f"Generated: {roles_filename}")
|
278
347
|
print(f"\nGenerated {len(configs)} configuration files and roles.json in {output_dir}")
|
279
|
-
|
348
|
+
|
280
349
|
print("\n" + "=" * 60)
|
281
350
|
print("✅ CONFIGURATION GENERATION COMPLETED SUCCESSFULLY")
|
282
351
|
print("=" * 60)
|
@@ -288,7 +357,9 @@ def generate_all_configs(output_dir: str, certs_dir: str = "certs", keys_dir: st
|
|
288
357
|
print("\n3. Start full application example:")
|
289
358
|
print(" python -m mcp_proxy_adapter.examples.full_application.main --config configs/mtls_with_roles.json")
|
290
359
|
print("=" * 60)
|
291
|
-
|
360
|
+
|
361
|
+
|
362
|
+
def main() -> int:
|
292
363
|
"""Main function for command line execution."""
|
293
364
|
parser = argparse.ArgumentParser(
|
294
365
|
description="Generate test configurations for MCP Proxy Adapter"
|
@@ -314,6 +385,7 @@ def main():
|
|
314
385
|
help="Roles file path (default: configs/roles.json)"
|
315
386
|
)
|
316
387
|
args = parser.parse_args()
|
388
|
+
|
317
389
|
try:
|
318
390
|
generate_all_configs(args.output_dir, args.certs_dir, args.keys_dir, args.roles_file)
|
319
391
|
print("Configuration generation completed successfully!")
|
@@ -327,5 +399,7 @@ def main():
|
|
327
399
|
print("=" * 60)
|
328
400
|
return 1
|
329
401
|
return 0
|
402
|
+
|
403
|
+
|
330
404
|
if __name__ == "__main__":
|
331
405
|
exit(main())
|
mcp_proxy_adapter/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-proxy-adapter
|
3
|
-
Version: 6.2.
|
3
|
+
Version: 6.2.28
|
4
4
|
Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
|
5
5
|
Home-page: https://github.com/maverikod/mcp-proxy-adapter
|
6
6
|
Author: Vasiliy Zdanovskiy
|
@@ -1,10 +1,10 @@
|
|
1
1
|
mcp_proxy_adapter/__init__.py,sha256=B7m1YWyv_Wb87-Q-JqVpHQgwajnfIgDyZ_iIxzdTbBY,1021
|
2
2
|
mcp_proxy_adapter/__main__.py,sha256=-Wp1myP9DzJNB9j97mj62C8kFk5YUbCmd0e7Rnwte0A,769
|
3
|
-
mcp_proxy_adapter/config.py,sha256=
|
3
|
+
mcp_proxy_adapter/config.py,sha256=trWPH97f6-s0NHWrhGBoB6DrQ9N_m6VPMewzj7J9ORY,21600
|
4
4
|
mcp_proxy_adapter/custom_openapi.py,sha256=jYUrCy8C1mShh3sjKj-JkzSMLAvxDLTvtzSJFj5HUNg,15023
|
5
5
|
mcp_proxy_adapter/main.py,sha256=9qt_pEQdq8roUc73CumfDn6jDWP_NyfdE1lCGEynv5I,2841
|
6
6
|
mcp_proxy_adapter/openapi.py,sha256=36vOEbJjGnVZR6hUhl6mHCD29HYOEFKo2bL0JdGSm-4,13952
|
7
|
-
mcp_proxy_adapter/version.py,sha256=
|
7
|
+
mcp_proxy_adapter/version.py,sha256=KHrvoL3BnoiDgpKrK5g0qVgBZuVAm-W980XLAQGsoDg,76
|
8
8
|
mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
mcp_proxy_adapter/api/app.py,sha256=khl4kaI4mJ6dNbfAK7hR97Ek-eWC9NBeuXHr6GVbLoU,28911
|
10
10
|
mcp_proxy_adapter/api/handlers.py,sha256=DcZT7MVBV33q-0EJ0iFqxE0VgBkFt6d_SqoRkntwyvc,8477
|
@@ -67,8 +67,8 @@ mcp_proxy_adapter/core/logging.py,sha256=jQlFz52Xwapef6UD4p0acmaGFumD9XuexwW4frD
|
|
67
67
|
mcp_proxy_adapter/core/mtls_asgi.py,sha256=X2lAj3wk3L85amRCp_-10sqvZa5wJf_diXhwrrQReSo,5311
|
68
68
|
mcp_proxy_adapter/core/mtls_asgi_app.py,sha256=VeolP08TTaqYU5fGeaZexj6EBWBDugoVrEGXzJW4PuM,6406
|
69
69
|
mcp_proxy_adapter/core/protocol_manager.py,sha256=ISFRXjUuK4Q3uMbVB8-O_ozQSsDEH0PQA_HAKGeUrrw,14763
|
70
|
-
mcp_proxy_adapter/core/proxy_client.py,sha256=
|
71
|
-
mcp_proxy_adapter/core/proxy_registration.py,sha256=
|
70
|
+
mcp_proxy_adapter/core/proxy_client.py,sha256=n44T5iBS29y6E2lQLGKpOQxPYVrxIl98OAs6mMuhEsM,22916
|
71
|
+
mcp_proxy_adapter/core/proxy_registration.py,sha256=OeSDjID-1ofJxRQhmzKGoXM6E-Pk0WmuUfMdsiSo2u0,19829
|
72
72
|
mcp_proxy_adapter/core/role_utils.py,sha256=wMoTVz3gF5fM7jozNMwsEwPkp1tui26M-t_KH1Oz8gs,12880
|
73
73
|
mcp_proxy_adapter/core/security_adapter.py,sha256=wZ3OH1WzhUdpN8N8CrGJSFFVNi474DqdazIqQ1T8PN4,13343
|
74
74
|
mcp_proxy_adapter/core/security_factory.py,sha256=4r7qvBq30XfosGD_b1ZHyNVLN8rOQ3NAKuaCOCEK8jA,8262
|
@@ -88,7 +88,7 @@ mcp_proxy_adapter/examples/demo_client.py,sha256=inic-FP5qG8oQXUaCrtEhmhac_PDZ1p
|
|
88
88
|
mcp_proxy_adapter/examples/generate_all_certificates.py,sha256=rgcwqIkQ1eDfEIRFRXGIOz-jOSS1w0GPBRhYvMl6Vjc,16948
|
89
89
|
mcp_proxy_adapter/examples/generate_certificates.py,sha256=A34OHUEiFvINOHrm3_JiDSbp-WG-eQXIvKCsE8JAeXQ,6616
|
90
90
|
mcp_proxy_adapter/examples/generate_certificates_and_tokens.py,sha256=J0qHm_BMY8RYqfuwf7V7xKsHcsRJx8E7x-8JxmW5sPw,15988
|
91
|
-
mcp_proxy_adapter/examples/generate_test_configs.py,sha256=
|
91
|
+
mcp_proxy_adapter/examples/generate_test_configs.py,sha256=OQjLJ0x1YrvYAFR1agu_Tl314KI_Mhjmo4o64H00wVw,14132
|
92
92
|
mcp_proxy_adapter/examples/proxy_registration_example.py,sha256=g59_QG2D1CCqhIXEvgy2XmgXI3toLmLyH7hL3uHZwC8,12647
|
93
93
|
mcp_proxy_adapter/examples/run_example.py,sha256=o8rcy9Xo0UuZG4MpKdex3pFWYdtAi6uW8dEBQE6Yzbw,2539
|
94
94
|
mcp_proxy_adapter/examples/run_full_test_suite.py,sha256=7Z6qDOvbndGPue1P9v-GcYZxy_XPqoC9voJ7tR8eKQ8,12428
|
@@ -132,9 +132,9 @@ mcp_proxy_adapter/examples/scripts/config_generator.py,sha256=4qruYxQ2kGLVOukLX2
|
|
132
132
|
mcp_proxy_adapter/examples/scripts/create_certificates_simple.py,sha256=xkIvUYl6hbKlWImQmenG0k_CvIsOsc9ZHICiKY3rtI8,26380
|
133
133
|
mcp_proxy_adapter/examples/scripts/generate_certificates_and_tokens.py,sha256=J0qHm_BMY8RYqfuwf7V7xKsHcsRJx8E7x-8JxmW5sPw,15988
|
134
134
|
mcp_proxy_adapter/utils/config_generator.py,sha256=2dxwBh9k_nUw9kgytZso5TNOQpBqd3c-RpKSTLoHlLE,46465
|
135
|
-
mcp_proxy_adapter-6.2.
|
136
|
-
mcp_proxy_adapter-6.2.
|
137
|
-
mcp_proxy_adapter-6.2.
|
138
|
-
mcp_proxy_adapter-6.2.
|
139
|
-
mcp_proxy_adapter-6.2.
|
140
|
-
mcp_proxy_adapter-6.2.
|
135
|
+
mcp_proxy_adapter-6.2.28.dist-info/licenses/LICENSE,sha256=6KdtUcTwmTRbJrAmYjVn7e6S-V42ubeDJ-AiVEzZ510,1075
|
136
|
+
mcp_proxy_adapter-6.2.28.dist-info/METADATA,sha256=Dn8sbGOeKXfSpUlpo4Y1_UcerzkwPKOE_IzK6adGUgU,22348
|
137
|
+
mcp_proxy_adapter-6.2.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
138
|
+
mcp_proxy_adapter-6.2.28.dist-info/entry_points.txt,sha256=J3eV6ID0lt_VSp4lIdIgBFTqLCThgObNNxRCbyfiMHw,70
|
139
|
+
mcp_proxy_adapter-6.2.28.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
|
140
|
+
mcp_proxy_adapter-6.2.28.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|