mcp-mesh 0.8.0__py3-none-any.whl → 0.8.0b1__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.
@@ -198,15 +198,10 @@ class FastAPIServerSetupStep(PipelineStep):
198
198
  # Use centralized binding host resolution (always 0.0.0.0 for all interfaces)
199
199
  bind_host = HostResolver.get_binding_host()
200
200
 
201
- # Port from environment or agent config
202
- # Note: port=0 means auto-assign, so we must not treat it as falsy
203
- env_port = os.getenv("MCP_MESH_HTTP_PORT")
204
- if env_port is not None:
205
- bind_port = int(env_port)
206
- elif "http_port" in agent_config:
207
- bind_port = agent_config["http_port"]
208
- else:
209
- bind_port = 8080 # Default only if nothing specified
201
+ # Port from agent config or environment
202
+ bind_port = int(os.getenv("MCP_MESH_HTTP_PORT", 0)) or agent_config.get(
203
+ "http_port", 8080
204
+ )
210
205
 
211
206
  return {
212
207
  "bind_host": bind_host,
@@ -241,11 +236,9 @@ class FastAPIServerSetupStep(PipelineStep):
241
236
  try:
242
237
  from fastapi import FastAPI
243
238
 
244
- from .lifespan_factory import (
245
- create_minimal_lifespan,
246
- create_multiple_fastmcp_lifespan,
247
- create_single_fastmcp_lifespan,
248
- )
239
+ from .lifespan_factory import (create_minimal_lifespan,
240
+ create_multiple_fastmcp_lifespan,
241
+ create_single_fastmcp_lifespan)
249
242
 
250
243
  agent_name = agent_config.get("name", "mcp-mesh-agent")
251
244
  agent_description = agent_config.get(
@@ -335,7 +328,8 @@ class FastAPIServerSetupStep(PipelineStep):
335
328
  if health_check_fn:
336
329
  # Use health check cache if configured
337
330
  from ...engine.decorator_registry import DecoratorRegistry
338
- from ...shared.health_check_manager import get_health_status_with_cache
331
+ from ...shared.health_check_manager import \
332
+ get_health_status_with_cache
339
333
 
340
334
  health_status = await get_health_status_with_cache(
341
335
  agent_id=agent_name,
@@ -573,29 +567,11 @@ mcp_mesh_up{{agent="{agent_name}"}} 1
573
567
 
574
568
  server_task = asyncio.create_task(run_server())
575
569
 
576
- # Wait for server to start and get actual port
577
- # uvicorn sets server.started = True when ready
578
- for _ in range(50): # Max 5 seconds
579
- await asyncio.sleep(0.1)
580
- if server.started:
581
- break
570
+ # Give server a moment to start up
571
+ await asyncio.sleep(0.2)
582
572
 
583
- # Get actual port from uvicorn sockets (critical for port=0 auto-assign)
584
- actual_port = bind_port
585
- if server.started and server.servers:
586
- try:
587
- sock = server.servers[0].sockets[0]
588
- actual_port = sock.getsockname()[1]
589
- if actual_port != bind_port:
590
- self.logger.info(
591
- f"Auto-assigned port {actual_port} (requested: {bind_port})"
592
- )
593
- except (IndexError, AttributeError, OSError) as e:
594
- self.logger.warning(f"Could not get actual port from uvicorn: {e}")
595
- actual_port = bind_port if bind_port != 0 else 8080
596
- elif bind_port == 0:
597
- self.logger.warning("Server not started, falling back to port 8080")
598
- actual_port = 8080
573
+ # Determine actual port (for now, assume it started on requested port)
574
+ actual_port = bind_port if bind_port != 0 else 8080
599
575
 
600
576
  # Build external endpoint
601
577
  final_external_endpoint = (
@@ -38,8 +38,8 @@ class DebounceCoordinator:
38
38
  import threading
39
39
 
40
40
  self.delay_seconds = delay_seconds
41
- self._pending_timer: threading.Timer | None = None
42
- self._orchestrator: MeshOrchestrator | None = None
41
+ self._pending_timer: Optional[threading.Timer] = None
42
+ self._orchestrator: Optional[MeshOrchestrator] = None
43
43
  self._lock = threading.Lock()
44
44
  self.logger = logging.getLogger(f"{__name__}.DebounceCoordinator")
45
45
 
@@ -181,9 +181,8 @@ class DebounceCoordinator:
181
181
  # For API services, ONLY do dependency injection - user controls their FastAPI server
182
182
  # Dependency injection is already complete from pipeline execution
183
183
  # Optionally start heartbeat in background (non-blocking)
184
- from ..api_heartbeat.api_lifespan_integration import (
185
- api_heartbeat_lifespan_task,
186
- )
184
+ from ..api_heartbeat.api_lifespan_integration import \
185
+ api_heartbeat_lifespan_task
187
186
 
188
187
  self._setup_heartbeat_background(
189
188
  heartbeat_config,
@@ -208,7 +207,8 @@ class DebounceCoordinator:
208
207
  f"heartbeat_task_fn from config is not callable: {type(heartbeat_task_fn)}, using Rust heartbeat"
209
208
  )
210
209
  # Rust heartbeat is required - no Python fallback
211
- from ..mcp_heartbeat.rust_heartbeat import rust_heartbeat_task
210
+ from ..mcp_heartbeat.rust_heartbeat import \
211
+ rust_heartbeat_task
212
212
 
213
213
  heartbeat_task_fn = rust_heartbeat_task
214
214
 
@@ -422,7 +422,7 @@ class DebounceCoordinator:
422
422
 
423
423
 
424
424
  # Global debounce coordinator instance
425
- _debounce_coordinator: DebounceCoordinator | None = None
425
+ _debounce_coordinator: Optional[DebounceCoordinator] = None
426
426
 
427
427
 
428
428
  def get_debounce_coordinator() -> DebounceCoordinator:
@@ -520,7 +520,7 @@ class MeshOrchestrator:
520
520
  "timestamp": "unknown",
521
521
  }
522
522
 
523
- async def start_service(self, auto_run_config: dict | None = None) -> None:
523
+ async def start_service(self, auto_run_config: Optional[dict] = None) -> None:
524
524
  """
525
525
  Start the service with optional auto-run behavior.
526
526
 
@@ -582,7 +582,7 @@ class MeshOrchestrator:
582
582
 
583
583
 
584
584
  # Global orchestrator instance
585
- _global_orchestrator: MeshOrchestrator | None = None
585
+ _global_orchestrator: Optional[MeshOrchestrator] = None
586
586
 
587
587
 
588
588
  def get_global_orchestrator() -> MeshOrchestrator:
@@ -24,7 +24,7 @@ class FastMCPSchemaExtractor:
24
24
  This class extracts those schemas so they can be sent to the registry
25
25
  for LLM tool discovery.
26
26
 
27
- Phase 2.5: Filters out McpMeshTool parameters from schemas since
27
+ Phase 2.5: Filters out McpMeshAgent parameters from schemas since
28
28
  they are dependency injection parameters and should not be visible to LLMs.
29
29
 
30
30
  Phase 0: Enhances schemas with MeshContextModel Field descriptions for
@@ -239,7 +239,7 @@ class FastMCPSchemaExtractor:
239
239
  schema: dict[str, Any], function: Any
240
240
  ) -> dict[str, Any]:
241
241
  """
242
- Filter out McpMeshTool dependency injection parameters from schema.
242
+ Filter out McpMeshAgent dependency injection parameters from schema.
243
243
 
244
244
  Phase 2.5: Remove dependency injection parameters from LLM-facing schemas.
245
245
  These parameters are injected at runtime by MCP Mesh and should not be
@@ -273,7 +273,7 @@ class FastMCPSchemaExtractor:
273
273
  if not schema or not isinstance(schema, dict):
274
274
  return schema
275
275
 
276
- # Get McpMeshTool parameter names from signature analysis
276
+ # Get McpMeshAgent parameter names from signature analysis
277
277
  from _mcp_mesh.engine.signature_analyzer import \
278
278
  get_mesh_agent_parameter_names
279
279
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-mesh
3
- Version: 0.8.0
3
+ Version: 0.8.0b1
4
4
  Summary: Kubernetes-native platform for distributed MCP applications
5
5
  Project-URL: Homepage, https://github.com/dhyansraj/mcp-mesh
6
6
  Project-URL: Documentation, https://github.com/dhyansraj/mcp-mesh/tree/main/docs
@@ -18,7 +18,6 @@ Classifier: Operating System :: OS Independent
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
- Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
23
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
23
  Classifier: Topic :: System :: Distributed Computing
@@ -31,7 +30,7 @@ Requires-Dist: fastmcp<3.0.0,>=2.8.0
31
30
  Requires-Dist: httpx<1.0.0,>=0.25.0
32
31
  Requires-Dist: jinja2>=3.1.0
33
32
  Requires-Dist: litellm>=1.30.0
34
- Requires-Dist: mcp-mesh-core>=0.8.0
33
+ Requires-Dist: mcp-mesh-core>=0.8.0b1
35
34
  Requires-Dist: mcp<2.0.0,>=1.9.0
36
35
  Requires-Dist: prometheus-client<1.0.0,>=0.19.0
37
36
  Requires-Dist: pydantic<3.0.0,>=2.4.0
@@ -79,7 +78,7 @@ pip install mcp-mesh
79
78
  import mesh
80
79
 
81
80
  # Import types from public API
82
- from mesh.types import McpMeshTool
81
+ from mesh.types import McpMeshAgent
83
82
 
84
83
  # Define your agent
85
84
  @mesh.agent(name="hello-world", http_port=9090)
@@ -93,11 +92,11 @@ class HelloWorldAgent:
93
92
  dependencies=["date_service"],
94
93
  description="Greeting function with date dependency injection"
95
94
  )
96
- def greet(name: str = "World", date_tool: McpMeshTool = None) -> str:
95
+ def greet(name: str = "World", systemDate: McpMeshAgent = None) -> str:
97
96
  """Greeting function with automatic dependency injection."""
98
- if date_tool is not None:
97
+ if systemDate is not None:
99
98
  try:
100
- current_date = date_tool()
99
+ current_date = systemDate()
101
100
  return f"Hello, {name}! Today is {current_date}"
102
101
  except Exception:
103
102
  pass
@@ -1,24 +1,24 @@
1
- _mcp_mesh/__init__.py,sha256=W1XsaJakRiPgbrjL1xVxU7PFZP7HUNn7PZ3y5dsp-Yw,2719
1
+ _mcp_mesh/__init__.py,sha256=Hmsj3lCnO9-6rV8hN5SVUNdzKWxdXIsO-WcGCvbt1dw,2721
2
2
  _mcp_mesh/reload.py,sha256=5Yll9n0bqxM7pmTjfAaKWg-WT_Vi0YTh0_UNWbCNCIQ,6217
3
3
  _mcp_mesh/reload_runner.py,sha256=SgQKzzO2yHfSUBq8s3SpAnovWA0rveimVNaxeLCEo_0,1310
4
4
  _mcp_mesh/engine/__init__.py,sha256=U_6Kw3vA_3RiNK0Oln5c5C7WvA9lSONV22wWzfxYHNw,2975
5
5
  _mcp_mesh/engine/async_mcp_client.py,sha256=Sz-rXTkb1Mng_f0SpLqLuOdPJ8vZjv3DFy0i8yYOqYk,8792
6
6
  _mcp_mesh/engine/base_injector.py,sha256=qzRLZqFP2VvEFagVovkpdldvDmm3VwPHm6tHwV58a2k,5648
7
7
  _mcp_mesh/engine/decorator_registry.py,sha256=cch2QdQ6bKjHKEGi1XWp1YcLLO3uI2YlxwWBO7Np65E,28229
8
- _mcp_mesh/engine/dependency_injector.py,sha256=kjRUA4Lyj9zfYJ67NuFjx9YSdZEc3QtxTTpy3ww8YTg,31584
8
+ _mcp_mesh/engine/dependency_injector.py,sha256=-CeIGvB-zqrGxkRpFE53C6_zEmmBoyBXftvE-H9OyAY,31593
9
9
  _mcp_mesh/engine/http_wrapper.py,sha256=Simd6IEsLO2FXQOuf1WEx57SBN6DSr5RzphXnk0asHM,24152
10
10
  _mcp_mesh/engine/llm_config.py,sha256=95bOsGWro5E1JGq7oZtEYhVdrzcIJqjht_r5vEdJVz4,2049
11
11
  _mcp_mesh/engine/llm_errors.py,sha256=h7BiI14u-jL8vtvBfFbFDDrN7gIw8PQjXIl5AP1SBuA,3276
12
- _mcp_mesh/engine/mesh_llm_agent.py,sha256=am4TG2Dd0KkgtZe0EJsVkkRi9srfbANEpO0cPS8m4w4,35320
13
- _mcp_mesh/engine/mesh_llm_agent_injector.py,sha256=nPHLjz93uPLxI5ZviyE0RaXag3w4jMNQS2s9yQE3gaU,30193
12
+ _mcp_mesh/engine/mesh_llm_agent.py,sha256=sVh7lPnvixDVJ-p1ONzbeakiEzhsl0HmdmrLPZA2FzQ,34237
13
+ _mcp_mesh/engine/mesh_llm_agent_injector.py,sha256=Y6KkqqUAyP7QsCU2DDX_UIg9RhF4xu9p731jbfMMN-A,28373
14
14
  _mcp_mesh/engine/response_parser.py,sha256=g3VNoFJotaLrOAS0pL_OTCrv9t9XQe9Iiz1plsm28bQ,10280
15
15
  _mcp_mesh/engine/self_dependency_proxy.py,sha256=OkKt0-B_ADnJlWtHiHItoZCBZ7Su0iz2unEPFfXvrs4,3302
16
16
  _mcp_mesh/engine/session_aware_client.py,sha256=QejKag5zYNos5BVffQvNXFMECHFMLNOv78By4e_JzQE,10589
17
17
  _mcp_mesh/engine/session_manager.py,sha256=MCr0_fXBaUjXM51WU5EhDkiGvBdfzYQFVNb9DCXXL0A,10418
18
- _mcp_mesh/engine/signature_analyzer.py,sha256=bG9HEsDtJlzeS2ueypLpcp7qD4_zso4DH1SS_jWOHXA,11561
18
+ _mcp_mesh/engine/signature_analyzer.py,sha256=ftn9XsX0ZHWIaACdjgBVtCuIdqVU_4ST8cvcpzu4HTk,12339
19
19
  _mcp_mesh/engine/tool_executor.py,sha256=Bf_9d02EEY9_yHm1p1-5YZ4rY6MPxn4SVpI6-3sm1uo,5456
20
20
  _mcp_mesh/engine/tool_schema_builder.py,sha256=SQCxQIrSfdLu9-dLqiFurQLK7dhl0dc0xa0ibaxU-iE,3644
21
- _mcp_mesh/engine/unified_mcp_proxy.py,sha256=SZXlgdeNzlEGynwLLmmTi5R1-OrBaw4P8Izqhfn-zmI,37846
21
+ _mcp_mesh/engine/unified_mcp_proxy.py,sha256=Ee11K5HXuPXvdjqB7fmv0sMEo9ML-SMtQx2EUtYpfrY,37847
22
22
  _mcp_mesh/engine/provider_handlers/__init__.py,sha256=8hEc4CheKfXWU3ny4YDktxNxLCWxgfMtyDW9CblPOvs,888
23
23
  _mcp_mesh/engine/provider_handlers/base_provider_handler.py,sha256=Lb0U6gAEseU7Ix1eeV4T0WP1ClmeXUz87Nx_iplUYSI,8077
24
24
  _mcp_mesh/engine/provider_handlers/claude_handler.py,sha256=iYAmllL5rTWFFTAjbR62Ra9eMWNZjA72a02tppxjgOQ,14343
@@ -29,7 +29,7 @@ _mcp_mesh/engine/provider_handlers/provider_handler_registry.py,sha256=klBZW8iX6
29
29
  _mcp_mesh/pipeline/__init__.py,sha256=MgPwpwbiD62ND4HXKKNGcnreDk-TvPmQOs5WmjtHQ3M,1263
30
30
  _mcp_mesh/pipeline/api_heartbeat/__init__.py,sha256=qGjEgxbGJFSl9Qm3bwu3X5yizAMbN4WpFtIUekDSFuU,690
31
31
  _mcp_mesh/pipeline/api_heartbeat/api_lifespan_integration.py,sha256=h0mTmLyPlGDqomSHpbW7S-AZNz1Tyvg1kpy9aeWkQsU,3879
32
- _mcp_mesh/pipeline/api_heartbeat/rust_api_heartbeat.py,sha256=7Dv3lGTn2n2WrDpXoWqxUlqi6NwjPRH17-GVbsUckgE,15843
32
+ _mcp_mesh/pipeline/api_heartbeat/rust_api_heartbeat.py,sha256=vrld873jS2zCfJCndldx2XLDjxp_bRY7qq9CNBqZ8wI,15579
33
33
  _mcp_mesh/pipeline/api_startup/__init__.py,sha256=eivolkSKot2bJTWP2BV8-RKRT1Zm7SGQYuEUiTxusOQ,577
34
34
  _mcp_mesh/pipeline/api_startup/api_pipeline.py,sha256=I9-Q0o2py5oAHZO2DJOeTD1uZo1-Dpn258k5Tr0dv9o,2474
35
35
  _mcp_mesh/pipeline/api_startup/api_server_setup.py,sha256=72oCMkCzRfxYrE5sfFJbr57BYJwRSyKxBMISTOHmKyc,14919
@@ -38,17 +38,17 @@ _mcp_mesh/pipeline/api_startup/middleware_integration.py,sha256=J7Ux_nJ1VsMqVzl5
38
38
  _mcp_mesh/pipeline/api_startup/route_collection.py,sha256=WPr4hRPLIWnNIJCoRHZ141ph9tAa_-Pm_j2TiCuWS4k,2002
39
39
  _mcp_mesh/pipeline/api_startup/route_integration.py,sha256=qq1AVaWna-CWEXyehyDL3EyeYKgo5aMtei8uBNdvkZ8,12448
40
40
  _mcp_mesh/pipeline/mcp_heartbeat/__init__.py,sha256=mhDcSquoHkhRItqgbM8iFfAKC2m7qMW_0smqtUgSl-w,389
41
- _mcp_mesh/pipeline/mcp_heartbeat/rust_heartbeat.py,sha256=4cZT-_-j5clvR58QaLwo61EKJeZcPiKwWq9VXpm1kAY,26618
41
+ _mcp_mesh/pipeline/mcp_heartbeat/rust_heartbeat.py,sha256=cB7IO0au3097MGpC6JwvYtPt4cVnl_spCkHfJIgD6Ks,25953
42
42
  _mcp_mesh/pipeline/mcp_startup/__init__.py,sha256=qy960dnAoHLXMcL_y_rcro9Km2AoCVzC7_CxMwao564,1166
43
43
  _mcp_mesh/pipeline/mcp_startup/configuration.py,sha256=OnumIPRVBTne2OEU2VWLZovLKvWcNF9iJVQtlVwuim0,2805
44
44
  _mcp_mesh/pipeline/mcp_startup/decorator_collection.py,sha256=RHC6MHtfP9aP0hZ-IJjISZu72e0Pml3LU0qr7dc284w,2294
45
- _mcp_mesh/pipeline/mcp_startup/fastapiserver_setup.py,sha256=1Ylxv3zXBUyOHe05M8TqeiLEeg28R1U1zJRg18QQef0,35164
45
+ _mcp_mesh/pipeline/mcp_startup/fastapiserver_setup.py,sha256=y0xsM6no-yH9OhiYjg0LJN4hTW0vw15iuVK_4DNMxFQ,34032
46
46
  _mcp_mesh/pipeline/mcp_startup/fastmcpserver_discovery.py,sha256=Pm24wrSuRGsgeUrHvMPDnNh6RhIZoznnMAUwAkllohk,10661
47
47
  _mcp_mesh/pipeline/mcp_startup/heartbeat_loop.py,sha256=4Fgp0_68tlSicyLHkJGB-41Av0jl5sqUeriuu-StNJU,3812
48
48
  _mcp_mesh/pipeline/mcp_startup/heartbeat_preparation.py,sha256=sOpzxRc0kYiXwSW9lvv8DSjliT85oZCWPODeJRuiqgg,15635
49
49
  _mcp_mesh/pipeline/mcp_startup/lifespan_factory.py,sha256=Hu7IvrhVH9sM7-XQDyWAGA3rgOnNIRyWFBtobkUQ5Es,4404
50
50
  _mcp_mesh/pipeline/mcp_startup/server_discovery.py,sha256=VuqqaBE00h6AerPjk-Ab-g51x6jODCbMX4nemLRQIIQ,8375
51
- _mcp_mesh/pipeline/mcp_startup/startup_orchestrator.py,sha256=bnWeF90G3XGzfYwritlcE-EAbCZ9ThEqJfMfzRjOYVA,25871
51
+ _mcp_mesh/pipeline/mcp_startup/startup_orchestrator.py,sha256=bo2LeQlIsktbMFfYhX3xlnjAGT9Yj7wG96JYVT5nsyw,25893
52
52
  _mcp_mesh/pipeline/mcp_startup/startup_pipeline.py,sha256=56lZzuCo23y3bZkDir05Ip9QlZ7uzt_gbOR32V4tAvo,2350
53
53
  _mcp_mesh/pipeline/shared/__init__.py,sha256=s9xmdf6LkoetrVRGd7Zp3NUxcJCW6YZ_yNKzUBcnYys,352
54
54
  _mcp_mesh/pipeline/shared/base_step.py,sha256=kyPbNUX79NyGrE_0Q-e-Aek7m1J0TW036njWfv0iZ0I,1080
@@ -74,12 +74,12 @@ _mcp_mesh/tracing/fastapi_tracing_middleware.py,sha256=FXjhA1A1Krk-ngyuOZPc1Ic4L
74
74
  _mcp_mesh/tracing/redis_metadata_publisher.py,sha256=DeFrMt0ZX7k6393dH-xoRS2V5apPR-k80X8ZjrKBHMU,2890
75
75
  _mcp_mesh/tracing/trace_context_helper.py,sha256=A0UipvDExePaX-E-4SAp4M8n8uwed9PMo8gibXt1v_Q,6513
76
76
  _mcp_mesh/tracing/utils.py,sha256=GWwfvab0tYGr9QAe_zgZjZxgDKTTs0p5Mf8w6WJeWC0,4486
77
- _mcp_mesh/utils/fastmcp_schema_extractor.py,sha256=fttO1EABbf4GWKjE9V5DimwbhzGY9DbfGWQ2ak4SRnE,17264
78
- mesh/__init__.py,sha256=avMnUHkNAK7VgON2OhXkrFB290gr1HErghmTZpOXr-U,4207
79
- mesh/decorators.py,sha256=Xru9NoOolmdm-awGuuQkUgBb-s5bq9UF4p5QdVidAvI,71374
80
- mesh/helpers.py,sha256=UrYclIZzpOgoMQO-qWjeSshCdHCLokpByzuIUt5L7KM,15551
81
- mesh/types.py,sha256=vr0CKyPbP6lHgxj9kh_GMSLo3xkJ66PFPV_opfRb1H4,17772
82
- mcp_mesh-0.8.0.dist-info/METADATA,sha256=hwi1oVPcEbSJqeNIdYHqlis6CoHLsaNjBBxJv3c1ZuY,5087
83
- mcp_mesh-0.8.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
84
- mcp_mesh-0.8.0.dist-info/licenses/LICENSE,sha256=_EBQHRQThv9FPOLc5eFOUdeeRO0mYwChC7cx60dM1tM,1078
85
- mcp_mesh-0.8.0.dist-info/RECORD,,
77
+ _mcp_mesh/utils/fastmcp_schema_extractor.py,sha256=NOz3dht21JRKVb_kCTrUhT2MZMmZJz04G6ARcNatVzk,17267
78
+ mesh/__init__.py,sha256=NDQXXD7uuL8Ph48w-Xf7ntEUx5HkB1oZMu3hjGdntTY,3890
79
+ mesh/decorators.py,sha256=sflOWhuJooqIs1tH7DqjOEaGMaVRj4GEDz7R3IQ4fPM,65163
80
+ mesh/helpers.py,sha256=1Y7V6aQvpV8BKfEeeKfjwPJ5g9FjMCzSNifs3se1jkA,12935
81
+ mesh/types.py,sha256=n0MxrBYZJ84xyQWGf_X2ZbVWSAaIcEBkRV7qaCmX6Ac,17008
82
+ mcp_mesh-0.8.0b1.dist-info/METADATA,sha256=uBP_kKN1LJer1-DiU3hwyYvMwO6JJI6BgPjvNZifVwA,5045
83
+ mcp_mesh-0.8.0b1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
84
+ mcp_mesh-0.8.0b1.dist-info/licenses/LICENSE,sha256=_EBQHRQThv9FPOLc5eFOUdeeRO0mYwChC7cx60dM1tM,1078
85
+ mcp_mesh-0.8.0b1.dist-info/RECORD,,
mesh/__init__.py CHANGED
@@ -19,8 +19,8 @@ Use 'import mesh' and then '@mesh.tool()' for consistency with MCP patterns.
19
19
  """
20
20
 
21
21
  from . import decorators
22
- from .types import (LlmMeta, McpMeshAgent, McpMeshTool, MeshContextModel,
23
- MeshLlmAgent, MeshLlmRequest)
22
+ from .types import (LlmMeta, McpMeshAgent, MeshContextModel, MeshLlmAgent,
23
+ MeshLlmRequest)
24
24
 
25
25
  # Note: helpers.llm_provider is imported lazily in __getattr__ to avoid
26
26
  # initialization timing issues with @mesh.agent auto_run in tests
@@ -93,8 +93,6 @@ def create_server(name: str | None = None) -> "FastMCP":
93
93
 
94
94
  # Make decorators available as mesh.tool, mesh.agent, mesh.route, mesh.llm, and mesh.llm_provider
95
95
  def __getattr__(name):
96
- import warnings
97
-
98
96
  if name == "tool":
99
97
  return decorators.tool
100
98
  elif name == "agent":
@@ -108,15 +106,7 @@ def __getattr__(name):
108
106
  from .helpers import llm_provider
109
107
 
110
108
  return llm_provider
111
- elif name == "McpMeshTool":
112
- return McpMeshTool
113
109
  elif name == "McpMeshAgent":
114
- warnings.warn(
115
- "McpMeshAgent is deprecated, use McpMeshTool instead. "
116
- "McpMeshAgent will be removed in a future version.",
117
- DeprecationWarning,
118
- stacklevel=2,
119
- )
120
110
  return McpMeshAgent
121
111
  elif name == "MeshContextModel":
122
112
  return MeshContextModel