mcp-proxy-adapter 6.4.5__py3-none-any.whl → 6.4.7__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.
@@ -340,38 +340,41 @@ async def create_and_run_server(
340
340
  print(" Use Ctrl+C to stop the server")
341
341
  print("=" * 60)
342
342
 
343
- # Use uvicorn for better FastAPI compatibility
344
- import uvicorn
343
+ # Use hypercorn directly
344
+ import hypercorn.asyncio
345
+ import hypercorn.config
345
346
  import asyncio
346
347
 
347
- # Configure uvicorn
348
- uvicorn_config = uvicorn.Config(
349
- app=app,
350
- host=server_config["host"],
351
- port=server_config["port"],
352
- log_level=server_config.get("log_level", "info"),
353
- reload=False,
354
- )
348
+ # Configure hypercorn
349
+ config_hypercorn = hypercorn.config.Config()
350
+ config_hypercorn.bind = [f"{server_config['host']}:{server_config['port']}"]
351
+ config_hypercorn.loglevel = server_config.get("log_level", "info")
355
352
 
356
353
  # Add SSL configuration if present
357
354
  if "certfile" in server_config:
358
- uvicorn_config.ssl_certfile = server_config["certfile"]
355
+ config_hypercorn.certfile = server_config["certfile"]
359
356
  if "keyfile" in server_config:
360
- uvicorn_config.ssl_keyfile = server_config["keyfile"]
357
+ config_hypercorn.keyfile = server_config["keyfile"]
361
358
  if "ca_certs" in server_config:
362
- uvicorn_config.ssl_ca_certs = server_config["ca_certs"]
359
+ config_hypercorn.ca_certs = server_config["ca_certs"]
360
+ if "verify_mode" in server_config:
361
+ import ssl
362
+ # Use the verify_mode from configuration, default to CERT_NONE
363
+ verify_mode = getattr(ssl, server_config["verify_mode"], ssl.CERT_NONE)
364
+ config_hypercorn.verify_mode = verify_mode
363
365
 
364
366
  # Determine if SSL is enabled
365
367
  ssl_enabled = any(key in server_config for key in ["certfile", "keyfile"])
366
368
 
367
369
  if ssl_enabled:
368
- print(f"🔐 Starting HTTPS server with uvicorn...")
370
+ print(f"🔐 Starting HTTPS server with hypercorn...")
369
371
  else:
370
- print(f"🌐 Starting HTTP server with uvicorn...")
372
+ print(f"🌐 Starting HTTP server with hypercorn...")
371
373
 
372
- # Create and run uvicorn server
373
- server = uvicorn.Server(uvicorn_config)
374
- await server.serve()
374
+ # Run the server
375
+ # hypercorn.asyncio.serve() should be run with asyncio.run(), not awaited
376
+ # The function is designed to be the main entry point, not a coroutine to await
377
+ await hypercorn.asyncio.serve(app, config_hypercorn)
375
378
 
376
379
  except KeyboardInterrupt:
377
380
  print("\n🛑 Server stopped by user")
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.4.5"
5
+ __version__ = "6.4.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.4.5
3
+ Version: 6.4.7
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
@@ -30,7 +30,6 @@ Description-Content-Type: text/markdown
30
30
  Requires-Dist: fastapi<1.0.0,>=0.95.0
31
31
  Requires-Dist: pydantic>=2.0.0
32
32
  Requires-Dist: hypercorn<1.0.0,>=0.15.0
33
- Requires-Dist: uvicorn<1.0.0,>=0.22.0
34
33
  Requires-Dist: docstring-parser<1.0.0,>=0.15
35
34
  Requires-Dist: typing-extensions<5.0.0,>=4.5.0
36
35
  Requires-Dist: jsonrpc>=1.2.0
@@ -4,7 +4,7 @@ mcp_proxy_adapter/config.py,sha256=-7iVS0mUWWKNeao7nqTAFlUD6FcMwRlDkchN7OwYsr0,2
4
4
  mcp_proxy_adapter/custom_openapi.py,sha256=yLle4CntYK9wpivgn9NflZyJhy-YNrmWjJzt0ai5nP0,14672
5
5
  mcp_proxy_adapter/main.py,sha256=idp3KUR7CT7kTXLVPvvclJlNnt8d_HYl8_jY98uknmo,4677
6
6
  mcp_proxy_adapter/openapi.py,sha256=2UZOI09ZDRJuBYBjKbMyb2U4uASszoCMD5o_4ktRpvg,13480
7
- mcp_proxy_adapter/version.py,sha256=zK2Dhs_fouIY-JZmk040_rQOrWZz-U3znGMwhn_7O3Q,74
7
+ mcp_proxy_adapter/version.py,sha256=U9VBJQppSkQjL5EOllLdKKVHjyl_Tk1lHG4K0_MDaQ4,74
8
8
  mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  mcp_proxy_adapter/api/app.py,sha256=dIsAWbQFWMa8zxhPro9hxUnUuqnLWlqutWAKrqJIHGE,33386
10
10
  mcp_proxy_adapter/api/handlers.py,sha256=iyFGoEuUS1wxbV1ELA0zmaxIyQR7j4zw-4MrD-uIO6E,8294
@@ -53,7 +53,7 @@ mcp_proxy_adapter/commands/token_management_command.py,sha256=tCVjhWqAQ3KhcwSsZU
53
53
  mcp_proxy_adapter/commands/transport_management_command.py,sha256=HEnUyL4S014jheyBwO90u9gnzk0qxBlOJdC_0Sxhq9E,4585
54
54
  mcp_proxy_adapter/commands/unload_command.py,sha256=6CUM9B9c-mNxw7uvt2vcvZSnxMySfoMT5UmDhzNXq38,4984
55
55
  mcp_proxy_adapter/core/__init__.py,sha256=3yt0CFZdsIG8Ln4bg-r4ISYzipm3ZUAxTn0twYTs9FI,867
56
- mcp_proxy_adapter/core/app_factory.py,sha256=5Kug6gPqC0JU_OUgDgHOsnEdsP8Z8KtDDZQThD5A7vg,19127
56
+ mcp_proxy_adapter/core/app_factory.py,sha256=oMVEmQIrk6GYyi78rpAzQSH6K0Fq9auv_ByjaQWDUww,19539
57
57
  mcp_proxy_adapter/core/app_runner.py,sha256=1t9p_UkWb1IvZDTD7FOCRMNSpOSgtNeHM3i7PP7x6xc,10605
58
58
  mcp_proxy_adapter/core/auth_validator.py,sha256=q8TNkdolvP-gM6Bvecc6nrVG9al5J31pocdwhguhTBk,19742
59
59
  mcp_proxy_adapter/core/certificate_utils.py,sha256=yeDwi-j42CxK_g-r5_ragGFY_HdSgDfTWHVUjDHF6nI,38480
@@ -140,8 +140,8 @@ mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI
140
140
  mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
141
141
  mcp_proxy_adapter/utils/config_generator.py,sha256=UXxuxxAyKTesAS3DOofQ26e20v771inA7EfBV8PZD1c,47543
142
142
  mcp_proxy_adapter_issue_package/demonstrate_issue.py,sha256=O54fwWQvUAjEGiHhQGm1JLnARkhVCwAqjBk_89HyRbY,7894
143
- mcp_proxy_adapter-6.4.5.dist-info/METADATA,sha256=ZjmpgjQpSQgbvCfR6KZFiSpKF3LtLoybzscadY9cb-I,22441
144
- mcp_proxy_adapter-6.4.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
145
- mcp_proxy_adapter-6.4.5.dist-info/entry_points.txt,sha256=J3eV6ID0lt_VSp4lIdIgBFTqLCThgObNNxRCbyfiMHw,70
146
- mcp_proxy_adapter-6.4.5.dist-info/top_level.txt,sha256=CHk-Mc-AxjO-tRheegA2qLiQnU4vZRnxuTF81So6SAc,50
147
- mcp_proxy_adapter-6.4.5.dist-info/RECORD,,
143
+ mcp_proxy_adapter-6.4.7.dist-info/METADATA,sha256=FFvSaqYb_wpUR3D-nMam7Ovtc8iqWn9AaV2kr56bWE4,22403
144
+ mcp_proxy_adapter-6.4.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
145
+ mcp_proxy_adapter-6.4.7.dist-info/entry_points.txt,sha256=J3eV6ID0lt_VSp4lIdIgBFTqLCThgObNNxRCbyfiMHw,70
146
+ mcp_proxy_adapter-6.4.7.dist-info/top_level.txt,sha256=CHk-Mc-AxjO-tRheegA2qLiQnU4vZRnxuTF81So6SAc,50
147
+ mcp_proxy_adapter-6.4.7.dist-info/RECORD,,