mcp-use 1.3.12__py3-none-any.whl → 1.4.0__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.

Potentially problematic release.


This version of mcp-use might be problematic. Click here for more details.

Files changed (108) hide show
  1. mcp_use/__init__.py +1 -1
  2. mcp_use/adapters/.deprecated +0 -0
  3. mcp_use/adapters/__init__.py +18 -7
  4. mcp_use/adapters/base.py +12 -185
  5. mcp_use/adapters/langchain_adapter.py +12 -219
  6. mcp_use/agents/adapters/__init__.py +17 -0
  7. mcp_use/agents/adapters/anthropic.py +93 -0
  8. mcp_use/agents/adapters/base.py +316 -0
  9. mcp_use/agents/adapters/google.py +103 -0
  10. mcp_use/agents/adapters/langchain_adapter.py +212 -0
  11. mcp_use/agents/adapters/openai.py +111 -0
  12. mcp_use/agents/base.py +1 -1
  13. mcp_use/agents/managers/__init__.py +19 -0
  14. mcp_use/agents/managers/base.py +36 -0
  15. mcp_use/agents/managers/server_manager.py +131 -0
  16. mcp_use/agents/managers/tools/__init__.py +15 -0
  17. mcp_use/agents/managers/tools/base_tool.py +19 -0
  18. mcp_use/agents/managers/tools/connect_server.py +69 -0
  19. mcp_use/agents/managers/tools/disconnect_server.py +43 -0
  20. mcp_use/agents/managers/tools/get_active_server.py +29 -0
  21. mcp_use/agents/managers/tools/list_servers_tool.py +53 -0
  22. mcp_use/agents/managers/tools/search_tools.py +328 -0
  23. mcp_use/agents/mcpagent.py +386 -485
  24. mcp_use/agents/prompts/system_prompt_builder.py +1 -1
  25. mcp_use/agents/remote.py +15 -2
  26. mcp_use/auth/.deprecated +0 -0
  27. mcp_use/auth/__init__.py +19 -4
  28. mcp_use/auth/bearer.py +11 -12
  29. mcp_use/auth/oauth.py +11 -620
  30. mcp_use/auth/oauth_callback.py +16 -207
  31. mcp_use/client/__init__.py +1 -0
  32. mcp_use/client/auth/__init__.py +6 -0
  33. mcp_use/client/auth/bearer.py +23 -0
  34. mcp_use/client/auth/oauth.py +629 -0
  35. mcp_use/client/auth/oauth_callback.py +215 -0
  36. mcp_use/client/client.py +356 -0
  37. mcp_use/client/config.py +106 -0
  38. mcp_use/client/connectors/__init__.py +20 -0
  39. mcp_use/client/connectors/base.py +470 -0
  40. mcp_use/client/connectors/http.py +304 -0
  41. mcp_use/client/connectors/sandbox.py +332 -0
  42. mcp_use/client/connectors/stdio.py +109 -0
  43. mcp_use/client/connectors/utils.py +13 -0
  44. mcp_use/client/connectors/websocket.py +257 -0
  45. mcp_use/client/exceptions.py +31 -0
  46. mcp_use/client/middleware/__init__.py +50 -0
  47. mcp_use/client/middleware/logging.py +31 -0
  48. mcp_use/client/middleware/metrics.py +314 -0
  49. mcp_use/client/middleware/middleware.py +266 -0
  50. mcp_use/client/session.py +162 -0
  51. mcp_use/client/task_managers/__init__.py +20 -0
  52. mcp_use/client/task_managers/base.py +145 -0
  53. mcp_use/client/task_managers/sse.py +84 -0
  54. mcp_use/client/task_managers/stdio.py +69 -0
  55. mcp_use/client/task_managers/streamable_http.py +86 -0
  56. mcp_use/client/task_managers/websocket.py +68 -0
  57. mcp_use/client.py +12 -344
  58. mcp_use/config.py +20 -97
  59. mcp_use/connectors/.deprecated +0 -0
  60. mcp_use/connectors/__init__.py +46 -20
  61. mcp_use/connectors/base.py +12 -455
  62. mcp_use/connectors/http.py +13 -300
  63. mcp_use/connectors/sandbox.py +13 -306
  64. mcp_use/connectors/stdio.py +13 -104
  65. mcp_use/connectors/utils.py +15 -8
  66. mcp_use/connectors/websocket.py +13 -252
  67. mcp_use/exceptions.py +33 -18
  68. mcp_use/logging.py +1 -1
  69. mcp_use/managers/.deprecated +0 -0
  70. mcp_use/managers/__init__.py +56 -17
  71. mcp_use/managers/base.py +13 -31
  72. mcp_use/managers/server_manager.py +13 -119
  73. mcp_use/managers/tools/__init__.py +45 -15
  74. mcp_use/managers/tools/base_tool.py +5 -16
  75. mcp_use/managers/tools/connect_server.py +5 -67
  76. mcp_use/managers/tools/disconnect_server.py +5 -41
  77. mcp_use/managers/tools/get_active_server.py +5 -26
  78. mcp_use/managers/tools/list_servers_tool.py +5 -51
  79. mcp_use/managers/tools/search_tools.py +17 -321
  80. mcp_use/middleware/.deprecated +0 -0
  81. mcp_use/middleware/__init__.py +89 -50
  82. mcp_use/middleware/logging.py +14 -26
  83. mcp_use/middleware/metrics.py +30 -303
  84. mcp_use/middleware/middleware.py +39 -246
  85. mcp_use/session.py +13 -149
  86. mcp_use/task_managers/.deprecated +0 -0
  87. mcp_use/task_managers/__init__.py +48 -20
  88. mcp_use/task_managers/base.py +13 -140
  89. mcp_use/task_managers/sse.py +13 -79
  90. mcp_use/task_managers/stdio.py +13 -64
  91. mcp_use/task_managers/streamable_http.py +15 -81
  92. mcp_use/task_managers/websocket.py +13 -63
  93. mcp_use/telemetry/events.py +58 -0
  94. mcp_use/telemetry/telemetry.py +71 -1
  95. mcp_use/telemetry/utils.py +1 -1
  96. mcp_use/types/.deprecated +0 -0
  97. mcp_use/types/sandbox.py +13 -18
  98. {mcp_use-1.3.12.dist-info → mcp_use-1.4.0.dist-info}/METADATA +68 -43
  99. mcp_use-1.4.0.dist-info/RECORD +111 -0
  100. mcp_use/cli.py +0 -581
  101. mcp_use-1.3.12.dist-info/RECORD +0 -64
  102. mcp_use-1.3.12.dist-info/licenses/LICENSE +0 -21
  103. /mcp_use/{observability → agents/observability}/__init__.py +0 -0
  104. /mcp_use/{observability → agents/observability}/callbacks_manager.py +0 -0
  105. /mcp_use/{observability → agents/observability}/laminar.py +0 -0
  106. /mcp_use/{observability → agents/observability}/langfuse.py +0 -0
  107. {mcp_use-1.3.12.dist-info → mcp_use-1.4.0.dist-info}/WHEEL +0 -0
  108. {mcp_use-1.3.12.dist-info → mcp_use-1.4.0.dist-info}/entry_points.txt +0 -0
@@ -1,68 +1,18 @@
1
- """
2
- WebSocket connection management for MCP implementations.
1
+ # mcp_use/task_managers/websocket.py
2
+ import warnings
3
3
 
4
- This module provides a connection manager for WebSocket-based MCP connections.
5
- """
4
+ from typing_extensions import deprecated
6
5
 
7
- from typing import Any
6
+ from mcp_use.client.task_managers.websocket import WebSocketConnectionManager as _WebSocketConnectionManager
8
7
 
9
- from mcp.client.websocket import websocket_client
8
+ warnings.warn(
9
+ "mcp_use.task_managers.websocket is deprecated. "
10
+ "Use mcp_use.client.task_managers.websocket. "
11
+ "This import will be removed in version 1.4.0",
12
+ DeprecationWarning,
13
+ stacklevel=2,
14
+ )
10
15
 
11
- from ..logging import logger
12
- from .base import ConnectionManager
13
16
 
14
-
15
- class WebSocketConnectionManager(ConnectionManager[tuple[Any, Any]]):
16
- """Connection manager for WebSocket-based MCP connections.
17
-
18
- This class handles the lifecycle of WebSocket connections, ensuring proper
19
- connection establishment and cleanup.
20
- """
21
-
22
- def __init__(
23
- self,
24
- url: str,
25
- headers: dict[str, str] | None = None,
26
- ):
27
- """Initialize a new WebSocket connection manager.
28
-
29
- Args:
30
- url: The WebSocket URL to connect to
31
- headers: Optional HTTP headers
32
- """
33
- super().__init__()
34
- self.url = url
35
- self.headers = headers or {}
36
-
37
- async def _establish_connection(self) -> tuple[Any, Any]:
38
- """Establish a WebSocket connection.
39
-
40
- Returns:
41
- The established WebSocket connection
42
-
43
- Raises:
44
- Exception: If connection cannot be established
45
- """
46
- logger.debug(f"Connecting to WebSocket: {self.url}")
47
- # Create the context manager
48
- # Note: The current MCP websocket_client implementation doesn't support headers
49
- # If headers need to be passed, this would need to be updated when MCP supports it
50
- self._ws_ctx = websocket_client(self.url)
51
-
52
- # Enter the context manager
53
- read_stream, write_stream = await self._ws_ctx.__aenter__()
54
-
55
- # Return the streams
56
- return (read_stream, write_stream)
57
-
58
- async def _close_connection(self) -> None:
59
- """Close the WebSocket connection."""
60
- if self._ws_ctx:
61
- # Exit the context manager
62
- try:
63
- logger.debug("Closing WebSocket connection")
64
- await self._ws_ctx.__aexit__(None, None, None)
65
- except Exception as e:
66
- logger.warning(f"Error closing WebSocket connection: {e}")
67
- finally:
68
- self._ws_ctx = None
17
+ @deprecated("Use mcp_use.client.task_managers.websocket.WebSocketConnectionManager")
18
+ class WebSocketConnectionManager(_WebSocketConnectionManager): ...
@@ -91,3 +91,61 @@ class MCPAgentExecutionEvent(BaseTelemetryEvent):
91
91
  "error_type": self.error_type,
92
92
  "conversation_history_length": self.conversation_history_length,
93
93
  }
94
+
95
+
96
+ @dataclass
97
+ class FeatureUsageEvent(BaseTelemetryEvent):
98
+ """Event for tracking feature usage across the library"""
99
+
100
+ feature_name: str
101
+ class_name: str
102
+ method_name: str
103
+ success: bool
104
+ execution_time_ms: int | None = None
105
+ error_type: str | None = None
106
+ additional_properties: dict[str, Any] | None = None
107
+
108
+ @property
109
+ def name(self) -> str:
110
+ return "feature_usage"
111
+
112
+ @property
113
+ def properties(self) -> dict[str, Any]:
114
+ props = {
115
+ "feature_name": self.feature_name,
116
+ "class_name": self.class_name,
117
+ "method_name": self.method_name,
118
+ "success": self.success,
119
+ "execution_time_ms": self.execution_time_ms,
120
+ "error_type": self.error_type,
121
+ }
122
+ if self.additional_properties:
123
+ props.update(self.additional_properties)
124
+ return props
125
+
126
+
127
+ @dataclass
128
+ class CLICommandEvent(BaseTelemetryEvent):
129
+ """Event for tracking CLI command usage"""
130
+
131
+ command: str
132
+ success: bool
133
+ execution_time_ms: int | None = None
134
+ error_type: str | None = None
135
+ additional_properties: dict[str, Any] | None = None
136
+
137
+ @property
138
+ def name(self) -> str:
139
+ return "cli_command"
140
+
141
+ @property
142
+ def properties(self) -> dict[str, Any]:
143
+ props = {
144
+ "command": self.command,
145
+ "success": self.success,
146
+ "execution_time_ms": self.execution_time_ms,
147
+ "error_type": self.error_type,
148
+ }
149
+ if self.additional_properties:
150
+ props.update(self.additional_properties)
151
+ return props
@@ -1,6 +1,7 @@
1
1
  import logging
2
2
  import os
3
3
  import platform
4
+ import time
4
5
  import uuid
5
6
  from collections.abc import Callable
6
7
  from functools import wraps
@@ -11,7 +12,7 @@ from posthog import Posthog
11
12
  from scarf import ScarfEventLogger
12
13
 
13
14
  from mcp_use.logging import MCP_USE_DEBUG
14
- from mcp_use.telemetry.events import BaseTelemetryEvent, MCPAgentExecutionEvent
15
+ from mcp_use.telemetry.events import BaseTelemetryEvent, FeatureUsageEvent, MCPAgentExecutionEvent
15
16
  from mcp_use.telemetry.utils import get_package_version
16
17
  from mcp_use.utils import singleton
17
18
 
@@ -30,6 +31,52 @@ def requires_telemetry(func: Callable) -> Callable:
30
31
  return wrapper
31
32
 
32
33
 
34
+ def telemetry(feature_name: str, additional_properties: dict[str, Any] | None = None):
35
+ """Decorator to automatically track feature usage"""
36
+
37
+ def decorator(func: Callable) -> Callable:
38
+ @wraps(func)
39
+ def wrapper(self, *args, **kwargs):
40
+ start_time = time.time()
41
+ success = True
42
+ error_type = None
43
+
44
+ try:
45
+ result = func(self, *args, **kwargs)
46
+ return result
47
+ except Exception as e:
48
+ success = False
49
+ error_type = type(e).__name__
50
+ raise
51
+ finally:
52
+ execution_time_ms = int((time.time() - start_time) * 1000)
53
+
54
+ # Get telemetry instance (try common patterns)
55
+ telemetry = None
56
+ if hasattr(self, "telemetry"):
57
+ telemetry = self.telemetry
58
+ elif hasattr(self, "_telemetry"):
59
+ telemetry = self._telemetry
60
+ else:
61
+ # Fallback to singleton instance
62
+ telemetry = Telemetry()
63
+
64
+ if telemetry:
65
+ telemetry.telemetry(
66
+ feature_name=feature_name,
67
+ class_name=self.__class__.__name__,
68
+ method_name=func.__name__,
69
+ success=success,
70
+ execution_time_ms=execution_time_ms,
71
+ error_type=error_type,
72
+ additional_properties=additional_properties,
73
+ )
74
+
75
+ return wrapper
76
+
77
+ return decorator
78
+
79
+
33
80
  def get_cache_home() -> Path:
34
81
  """Get platform-appropriate cache directory."""
35
82
  # XDG_CACHE_HOME for Linux and manually set envs
@@ -272,6 +319,29 @@ class Telemetry:
272
319
  )
273
320
  self.capture(event)
274
321
 
322
+ @requires_telemetry
323
+ def telemetry(
324
+ self,
325
+ feature_name: str,
326
+ class_name: str,
327
+ method_name: str,
328
+ success: bool,
329
+ execution_time_ms: int | None = None,
330
+ error_type: str | None = None,
331
+ additional_properties: dict[str, Any] | None = None,
332
+ ) -> None:
333
+ """Track feature usage across the library"""
334
+ event = FeatureUsageEvent(
335
+ feature_name=feature_name,
336
+ class_name=class_name,
337
+ method_name=method_name,
338
+ success=success,
339
+ execution_time_ms=execution_time_ms,
340
+ error_type=error_type,
341
+ additional_properties=additional_properties,
342
+ )
343
+ self.capture(event)
344
+
275
345
  @requires_telemetry
276
346
  def flush(self) -> None:
277
347
  """Flush any queued telemetry events"""
@@ -7,7 +7,7 @@ from LangChain language models for telemetry purposes.
7
7
 
8
8
  import importlib.metadata
9
9
 
10
- from langchain_core.language_models.base import BaseLanguageModel
10
+ from langchain_core.language_models import BaseLanguageModel
11
11
 
12
12
 
13
13
  def get_package_version() -> str:
File without changes
mcp_use/types/sandbox.py CHANGED
@@ -1,23 +1,18 @@
1
- """Type definitions for sandbox-related configurations."""
1
+ # mcp_use/types/sandbox.py
2
+ import warnings
2
3
 
3
- from typing import NotRequired, TypedDict
4
+ from typing_extensions import deprecated
4
5
 
6
+ from mcp_use.client.connectors.sandbox import SandboxOptions as _SandboxOptions
5
7
 
6
- class SandboxOptions(TypedDict):
7
- """Configuration options for sandbox execution.
8
+ warnings.warn(
9
+ "mcp_use.types.sandbox is deprecated. "
10
+ "Use mcp_use.client.connectors.sandbox. "
11
+ "This import will be removed in version 1.4.0",
12
+ DeprecationWarning,
13
+ stacklevel=2,
14
+ )
8
15
 
9
- This type defines the configuration options available when running
10
- MCP servers in a sandboxed environment (e.g., using E2B).
11
- """
12
16
 
13
- api_key: str
14
- """Direct API key for sandbox provider (e.g., E2B API key).
15
- If not provided, will use E2B_API_KEY environment variable."""
16
-
17
- sandbox_template_id: NotRequired[str]
18
- """Template ID for the sandbox environment.
19
- Default: 'base'"""
20
-
21
- supergateway_command: NotRequired[str]
22
- """Command to run supergateway.
23
- Default: 'npx -y supergateway'"""
17
+ @deprecated("Use mcp_use.client.connectors.sandbox.SandboxOptions")
18
+ class SandboxOptions(_SandboxOptions): ...
@@ -1,10 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-use
3
- Version: 1.3.12
3
+ Version: 1.4.0
4
4
  Summary: MCP Library for LLMs
5
- Author-email: Pietro Zullo <pietro.zullo@gmail.com>
5
+ Author-email: "mcp-use, Inc." <dev@mcp-use.io>, Pietro Zullo <pietro.zullo@gmail.com>
6
6
  License: MIT
7
- License-File: LICENSE
8
7
  Classifier: Development Status :: 3 - Alpha
9
8
  Classifier: Intended Audience :: Developers
10
9
  Classifier: License :: OSI Approved :: MIT License
@@ -17,7 +16,8 @@ Requires-Python: >=3.11
17
16
  Requires-Dist: aiohttp>=3.9.0
18
17
  Requires-Dist: authlib>=1.6.3
19
18
  Requires-Dist: jsonschema-pydantic>=0.1.0
20
- Requires-Dist: langchain>=0.1.0
19
+ Requires-Dist: langchain-core>=1.0.0
20
+ Requires-Dist: langchain>=1.0.0
21
21
  Requires-Dist: mcp>=1.10.0
22
22
  Requires-Dist: posthog>=4.8.0
23
23
  Requires-Dist: pydantic-core==2.33.2
@@ -54,8 +54,7 @@ Description-Content-Type: text/markdown
54
54
  </picture>
55
55
  </div>
56
56
 
57
-
58
- <h1 align="center">🚀 Create MCP Clients and Agents</h1>
57
+ <h1 align="center">🚀 mcp-use for Python</h1>
59
58
  <p align="center">
60
59
  <a href="https://github.com/pietrozullo/mcp-use/stargazers" alt="GitHub stars">
61
60
  <img src="https://img.shields.io/github/stars/pietrozullo/mcp-use?style=social" /></a>
@@ -63,37 +62,42 @@ Description-Content-Type: text/markdown
63
62
  <img src="https://static.pepy.tech/badge/mcp-use" /></a>
64
63
  <a href="https://pypi.org/project/mcp_use/" alt="PyPI Version">
65
64
  <img src="https://img.shields.io/pypi/v/mcp_use.svg"/></a>
66
- <a href="https://github.com/mcp-use/mcp-use-ts" alt="TypeScript">
67
- <img src="https://img.shields.io/badge/TypeScript-mcp--use-3178C6?logo=typescript&logoColor=white" /></a>
68
65
  <a href="https://github.com/pietrozullo/mcp-use/blob/main/LICENSE" alt="License">
69
66
  <img src="https://img.shields.io/github/license/pietrozullo/mcp-use" /></a>
70
67
  <a href="https://docs.mcp-use.com" alt="Documentation">
71
68
  <img src="https://img.shields.io/badge/docs-mcp--use.com-blue" /></a>
72
- <a href="https://mcp-use.com" alt="Website">
73
- <img src="https://img.shields.io/badge/website-mcp--use.com-blue" /></a>
74
- </p>
75
- <p align="center">
76
- <a href="https://x.com/pietrozullo" alt="Twitter Follow - Pietro">
77
- <img src="https://img.shields.io/twitter/follow/Pietro?style=social" /></a>
78
- <a href="https://x.com/pederzh" alt="Twitter Follow - Luigi">
79
- <img src="https://img.shields.io/twitter/follow/Luigi?style=social" /></a>
80
69
  <a href="https://discord.gg/XkNkSkMz3V" alt="Discord">
81
70
  <img src="https://dcbadge.limes.pink/api/server/XkNkSkMz3V?style=flat" /></a>
82
71
  </p>
83
72
  </div>
84
73
 
85
- 🌐 MCP-Use is the open source way to connect **any LLM to any MCP server** and build custom MCP agents that have tool access, without using closed source or application clients.
74
+ > **📦 Part of the [mcp-use Monorepo](../../README.md)** - This is the Python implementation. Also available in [TypeScript](../typescript/README.md).
75
+
76
+ 🌐 **mcp-use for Python** is the complete way to connect **any LLM to any MCP server** and build custom MCP agents with tool access.
77
+
78
+ 💡 Let your Python applications leverage the power of the Model Context Protocol with support for agents, clients, and advanced features.
79
+
80
+ ## 🏗️ What's Included
81
+
82
+ mcp-use for Python provides three main capabilities:
83
+
84
+ - **🤖 MCP Agent** - Build AI agents that can use tools and reason across multiple steps
85
+ - **🔌 MCP Client** - Connect directly to MCP servers for programmatic tool access
86
+ - **🛠️ MCP Server** - _Coming soon!_ For now, use the [TypeScript version](../typescript/README.md#%EF%B8%8F-mcp-server-framework)
86
87
 
87
- 💡 Let developers easily connect any LLM to tools like web browsing, file operations, and more.
88
+ ---
88
89
 
89
- - If you want to get started quickly check out [mcp-use.com website](https://mcp-use.com/) to build and deploy agents with your favorite MCP servers.
90
- - Visit the [mcp-use docs](https://docs.mcp-use.com/) to get started with mcp-use library
91
- - For the TypeScript version, visit [mcp-use-ts](https://github.com/mcp-use/mcp-use-ts)
90
+ ## 📖 Quick Links
92
91
 
93
- | Supports | |
94
- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
95
- | **Primitives** | [![Tools](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=primitive-tools&label=Tools&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![Resources](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=primitive-resources&label=Resources&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![Prompts](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=primitive-prompts&label=Prompts&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![Sampling](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=primitive-sampling&label=Sampling&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![Elicitation](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=primitive-elicitation&label=Elicitation&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![Authentication](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=primitive-authentication&label=Authentication&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) |
96
- | **Transports** | [![Stdio](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=transport-stdio&label=Stdio&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![SSE](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=transport-sse&label=SSE&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [![Streamable HTTP](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/tests.yml?job=transport-streamableHttp&label=Streamable%20HTTP&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) |
92
+ - **[Main Repository](../../README.md)** - Overview of the entire mcp-use ecosystem
93
+ - **[TypeScript Version](../typescript/README.md)** - TypeScript implementation with server framework
94
+ - **[Documentation](https://docs.mcp-use.com)** - Complete online documentation
95
+ - **[Examples](./examples/)** - Python code examples
96
+
97
+ | Supports | |
98
+ | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
99
+ | **Primitives** | [![Tools](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-primitive/tools&label=Tools&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![Resources](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-primitive/resources&label=Resources&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![Prompts](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-primitive/prompts&label=Prompts&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![Sampling](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-primitive/sampling&label=Sampling&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![Elicitation](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-primitive/elicitation&label=Elicitation&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![Authentication](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-primitive/authentication&label=Authentication&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) |
100
+ | **Transports** | [![Stdio](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-transport/stdio&label=Stdio&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![SSE](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-transport/sse&label=SSE&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) [![Streamable HTTP](https://img.shields.io/github/actions/workflow/status/pietrozullo/mcp-use/ci.yml?job=python-transport/streamable_http&label=Streamable%20HTTP&style=flat)](https://github.com/pietrozullo/mcp-use/actions/workflows/ci.yml) |
97
101
 
98
102
  ## Features
99
103
 
@@ -140,7 +144,13 @@ Description-Content-Type: text/markdown
140
144
  </tr>
141
145
  </table>
142
146
 
143
- # Quick start
147
+ ---
148
+
149
+ # 🤖 MCP Agent
150
+
151
+ The **MCP Agent** is an AI-powered agent that can use tools from MCP servers to accomplish complex tasks. It reasons across multiple steps, selecting and executing tools as needed.
152
+
153
+ ## Quick Start
144
154
 
145
155
  With pip:
146
156
 
@@ -250,7 +260,7 @@ For other settings, models, and more, check out the documentation.
250
260
 
251
261
  ## Streaming Agent Output
252
262
 
253
- MCP-Use supports asynchronous streaming of agent output using the `stream` method on `MCPAgent`. This allows you to receive incremental results, tool actions, and intermediate steps as they are generated by the agent, enabling real-time feedback and progress reporting.
263
+ mcp-use supports asynchronous streaming of agent output using the `stream` method on `MCPAgent`. This allows you to receive incremental results, tool actions, and intermediate steps as they are generated by the agent, enabling real-time feedback and progress reporting.
254
264
 
255
265
  ### How to use
256
266
 
@@ -423,7 +433,7 @@ if __name__ == "__main__":
423
433
 
424
434
  ## HTTP Connection Example
425
435
 
426
- MCP-Use supports HTTP connections, allowing you to connect to MCP servers running on specific HTTP ports. This feature is particularly useful for integrating with web-based MCP servers.
436
+ mcp-use supports HTTP connections, allowing you to connect to MCP servers running on specific HTTP ports. This feature is particularly useful for integrating with web-based MCP servers.
427
437
 
428
438
  Here's an example of how to use the HTTP connection feature:
429
439
 
@@ -472,7 +482,7 @@ This example demonstrates how to connect to an MCP server running on a specific
472
482
 
473
483
  # Multi-Server Support
474
484
 
475
- MCP-Use allows configuring and connecting to multiple MCP servers simultaneously using the `MCPClient`. This enables complex workflows that require tools from different servers, such as web browsing combined with file operations or 3D modeling.
485
+ mcp-use allows configuring and connecting to multiple MCP servers simultaneously using the `MCPClient`. This enables complex workflows that require tools from different servers, such as web browsing combined with file operations or 3D modeling.
476
486
 
477
487
  ## Configuration
478
488
 
@@ -554,7 +564,7 @@ if __name__ == "__main__":
554
564
 
555
565
  # Tool Access Control
556
566
 
557
- MCP-Use allows you to restrict which tools are available to the agent, providing better security and control over agent capabilities:
567
+ mcp-use allows you to restrict which tools are available to the agent, providing better security and control over agent capabilities:
558
568
 
559
569
  ```python
560
570
  import asyncio
@@ -587,7 +597,7 @@ if __name__ == "__main__":
587
597
 
588
598
  # Sandboxed Execution
589
599
 
590
- MCP-Use supports running MCP servers in a sandboxed environment using E2B's cloud infrastructure. This allows you to run MCP servers without having to install dependencies locally, making it easier to use tools that might have complex setups or system requirements.
600
+ mcp-use supports running MCP servers in a sandboxed environment using E2B's cloud infrastructure. This allows you to run MCP servers without having to install dependencies locally, making it easier to use tools that might have complex setups or system requirements.
591
601
 
592
602
  ## Installation
593
603
 
@@ -675,7 +685,13 @@ The `SandboxOptions` type provides configuration for the sandbox environment:
675
685
  - **Consistent environment**: Ensure consistent behavior across different systems
676
686
  - **Resource efficiency**: Offload resource-intensive tasks to cloud infrastructure
677
687
 
678
- # Direct Tool Calls (Without LLM)
688
+ ---
689
+
690
+ # 🔌 MCP Client
691
+
692
+ The **MCP Client** allows you to connect directly to MCP servers and call tools programmatically without an AI agent. This is useful when you know exactly which tools to call and don't need AI reasoning.
693
+
694
+ ## Direct Tool Calls (Without LLM)
679
695
 
680
696
  You can call MCP server tools directly without an LLM when you need programmatic control:
681
697
 
@@ -752,9 +768,26 @@ if __name__ == "__main__":
752
768
 
753
769
  ```
754
770
 
771
+ ---
772
+
773
+ # 🛠️ MCP Server
774
+
775
+ **Coming Soon!** Python support for creating MCP servers is under development.
776
+
777
+ In the meantime, you can create MCP servers using our [TypeScript implementation](../typescript/README.md#%EF%B8%8F-mcp-server-framework), which offers:
778
+
779
+ - Complete server framework with tools, resources, and prompts
780
+ - Built-in inspector for debugging
781
+ - React-based UI widgets for interactive experiences
782
+ - Hot reload development workflow
783
+
784
+ Python agents and clients can connect to TypeScript servers seamlessly - the MCP protocol is language-agnostic.
785
+
786
+ ---
787
+
755
788
  # Debugging
756
789
 
757
- MCP-Use provides a built-in debug mode that increases log verbosity and helps diagnose issues in your agent implementation.
790
+ mcp-use provides a built-in debug mode that increases log verbosity and helps diagnose issues in your agent implementation.
758
791
 
759
792
  ## Enabling Debug Mode
760
793
 
@@ -815,14 +848,6 @@ This is useful when you only need to see the agent's steps and decision-making p
815
848
 
816
849
  We love contributions! Feel free to open issues for bugs or feature requests. Look at [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
817
850
 
818
- ## Contributors
819
-
820
- Thanks to all our amazing contributors!
821
-
822
- <a href="https://github.com/mcp-use/mcp-use/graphs/contributors">
823
- <img src="https://contrib.rocks/image?repo=mcp-use/mcp-use" />
824
- </a>
825
-
826
851
  ## Top Starred Dependents
827
852
 
828
853
  <!-- gh-dependents-info-used-by-start -->
@@ -888,12 +913,12 @@ MIT
888
913
 
889
914
  # Citation
890
915
 
891
- If you use MCP-Use in your research or project, please cite:
916
+ If you use mcp-use in your research or project, please cite:
892
917
 
893
918
  ```bibtex
894
919
  @software{mcp_use2025,
895
920
  author = {Zullo, Pietro},
896
- title = {MCP-Use: MCP Library for Python},
921
+ title = {mcp-use: MCP Library for Python},
897
922
  year = {2025},
898
923
  publisher = {GitHub},
899
924
  url = {https://github.com/pietrozullo/mcp-use}
@@ -0,0 +1,111 @@
1
+ mcp_use/__init__.py,sha256=0LfDNKkzNXXOx9B4-SsMIuwkj9Cm-8JVPmC9yb5cFnw,1277
2
+ mcp_use/client.py,sha256=m-nwSnO147tBXji0KmXULJ2B1Uy7cGidnutRTnASmjU,426
3
+ mcp_use/config.py,sha256=RNYKUJPEpLGZQFg-ahwsYf1B7xXZM1gUA-_57FngAJc,760
4
+ mcp_use/exceptions.py,sha256=YAbLz1S_4aQiNGWgh80lk0lwgF3L109P-cjbV_QW-WQ,1260
5
+ mcp_use/logging.py,sha256=y0BEx1bofSehRqGIe6oTRtHDqTb_KnmAxcH6V1oR6Do,4976
6
+ mcp_use/session.py,sha256=2exxHhIfXcf6UFndiwmi-db3Wvh_Dqeh89iiSIcFtYY,438
7
+ mcp_use/utils.py,sha256=QavJcVq2WxUUUCCpPCUeOB5bqIS0FFmpK-RAZkGc6aA,720
8
+ mcp_use/adapters/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ mcp_use/adapters/__init__.py,sha256=p0J4T9vTeNPXVEcNJUV7WQJB8Bd8lWwbxZ9KT4kDxjQ,604
10
+ mcp_use/adapters/base.py,sha256=Cc-stCnM6j0JtQeR1j1sqQX0ZtHjWUFdRNKsHiQv6mQ,444
11
+ mcp_use/adapters/langchain_adapter.py,sha256=LDlCvqnWDNmY1YxNKYX9PafNZl9o8LMXwp3W4XQaJLY,541
12
+ mcp_use/agents/__init__.py,sha256=FzkntihbAqzixWdWe99zIrrcIfd4N3YWltNniutG9VA,267
13
+ mcp_use/agents/base.py,sha256=3hlKEnSq89yMdd6tBN_FPfx-aPj7En0yNqE7EqTQpVQ,1604
14
+ mcp_use/agents/mcpagent.py,sha256=tiPFeN5oFwch3ULD8Ggcn4cl3v5tFknC4VtgJebDkzU,49586
15
+ mcp_use/agents/remote.py,sha256=wBzkU7rgkA1EBMSfedyLsA01Rz4I2AXPwo-z607Uy2Q,16511
16
+ mcp_use/agents/adapters/__init__.py,sha256=VIxigHnP0ZBUTFV3bQlxnYNgXhawkuoY7OtYe6dZiqw,582
17
+ mcp_use/agents/adapters/anthropic.py,sha256=EZ8XEArYaXacmqCKC4aEhiHNI-rfEBP3Y9GPHt08Uow,3753
18
+ mcp_use/agents/adapters/base.py,sha256=37GjE3WiBfatoT5AnXXPkbxa18WROdP6-MQBKTLbv5k,12398
19
+ mcp_use/agents/adapters/google.py,sha256=YCBrYJFbqnKBxMrzmk0tGUQcBT3knAH5zEzLQ7O2nTU,4284
20
+ mcp_use/agents/adapters/langchain_adapter.py,sha256=eu4_71VE7cURj493FtZRGwiWBZFtWCPeC3AHlPSzys0,8865
21
+ mcp_use/agents/adapters/openai.py,sha256=pItLuNbuzrGydmxEzxidNkTNITCleQInUwYxdmHD1C8,4236
22
+ mcp_use/agents/managers/__init__.py,sha256=FRTuJw5kYtY1Eo7wN9Aeqeqo1euiR5slvrx5Fl_SGvk,383
23
+ mcp_use/agents/managers/base.py,sha256=fJA4ct6GIcACOzmCSQGga1HoHYjsauaMHZsXehCPQNA,1138
24
+ mcp_use/agents/managers/server_manager.py,sha256=MdsttZ3zl0sMUslZTfZ6xNZkDNTIK9_TggDKT-LY5mw,5485
25
+ mcp_use/agents/managers/tools/__init__.py,sha256=zcpm4HXsp8NUMRJeyT6DdB8cgIMDs46pBfoTD-odhGU,437
26
+ mcp_use/agents/managers/tools/base_tool.py,sha256=Jbbp7SwmHKDk8jT_6yVIv7iNsn6KaV_PljWuhhLcbXg,509
27
+ mcp_use/agents/managers/tools/connect_server.py,sha256=Mf_1w4svnRXljzBMv_3p1dyQr_O53yn4cRuydqJ9fFQ,2992
28
+ mcp_use/agents/managers/tools/disconnect_server.py,sha256=hhrMSxFnU3k1ByE7Uqbfkjuwo0o95xCz39mXjkvrI0Y,1650
29
+ mcp_use/agents/managers/tools/get_active_server.py,sha256=_fWKq44EHBMu9eMV7exYw7L1SZZQf3L19fw4hAX594E,993
30
+ mcp_use/agents/managers/tools/list_servers_tool.py,sha256=bi_naHOetXnn6ZhHqwU3NgWUebXwp2CaifZZfD3J0E0,2065
31
+ mcp_use/agents/managers/tools/search_tools.py,sha256=Rht0NZJ9W8mi5PzXgs3mALuGscMDYB3ylpm9LoAMdkE,12945
32
+ mcp_use/agents/observability/__init__.py,sha256=qJR51lpW6lVvhgNnUHBXYN6FKn4kDKbGVHUhPzrx324,348
33
+ mcp_use/agents/observability/callbacks_manager.py,sha256=6jIcE6ofiLRxoi4fECaTlpnllTEFQdwB0IZ0ZkY0WAQ,5324
34
+ mcp_use/agents/observability/laminar.py,sha256=eBY23B8rxQOW5ggHeGB0ZCpCSMnK4rC8fBOvDdbuoq4,1613
35
+ mcp_use/agents/observability/langfuse.py,sha256=kOF05cbSEir7r3fibx_q6TfKzqmbjKLV7uNxBote9XY,2677
36
+ mcp_use/agents/prompts/system_prompt_builder.py,sha256=1Nt4JA_WZFuTiA-cz5EA9_pUHBzLIO1yR2_pMvaa_-U,4123
37
+ mcp_use/agents/prompts/templates.py,sha256=Yd-3NILgHXTrBUw9WE11gt0-QrlvN1pykeEpg3LY4HU,1545
38
+ mcp_use/auth/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ mcp_use/auth/__init__.py,sha256=5ZetbbZDfGI4vli6tgHt-XTAEZh7fqn_eHdF0Rirsf4,516
40
+ mcp_use/auth/bearer.py,sha256=iZQgutjUS8GzarNQOFa_s3Wq-Rl71nzKG-FhYHWC2n4,422
41
+ mcp_use/auth/oauth.py,sha256=ztdXsd7F5xMJiHOeJiCCUiZSV2cKW5k4s2rhxXUCIwo,392
42
+ mcp_use/auth/oauth_callback.py,sha256=6kLYBL9M-CoOZ_HX6ezgcVCbRk1RBnBXpCNaamCFazk,726
43
+ mcp_use/client/__init__.py,sha256=KJzHv7qafMFqE38TGAowled4Ka3dWvqq80GEQfx99JI,30
44
+ mcp_use/client/client.py,sha256=TKDoKKusVkRqZzqh_B2xBMsHLOLbFgic3I4t2ZJEqJg,13072
45
+ mcp_use/client/config.py,sha256=bnPXOno47VfEGGdDeOwyJZlr7gXw1KInABoRhiZ4_fw,3837
46
+ mcp_use/client/exceptions.py,sha256=PuzPj_Ov4oYJ8ny8BC6S1b9RRy39gtRotDhIaMulxQE,468
47
+ mcp_use/client/session.py,sha256=DPud5dMil3lJq9pUQq4z9IpWCy_xRmpzKeCVLVzNKp8,5031
48
+ mcp_use/client/auth/__init__.py,sha256=TBNMvgRDp-lC3n2f0UB6kZUZlJ35SYRBVDt3hadpvXI,138
49
+ mcp_use/client/auth/bearer.py,sha256=wgG3_TZDNoqo7hnezLHqOZpsWFOAXTxFbIg6t1qemQ8,678
50
+ mcp_use/client/auth/oauth.py,sha256=HU1sxo74L-0Gf-VbK4FmSrZKoxkJg4bW50emUakYBoE,27801
51
+ mcp_use/client/auth/oauth_callback.py,sha256=BRdVnbt1SENvsrudBFUB_XYhRb1G30Qjf8x5Vw1xZzo,7558
52
+ mcp_use/client/connectors/__init__.py,sha256=cUF4yT0bNr8qeLkSzg28SHueiV5qDaHEB1l1GZ2K0dc,536
53
+ mcp_use/client/connectors/base.py,sha256=R5NbN_NGuJnT82cGMweOaAdA5g6mZnsN4KyqG0_XffE,18687
54
+ mcp_use/client/connectors/http.py,sha256=LFk8QLx4GBYWe7lYWHXfC8HH97lOSFAJRuhW7XlkLY8,13742
55
+ mcp_use/client/connectors/sandbox.py,sha256=ukCGi50ZplmKViW8WagoyoznuugMETlgvilGGR9LcP0,12827
56
+ mcp_use/client/connectors/stdio.py,sha256=Iy3mQ08T0DI-ufArM7F2kavy8rCsrk96P-UJiaUQjUM,4129
57
+ mcp_use/client/connectors/utils.py,sha256=zQ8GdNQx0Twz3by90BoU1RsWPf9wODGof4K3-NxPXeA,366
58
+ mcp_use/client/connectors/websocket.py,sha256=-fcXsLJtJ5xVa46AiXdpj_Echbzet_1XZoSbi8lwEf0,10169
59
+ mcp_use/client/middleware/__init__.py,sha256=p9cTU5ZdeHys7RnhRh-y2-kc5OjPj3cL_Yk3kbl5Vqw,1354
60
+ mcp_use/client/middleware/logging.py,sha256=Q-sDUFHZkmgxZxF8CWOal9CsOOs4EBlITxIQO3CkqHc,1184
61
+ mcp_use/client/middleware/metrics.py,sha256=NnsP0n1Ta-hnCxPFvdlQAFi5D1BCGvkl1MepaGd5-Vo,13203
62
+ mcp_use/client/middleware/middleware.py,sha256=08H79bufrA3pS0DN3SRbMbfUh6NO7iCdHokkSBvvrfg,9770
63
+ mcp_use/client/task_managers/__init__.py,sha256=LkXOjiDq5JcyB2tNJuSzyjbxZTl1Ordr_NKKD77Nb7g,557
64
+ mcp_use/client/task_managers/base.py,sha256=1Yu4QUWBdOqDzIS0QNh1l_sQpWvqMFPYPWmmHkq6d6Q,4654
65
+ mcp_use/client/task_managers/sse.py,sha256=H2cqSXUjtUZ-_9bX-7lh_0wfuS03ZtxNrVtSZ2RMyGY,2597
66
+ mcp_use/client/task_managers/stdio.py,sha256=qKKr1rqISrJLVbFLdVaYwovm5vUqBkpdCmebkrkueHw,2164
67
+ mcp_use/client/task_managers/streamable_http.py,sha256=BxgFLAnRUPDKijjSMcqWVfWiBinUexBMb4SdzzyPBvM,2889
68
+ mcp_use/client/task_managers/websocket.py,sha256=MCe_TS2xu42YK_RbSZLoEsKs7L1WpR7sdaBz5rXuc1M,2188
69
+ mcp_use/connectors/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ mcp_use/connectors/__init__.py,sha256=AILLEsQuwi1P9hjSn7Gbh6g-2ab3mXQEAZapbLXVmSE,1219
71
+ mcp_use/connectors/base.py,sha256=n-d0yHA6trrADzaUHZA6zk_p5yauBpKqTDZ5-I1GJEA,471
72
+ mcp_use/connectors/http.py,sha256=tfxHsuBZRu76HdMUQFrRiQpYug9bo5x77RM9iI08BOI,471
73
+ mcp_use/connectors/sandbox.py,sha256=Rz8m6r3RCO-meJNhafGj7eD86SnLQQeVYgNtyfZB3nI,501
74
+ mcp_use/connectors/stdio.py,sha256=ls5OBl3OUW0kkXag0_z-530LKgll6xt8uS8jvwqJ_vQ,481
75
+ mcp_use/connectors/utils.py,sha256=mE5jRP3rV2KIt_LvBxg42zqihvcXpz_n2UJa4gV9eSk,567
76
+ mcp_use/connectors/websocket.py,sha256=Q5B69AfXyA_mZc8s1kZZzCbTurjZLAaEutm1pMIYN2E,521
77
+ mcp_use/errors/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
78
+ mcp_use/errors/error_formatting.py,sha256=17lhj5goGHuTbJ5oLCUXyJ2SuIbzsuSM1Wk8LPeqY9k,911
79
+ mcp_use/managers/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
+ mcp_use/managers/__init__.py,sha256=N5iDLaNOXEowp9Cp7YsuWtIoFoR2YhpKlpTXcptxD6I,1700
81
+ mcp_use/managers/base.py,sha256=5oHTD29MHrgfbqC6b1Za6ndGf4cnOdboFfyr90QRo18,481
82
+ mcp_use/managers/server_manager.py,sha256=TbWcxoOTV3IN8FPRBDyvpYYTJWR42acBQ1MpxS5a-wg,511
83
+ mcp_use/managers/tools/__init__.py,sha256=AlBiKWRNkbf0neyMj95TSvC0zGO1ECncMdi6EahkWfY,1318
84
+ mcp_use/managers/tools/base_tool.py,sha256=sohFFzlfKA9bUZ-CtuZytf7EW1z4GM7MoIUV9FxO32Y,280
85
+ mcp_use/managers/tools/connect_server.py,sha256=OvKWKhgqotnTnmU2CcmzhTmc6CkbIfRCztV_zZsg218,315
86
+ mcp_use/managers/tools/disconnect_server.py,sha256=f-ThxEhVvba8SnsFIxt4MeGCufBoB1Itidjhq53_nD0,339
87
+ mcp_use/managers/tools/get_active_server.py,sha256=6msUfr-uabkFbB3lPKu8hcs_nO9EF6JIlLu-GnUQ0cE,334
88
+ mcp_use/managers/tools/list_servers_tool.py,sha256=xFuDD5B4RgxuwRBuXVn0CoR6h6cx87wsU-acD8b1SrU,314
89
+ mcp_use/managers/tools/search_tools.py,sha256=kYtRuUIawugATYuLXDS2sIpyv2bJrLiKLQO3U3L1AFA,763
90
+ mcp_use/middleware/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ mcp_use/middleware/__init__.py,sha256=imBkKYNUT5pZvt9AkU6JoUSREGxLhhU6wQleA5mTNiE,2668
92
+ mcp_use/middleware/logging.py,sha256=T2B4WxEcnSfNQiG9s97swkfPAAUNsDbqcRhlmsKhdO8,589
93
+ mcp_use/middleware/metrics.py,sha256=ky7jokRD30QM0Gl1IulFwzcsFPCXiSuRFs_8UGz1Vr8,1301
94
+ mcp_use/middleware/middleware.py,sha256=5o-le09nko9nlhWGkNab_0OSVBn5jxVKf-NjrHrTTmA,1615
95
+ mcp_use/task_managers/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
+ mcp_use/task_managers/__init__.py,sha256=wLyZgkCRooIDTcX871cr-jHVm-e5kutIThxz17eSNf0,1482
97
+ mcp_use/task_managers/base.py,sha256=cAP6PA_RMjA1rw-2-tnpya96HbKWkEkQibmgkeZfNUA,506
98
+ mcp_use/task_managers/sse.py,sha256=2W3o737M96ZFVhB2pxd-SrJ4mrmTaKDm_OdklseEy3Y,516
99
+ mcp_use/task_managers/stdio.py,sha256=JS6jAzsPEuzriuQ-Sib4WW1rsUgxMYZkUwN6BVhiFt4,536
100
+ mcp_use/task_managers/streamable_http.py,sha256=NiyYHZ5fLgqYNvFEoWLzLQw9AByscnPWBG4k-whLfZ8,640
101
+ mcp_use/task_managers/websocket.py,sha256=cis-KJFccCi55rvk-FVlKFtncGNnm8QiNcpwzuaBEM8,576
102
+ mcp_use/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ mcp_use/telemetry/events.py,sha256=4u-PWeg03jozG9rLunDB7JHtFmmesgu3J8aRAq93qAU,4706
104
+ mcp_use/telemetry/telemetry.py,sha256=uCOGRDNTyDfyvBGypGUpTk9-IGOe2P7CbUQjPlnkQ9Y,14082
105
+ mcp_use/telemetry/utils.py,sha256=_nPJU7e1XZeUWcWKmumbhNcC2OEAU1wvNXJe3CNgHEY,1764
106
+ mcp_use/types/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ mcp_use/types/sandbox.py,sha256=gaZaLE-i6rftaIF-OYyMDc1W6Il-g4MpFbCD1IdyBPg,481
108
+ mcp_use-1.4.0.dist-info/METADATA,sha256=pnimjYDLE5DteEtiB0eIH5QuyQTbILh7etAlnLrdOc4,35394
109
+ mcp_use-1.4.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
110
+ mcp_use-1.4.0.dist-info/entry_points.txt,sha256=3jzEN6xbVsMErm_cxlHpCzvM97gFgjvtOEEspUp1vK8,45
111
+ mcp_use-1.4.0.dist-info/RECORD,,