sunholo 0.144.8__py3-none-any.whl → 0.144.9__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.
@@ -353,7 +353,6 @@ class VACRoutesFastAPI:
353
353
  additional_routes: Optional[List[Dict]] = None,
354
354
  mcp_servers: Optional[List[Dict[str, Any]]] = None,
355
355
  add_langfuse_eval: bool = True,
356
- enable_mcp_server: bool = False,
357
356
  enable_a2a_agent: bool = False,
358
357
  a2a_vac_names: Optional[List[str]] = None
359
358
  ):
@@ -371,9 +370,6 @@ class VACRoutesFastAPI:
371
370
  mcp_servers: List of external MCP server configurations to connect to:
372
371
  [{"name": "server-name", "command": "python", "args": ["server.py"]}]
373
372
  add_langfuse_eval: Whether to enable Langfuse evaluation and tracing
374
- enable_mcp_server: Whether to enable the MCP server at /mcp endpoint for
375
- Claude Desktop/Code integration. When True, automatically
376
- includes built-in VAC tools and supports custom tool registration.
377
373
  enable_a2a_agent: Whether to enable A2A (Agent-to-Agent) protocol endpoints
378
374
  a2a_vac_names: List of VAC names available for A2A agent interactions
379
375
 
@@ -398,7 +394,7 @@ class VACRoutesFastAPI:
398
394
 
399
395
  ## MCP Server Integration
400
396
 
401
- When enable_mcp_server=True, the following happens:
397
+ When VACMCPServer is available, the following happens automatically:
402
398
  1. MCP server is mounted at /mcp endpoint
403
399
  2. Built-in VAC tools are automatically registered:
404
400
  - vac_stream, vac_query, list_available_vacs, get_vac_info
@@ -452,13 +448,13 @@ class VACRoutesFastAPI:
452
448
  self.mcp_client_manager = MCPClientManager() if MCPClientManager else None
453
449
  self._mcp_initialized = False
454
450
 
455
- # MCP server initialization
456
- self.enable_mcp_server = enable_mcp_server
451
+ # MCP server initialization - automatically enabled if VACMCPServer is available
457
452
  self.vac_mcp_server = None
458
453
  self._custom_mcp_tools = []
459
454
  self._custom_mcp_resources = []
460
455
 
461
- if self.enable_mcp_server and VACMCPServer:
456
+ # Enable MCP server if VACMCPServer is available
457
+ if VACMCPServer:
462
458
  self.vac_mcp_server = VACMCPServer(
463
459
  server_name="sunholo-vac-fastapi-server",
464
460
  include_vac_tools=True
@@ -497,7 +493,7 @@ class VACRoutesFastAPI:
497
493
  stream_interpreter: Streaming interpreter function
498
494
  vac_interpreter: Non-streaming interpreter function
499
495
  app_lifespan: Optional app lifespan context manager
500
- **kwargs: Additional arguments passed to VACRoutesFastAPI (except enable_mcp_server)
496
+ **kwargs: Additional arguments passed to VACRoutesFastAPI
501
497
 
502
498
  Returns:
503
499
  Tuple of (FastAPI app, VACRoutesFastAPI instance)
@@ -569,7 +565,6 @@ class VACRoutesFastAPI:
569
565
  app,
570
566
  stream_interpreter=stream_interpreter,
571
567
  vac_interpreter=vac_interpreter,
572
- enable_mcp_server=False, # Don't enable again since we manually mounted
573
568
  **kwargs
574
569
  )
575
570
 
@@ -589,7 +584,6 @@ class VACRoutesFastAPI:
589
584
  app,
590
585
  stream_interpreter=stream_interpreter,
591
586
  vac_interpreter=vac_interpreter,
592
- enable_mcp_server=False,
593
587
  **kwargs
594
588
  )
595
589
 
@@ -694,7 +688,7 @@ class VACRoutesFastAPI:
694
688
  self.app.post("/mcp/resources/read")(self.handle_mcp_read_resource)
695
689
 
696
690
  # MCP server endpoint - mount the FastMCP app
697
- if self.enable_mcp_server and self.vac_mcp_server:
691
+ if self.vac_mcp_server:
698
692
  try:
699
693
  mcp_app = self.vac_mcp_server.get_http_app()
700
694
 
@@ -713,8 +707,7 @@ class VACRoutesFastAPI:
713
707
  "The FastAPI app must be created with the MCP lifespan.\n\n"
714
708
  "Quick fix: Use the helper method:\n"
715
709
  " app, vac_routes = VACRoutesFastAPI.create_app_with_mcp(\n"
716
- " stream_interpreter=your_interpreter,\n"
717
- " enable_mcp_server=True\n"
710
+ " stream_interpreter=your_interpreter\n"
718
711
  " )\n\n"
719
712
  "Or manually configure the lifespan - see documentation for details."
720
713
  )
@@ -727,8 +720,8 @@ class VACRoutesFastAPI:
727
720
  log.error(f"Failed to mount MCP server: {e}")
728
721
  raise RuntimeError(f"MCP server initialization failed: {e}") from e
729
722
 
730
- # MCP debug endpoint - add after MCP server mounting
731
- if self.enable_mcp_server:
723
+ # MCP debug endpoint - add if we have a MCP server instance
724
+ if self.vac_mcp_server:
732
725
  self.app.get("/debug/mcp")(self.handle_mcp_debug)
733
726
 
734
727
  # A2A agent endpoints
@@ -1620,7 +1613,7 @@ class VACRoutesFastAPI:
1620
1613
  pending_tools = len(self._custom_mcp_tools) if hasattr(self, '_custom_mcp_tools') else 0
1621
1614
 
1622
1615
  return {
1623
- "mcp_enabled": self.enable_mcp_server or has_mcp,
1616
+ "mcp_enabled": has_mcp,
1624
1617
  "has_mcp_server": has_mcp,
1625
1618
  "mcp_tools_count": len(mcp_tools),
1626
1619
  "mcp_tools": [tool["name"] for tool in mcp_tools] if mcp_tools else [],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sunholo
3
- Version: 0.144.8
3
+ Version: 0.144.9
4
4
  Summary: AI DevOps - a package to help deploy GenAI to the Cloud.
5
5
  Author-email: Holosun ApS <multivac@sunholo.com>
6
6
  License: Apache License, Version 2.0
@@ -16,7 +16,7 @@ sunholo/agents/swagger.py,sha256=2tzGmpveUMmTREykZvVnDj3j295wyOMu7mUFDnXdY3c,106
16
16
  sunholo/agents/fastapi/__init__.py,sha256=f7x7kiEjaNyBiOwJHLJ4vdOiePqkXdI52sIAAHtS-ms,141
17
17
  sunholo/agents/fastapi/base.py,sha256=W-cyF8ZDUH40rc-c-Apw3-_8IIi2e4Y9qRtnoVnsc1Q,2521
18
18
  sunholo/agents/fastapi/qna_routes.py,sha256=lKHkXPmwltu9EH3RMwmD153-J6pE7kWQ4BhBlV3to-s,3864
19
- sunholo/agents/fastapi/vac_routes.py,sha256=7dAelOIylw5b8ye2u79pOg3C_ZL5CsArf3MtJgQ5pNo,67004
19
+ sunholo/agents/fastapi/vac_routes.py,sha256=HrSzIHeNQI6mgNDf3tlSugKyOViXngUG5uTEimPMtLo,66479
20
20
  sunholo/agents/flask/__init__.py,sha256=dEoByI3gDNUOjpX1uVKP7uPjhfFHJubbiaAv3xLopnk,63
21
21
  sunholo/agents/flask/base.py,sha256=vnpxFEOnCmt9humqj-jYPLfJcdwzsop9NorgkJ-tSaU,1756
22
22
  sunholo/agents/flask/vac_routes.py,sha256=kaPUDyIH5KhCgeCEtag97qErGVZfqpY1ZEiX3y1_r-s,57505
@@ -182,9 +182,9 @@ sunholo/vertex/init.py,sha256=1OQwcPBKZYBTDPdyU7IM4X4OmiXLdsNV30C-fee2scQ,2875
182
182
  sunholo/vertex/memory_tools.py,sha256=tBZxqVZ4InTmdBvLlOYwoSEWu4-kGquc-gxDwZCC4FA,7667
183
183
  sunholo/vertex/safety.py,sha256=S9PgQT1O_BQAkcqauWncRJaydiP8Q_Jzmu9gxYfy1VA,2482
184
184
  sunholo/vertex/type_dict_to_json.py,sha256=uTzL4o9tJRao4u-gJOFcACgWGkBOtqACmb6ihvCErL8,4694
185
- sunholo-0.144.8.dist-info/licenses/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
186
- sunholo-0.144.8.dist-info/METADATA,sha256=ZS_AGvgpuVGgSaeQYyuMsR2St3fUfiTtzum42lvEB3Y,18700
187
- sunholo-0.144.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
188
- sunholo-0.144.8.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
189
- sunholo-0.144.8.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
190
- sunholo-0.144.8.dist-info/RECORD,,
185
+ sunholo-0.144.9.dist-info/licenses/LICENSE.txt,sha256=SdE3QjnD3GEmqqg9EX3TM9f7WmtOzqS1KJve8rhbYmU,11345
186
+ sunholo-0.144.9.dist-info/METADATA,sha256=8gHM6nGq0fk-W-u2-gmnGLlsNbbLmAiDsGrYpPsYXc0,18700
187
+ sunholo-0.144.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
188
+ sunholo-0.144.9.dist-info/entry_points.txt,sha256=bZuN5AIHingMPt4Ro1b_T-FnQvZ3teBes-3OyO0asl4,49
189
+ sunholo-0.144.9.dist-info/top_level.txt,sha256=wt5tadn5--5JrZsjJz2LceoUvcrIvxjHJe-RxuudxAk,8
190
+ sunholo-0.144.9.dist-info/RECORD,,