mcp-use 1.3.11__py3-none-any.whl → 1.3.13__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.
- mcp_use/__init__.py +1 -1
- mcp_use/adapters/.deprecated +0 -0
- mcp_use/adapters/__init__.py +18 -7
- mcp_use/adapters/base.py +12 -185
- mcp_use/adapters/langchain_adapter.py +12 -264
- mcp_use/agents/adapters/__init__.py +10 -0
- mcp_use/agents/adapters/base.py +193 -0
- mcp_use/agents/adapters/langchain_adapter.py +228 -0
- mcp_use/agents/base.py +1 -1
- mcp_use/agents/managers/__init__.py +19 -0
- mcp_use/agents/managers/base.py +36 -0
- mcp_use/agents/managers/server_manager.py +131 -0
- mcp_use/agents/managers/tools/__init__.py +15 -0
- mcp_use/agents/managers/tools/base_tool.py +19 -0
- mcp_use/agents/managers/tools/connect_server.py +69 -0
- mcp_use/agents/managers/tools/disconnect_server.py +43 -0
- mcp_use/agents/managers/tools/get_active_server.py +29 -0
- mcp_use/agents/managers/tools/list_servers_tool.py +53 -0
- mcp_use/agents/managers/tools/search_tools.py +328 -0
- mcp_use/agents/mcpagent.py +88 -47
- mcp_use/agents/remote.py +168 -129
- mcp_use/auth/.deprecated +0 -0
- mcp_use/auth/__init__.py +19 -4
- mcp_use/auth/bearer.py +11 -12
- mcp_use/auth/oauth.py +11 -620
- mcp_use/auth/oauth_callback.py +16 -207
- mcp_use/client/__init__.py +1 -0
- mcp_use/client/auth/__init__.py +6 -0
- mcp_use/client/auth/bearer.py +23 -0
- mcp_use/client/auth/oauth.py +629 -0
- mcp_use/client/auth/oauth_callback.py +214 -0
- mcp_use/client/client.py +356 -0
- mcp_use/client/config.py +106 -0
- mcp_use/client/connectors/__init__.py +20 -0
- mcp_use/client/connectors/base.py +470 -0
- mcp_use/client/connectors/http.py +304 -0
- mcp_use/client/connectors/sandbox.py +332 -0
- mcp_use/client/connectors/stdio.py +109 -0
- mcp_use/client/connectors/utils.py +13 -0
- mcp_use/client/connectors/websocket.py +257 -0
- mcp_use/client/exceptions.py +31 -0
- mcp_use/client/middleware/__init__.py +50 -0
- mcp_use/client/middleware/logging.py +31 -0
- mcp_use/client/middleware/metrics.py +314 -0
- mcp_use/client/middleware/middleware.py +266 -0
- mcp_use/client/session.py +162 -0
- mcp_use/client/task_managers/__init__.py +20 -0
- mcp_use/client/task_managers/base.py +145 -0
- mcp_use/client/task_managers/sse.py +84 -0
- mcp_use/client/task_managers/stdio.py +69 -0
- mcp_use/client/task_managers/streamable_http.py +86 -0
- mcp_use/client/task_managers/websocket.py +68 -0
- mcp_use/client.py +12 -320
- mcp_use/config.py +20 -92
- mcp_use/connectors/.deprecated +0 -0
- mcp_use/connectors/__init__.py +46 -20
- mcp_use/connectors/base.py +12 -447
- mcp_use/connectors/http.py +13 -288
- mcp_use/connectors/sandbox.py +13 -297
- mcp_use/connectors/stdio.py +13 -96
- mcp_use/connectors/utils.py +15 -8
- mcp_use/connectors/websocket.py +13 -252
- mcp_use/exceptions.py +33 -18
- mcp_use/managers/.deprecated +0 -0
- mcp_use/managers/__init__.py +56 -17
- mcp_use/managers/base.py +13 -31
- mcp_use/managers/server_manager.py +13 -119
- mcp_use/managers/tools/__init__.py +45 -15
- mcp_use/managers/tools/base_tool.py +5 -16
- mcp_use/managers/tools/connect_server.py +5 -67
- mcp_use/managers/tools/disconnect_server.py +5 -41
- mcp_use/managers/tools/get_active_server.py +5 -26
- mcp_use/managers/tools/list_servers_tool.py +5 -51
- mcp_use/managers/tools/search_tools.py +17 -321
- mcp_use/middleware/.deprecated +0 -0
- mcp_use/middleware/__init__.py +89 -0
- mcp_use/middleware/logging.py +19 -0
- mcp_use/middleware/metrics.py +41 -0
- mcp_use/middleware/middleware.py +55 -0
- mcp_use/session.py +13 -149
- mcp_use/task_managers/.deprecated +0 -0
- mcp_use/task_managers/__init__.py +48 -20
- mcp_use/task_managers/base.py +13 -140
- mcp_use/task_managers/sse.py +13 -79
- mcp_use/task_managers/stdio.py +13 -64
- mcp_use/task_managers/streamable_http.py +15 -81
- mcp_use/task_managers/websocket.py +13 -63
- mcp_use/telemetry/events.py +58 -0
- mcp_use/telemetry/telemetry.py +71 -1
- mcp_use/types/.deprecated +0 -0
- mcp_use/types/sandbox.py +13 -18
- {mcp_use-1.3.11.dist-info → mcp_use-1.3.13.dist-info}/METADATA +66 -40
- mcp_use-1.3.13.dist-info/RECORD +109 -0
- mcp_use-1.3.11.dist-info/RECORD +0 -60
- mcp_use-1.3.11.dist-info/licenses/LICENSE +0 -21
- /mcp_use/{observability → agents/observability}/__init__.py +0 -0
- /mcp_use/{observability → agents/observability}/callbacks_manager.py +0 -0
- /mcp_use/{observability → agents/observability}/laminar.py +0 -0
- /mcp_use/{observability → agents/observability}/langfuse.py +0 -0
- {mcp_use-1.3.11.dist-info → mcp_use-1.3.13.dist-info}/WHEEL +0 -0
- {mcp_use-1.3.11.dist-info → mcp_use-1.3.13.dist-info}/entry_points.txt +0 -0
|
@@ -1,68 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# mcp_use/task_managers/websocket.py
|
|
2
|
+
import warnings
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
"""
|
|
4
|
+
from typing_extensions import deprecated
|
|
6
5
|
|
|
7
|
-
from
|
|
6
|
+
from mcp_use.client.task_managers.websocket import WebSocketConnectionManager as _WebSocketConnectionManager
|
|
8
7
|
|
|
9
|
-
|
|
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(
|
|
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): ...
|
mcp_use/telemetry/events.py
CHANGED
|
@@ -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
|
mcp_use/telemetry/telemetry.py
CHANGED
|
@@ -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"""
|
|
File without changes
|
mcp_use/types/sandbox.py
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
# mcp_use/types/sandbox.py
|
|
2
|
+
import warnings
|
|
2
3
|
|
|
3
|
-
from
|
|
4
|
+
from typing_extensions import deprecated
|
|
4
5
|
|
|
6
|
+
from mcp_use.client.connectors.sandbox import SandboxOptions as _SandboxOptions
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
"
|
|
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
|
-
|
|
14
|
-
|
|
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.
|
|
3
|
+
Version: 1.3.13
|
|
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,10 +16,12 @@ 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
|
|
19
|
+
Requires-Dist: langchain-core==0.3.79
|
|
20
|
+
Requires-Dist: langchain==0.3.27
|
|
21
21
|
Requires-Dist: mcp>=1.10.0
|
|
22
22
|
Requires-Dist: posthog>=4.8.0
|
|
23
|
-
Requires-Dist: pydantic
|
|
23
|
+
Requires-Dist: pydantic-core==2.33.2
|
|
24
|
+
Requires-Dist: pydantic==2.11.10
|
|
24
25
|
Requires-Dist: python-dotenv>=1.0.0
|
|
25
26
|
Requires-Dist: scarf-sdk>=0.1.0
|
|
26
27
|
Requires-Dist: websockets>=15.0
|
|
@@ -53,8 +54,7 @@ Description-Content-Type: text/markdown
|
|
|
53
54
|
</picture>
|
|
54
55
|
</div>
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
<h1 align="center">🚀 Create MCP Clients and Agents</h1>
|
|
57
|
+
<h1 align="center">🚀 MCP-Use for Python</h1>
|
|
58
58
|
<p align="center">
|
|
59
59
|
<a href="https://github.com/pietrozullo/mcp-use/stargazers" alt="GitHub stars">
|
|
60
60
|
<img src="https://img.shields.io/github/stars/pietrozullo/mcp-use?style=social" /></a>
|
|
@@ -62,37 +62,42 @@ Description-Content-Type: text/markdown
|
|
|
62
62
|
<img src="https://static.pepy.tech/badge/mcp-use" /></a>
|
|
63
63
|
<a href="https://pypi.org/project/mcp_use/" alt="PyPI Version">
|
|
64
64
|
<img src="https://img.shields.io/pypi/v/mcp_use.svg"/></a>
|
|
65
|
-
<a href="https://github.com/mcp-use/mcp-use-ts" alt="TypeScript">
|
|
66
|
-
<img src="https://img.shields.io/badge/TypeScript-mcp--use-3178C6?logo=typescript&logoColor=white" /></a>
|
|
67
65
|
<a href="https://github.com/pietrozullo/mcp-use/blob/main/LICENSE" alt="License">
|
|
68
66
|
<img src="https://img.shields.io/github/license/pietrozullo/mcp-use" /></a>
|
|
69
67
|
<a href="https://docs.mcp-use.com" alt="Documentation">
|
|
70
68
|
<img src="https://img.shields.io/badge/docs-mcp--use.com-blue" /></a>
|
|
71
|
-
<a href="https://mcp-use.com" alt="Website">
|
|
72
|
-
<img src="https://img.shields.io/badge/website-mcp--use.com-blue" /></a>
|
|
73
|
-
</p>
|
|
74
|
-
<p align="center">
|
|
75
|
-
<a href="https://x.com/pietrozullo" alt="Twitter Follow - Pietro">
|
|
76
|
-
<img src="https://img.shields.io/twitter/follow/Pietro?style=social" /></a>
|
|
77
|
-
<a href="https://x.com/pederzh" alt="Twitter Follow - Luigi">
|
|
78
|
-
<img src="https://img.shields.io/twitter/follow/Luigi?style=social" /></a>
|
|
79
69
|
<a href="https://discord.gg/XkNkSkMz3V" alt="Discord">
|
|
80
70
|
<img src="https://dcbadge.limes.pink/api/server/XkNkSkMz3V?style=flat" /></a>
|
|
81
71
|
</p>
|
|
82
72
|
</div>
|
|
83
73
|
|
|
84
|
-
|
|
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)
|
|
85
87
|
|
|
86
|
-
|
|
88
|
+
---
|
|
87
89
|
|
|
88
|
-
|
|
89
|
-
- Visit the [mcp-use docs](https://docs.mcp-use.com/) to get started with mcp-use library
|
|
90
|
-
- For the TypeScript version, visit [mcp-use-ts](https://github.com/mcp-use/mcp-use-ts)
|
|
90
|
+
## 📖 Quick Links
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
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
|
+
| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
94
99
|
| **Primitives** | [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) |
|
|
95
|
-
| **Transports** | [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml)
|
|
100
|
+
| **Transports** | [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) [](https://github.com/pietrozullo/mcp-use/actions/workflows/tests.yml) |
|
|
96
101
|
|
|
97
102
|
## Features
|
|
98
103
|
|
|
@@ -139,7 +144,13 @@ Description-Content-Type: text/markdown
|
|
|
139
144
|
</tr>
|
|
140
145
|
</table>
|
|
141
146
|
|
|
142
|
-
|
|
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
|
|
143
154
|
|
|
144
155
|
With pip:
|
|
145
156
|
|
|
@@ -674,7 +685,13 @@ The `SandboxOptions` type provides configuration for the sandbox environment:
|
|
|
674
685
|
- **Consistent environment**: Ensure consistent behavior across different systems
|
|
675
686
|
- **Resource efficiency**: Offload resource-intensive tasks to cloud infrastructure
|
|
676
687
|
|
|
677
|
-
|
|
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)
|
|
678
695
|
|
|
679
696
|
You can call MCP server tools directly without an LLM when you need programmatic control:
|
|
680
697
|
|
|
@@ -751,6 +768,23 @@ if __name__ == "__main__":
|
|
|
751
768
|
|
|
752
769
|
```
|
|
753
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
|
+
|
|
754
788
|
# Debugging
|
|
755
789
|
|
|
756
790
|
MCP-Use provides a built-in debug mode that increases log verbosity and helps diagnose issues in your agent implementation.
|
|
@@ -814,14 +848,6 @@ This is useful when you only need to see the agent's steps and decision-making p
|
|
|
814
848
|
|
|
815
849
|
We love contributions! Feel free to open issues for bugs or feature requests. Look at [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
816
850
|
|
|
817
|
-
## Contributors
|
|
818
|
-
|
|
819
|
-
Thanks to all our amazing contributors!
|
|
820
|
-
|
|
821
|
-
<a href="https://github.com/mcp-use/mcp-use/graphs/contributors">
|
|
822
|
-
<img src="https://contrib.rocks/image?repo=mcp-use/mcp-use" />
|
|
823
|
-
</a>
|
|
824
|
-
|
|
825
851
|
## Top Starred Dependents
|
|
826
852
|
|
|
827
853
|
<!-- gh-dependents-info-used-by-start -->
|
|
@@ -833,23 +859,23 @@ Thanks to all our amazing contributors!
|
|
|
833
859
|
</tr>
|
|
834
860
|
<tr>
|
|
835
861
|
<td><img src="https://avatars.githubusercontent.com/u/38653995?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/patchy631/ai-engineering-hub"><strong>patchy631/ai-engineering-hub</strong></a></td>
|
|
836
|
-
<td>⭐
|
|
862
|
+
<td>⭐ 18021</td>
|
|
837
863
|
</tr>
|
|
838
864
|
<tr>
|
|
839
865
|
<td><img src="https://avatars.githubusercontent.com/u/164294848?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/buildfastwithai/gen-ai-experiments"><strong>buildfastwithai/gen-ai-experiments</strong></a></td>
|
|
840
|
-
<td>⭐
|
|
866
|
+
<td>⭐ 202</td>
|
|
841
867
|
</tr>
|
|
842
868
|
<tr>
|
|
843
869
|
<td><img src="https://avatars.githubusercontent.com/u/187057607?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/hud-evals/hud-python"><strong>hud-evals/hud-python</strong></a></td>
|
|
844
|
-
<td>⭐
|
|
870
|
+
<td>⭐ 168</td>
|
|
845
871
|
</tr>
|
|
846
872
|
<tr>
|
|
847
873
|
<td><img src="https://avatars.githubusercontent.com/u/170207473?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/tavily-ai/meeting-prep-agent"><strong>tavily-ai/meeting-prep-agent</strong></a></td>
|
|
848
|
-
<td>⭐
|
|
874
|
+
<td>⭐ 138</td>
|
|
849
875
|
</tr>
|
|
850
876
|
<tr>
|
|
851
877
|
<td><img src="https://avatars.githubusercontent.com/u/20041231?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/krishnaik06/MCP-CRASH-Course"><strong>krishnaik06/MCP-CRASH-Course</strong></a></td>
|
|
852
|
-
<td>⭐
|
|
878
|
+
<td>⭐ 74</td>
|
|
853
879
|
</tr>
|
|
854
880
|
<tr>
|
|
855
881
|
<td><img src="https://avatars.githubusercontent.com/u/54944174?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/larksuite/lark-samples"><strong>larksuite/lark-samples</strong></a></td>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
mcp_use/__init__.py,sha256=0LfDNKkzNXXOx9B4-SsMIuwkj9Cm-8JVPmC9yb5cFnw,1277
|
|
2
|
+
mcp_use/cli.py,sha256=d3_RqN-lca7igS-aZQIdNQidBOILVihyldywcf8GR-c,15602
|
|
3
|
+
mcp_use/client.py,sha256=m-nwSnO147tBXji0KmXULJ2B1Uy7cGidnutRTnASmjU,426
|
|
4
|
+
mcp_use/config.py,sha256=RNYKUJPEpLGZQFg-ahwsYf1B7xXZM1gUA-_57FngAJc,760
|
|
5
|
+
mcp_use/exceptions.py,sha256=YAbLz1S_4aQiNGWgh80lk0lwgF3L109P-cjbV_QW-WQ,1260
|
|
6
|
+
mcp_use/logging.py,sha256=bwZEDM3DZDVDVWmFlHCHEDAODix4_y8VSreRk-nRWuo,4971
|
|
7
|
+
mcp_use/session.py,sha256=2exxHhIfXcf6UFndiwmi-db3Wvh_Dqeh89iiSIcFtYY,438
|
|
8
|
+
mcp_use/utils.py,sha256=QavJcVq2WxUUUCCpPCUeOB5bqIS0FFmpK-RAZkGc6aA,720
|
|
9
|
+
mcp_use/adapters/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
mcp_use/adapters/__init__.py,sha256=p0J4T9vTeNPXVEcNJUV7WQJB8Bd8lWwbxZ9KT4kDxjQ,604
|
|
11
|
+
mcp_use/adapters/base.py,sha256=Cc-stCnM6j0JtQeR1j1sqQX0ZtHjWUFdRNKsHiQv6mQ,444
|
|
12
|
+
mcp_use/adapters/langchain_adapter.py,sha256=LDlCvqnWDNmY1YxNKYX9PafNZl9o8LMXwp3W4XQaJLY,541
|
|
13
|
+
mcp_use/agents/__init__.py,sha256=FzkntihbAqzixWdWe99zIrrcIfd4N3YWltNniutG9VA,267
|
|
14
|
+
mcp_use/agents/base.py,sha256=3hlKEnSq89yMdd6tBN_FPfx-aPj7En0yNqE7EqTQpVQ,1604
|
|
15
|
+
mcp_use/agents/mcpagent.py,sha256=lDuV4H5c4iYQIZP8lfZ_RNJJQxDeQyXG446vM0g64x0,53425
|
|
16
|
+
mcp_use/agents/remote.py,sha256=SGqFPV6V7HFBsUQVJTnKYltg-lWub6pVmZwOhIE12h0,16504
|
|
17
|
+
mcp_use/agents/adapters/__init__.py,sha256=-xCrgPThuX7x0PHGFDdjb7M-mgw6QV3sKu5PM7ShnRg,275
|
|
18
|
+
mcp_use/agents/adapters/base.py,sha256=ZRAjqWM3SmQOLxgK4tIOg-XRmnzL6Nfe4a64hvxFg_g,7098
|
|
19
|
+
mcp_use/agents/adapters/langchain_adapter.py,sha256=9oo_ZuFiYMwX_nL2JNYru1LwqeSpfQSw0bal3Q-h9Ms,9406
|
|
20
|
+
mcp_use/agents/managers/__init__.py,sha256=FRTuJw5kYtY1Eo7wN9Aeqeqo1euiR5slvrx5Fl_SGvk,383
|
|
21
|
+
mcp_use/agents/managers/base.py,sha256=fJA4ct6GIcACOzmCSQGga1HoHYjsauaMHZsXehCPQNA,1138
|
|
22
|
+
mcp_use/agents/managers/server_manager.py,sha256=MdsttZ3zl0sMUslZTfZ6xNZkDNTIK9_TggDKT-LY5mw,5485
|
|
23
|
+
mcp_use/agents/managers/tools/__init__.py,sha256=zcpm4HXsp8NUMRJeyT6DdB8cgIMDs46pBfoTD-odhGU,437
|
|
24
|
+
mcp_use/agents/managers/tools/base_tool.py,sha256=Jbbp7SwmHKDk8jT_6yVIv7iNsn6KaV_PljWuhhLcbXg,509
|
|
25
|
+
mcp_use/agents/managers/tools/connect_server.py,sha256=Mf_1w4svnRXljzBMv_3p1dyQr_O53yn4cRuydqJ9fFQ,2992
|
|
26
|
+
mcp_use/agents/managers/tools/disconnect_server.py,sha256=hhrMSxFnU3k1ByE7Uqbfkjuwo0o95xCz39mXjkvrI0Y,1650
|
|
27
|
+
mcp_use/agents/managers/tools/get_active_server.py,sha256=_fWKq44EHBMu9eMV7exYw7L1SZZQf3L19fw4hAX594E,993
|
|
28
|
+
mcp_use/agents/managers/tools/list_servers_tool.py,sha256=bi_naHOetXnn6ZhHqwU3NgWUebXwp2CaifZZfD3J0E0,2065
|
|
29
|
+
mcp_use/agents/managers/tools/search_tools.py,sha256=Rht0NZJ9W8mi5PzXgs3mALuGscMDYB3ylpm9LoAMdkE,12945
|
|
30
|
+
mcp_use/agents/observability/__init__.py,sha256=qJR51lpW6lVvhgNnUHBXYN6FKn4kDKbGVHUhPzrx324,348
|
|
31
|
+
mcp_use/agents/observability/callbacks_manager.py,sha256=6jIcE6ofiLRxoi4fECaTlpnllTEFQdwB0IZ0ZkY0WAQ,5324
|
|
32
|
+
mcp_use/agents/observability/laminar.py,sha256=eBY23B8rxQOW5ggHeGB0ZCpCSMnK4rC8fBOvDdbuoq4,1613
|
|
33
|
+
mcp_use/agents/observability/langfuse.py,sha256=kOF05cbSEir7r3fibx_q6TfKzqmbjKLV7uNxBote9XY,2677
|
|
34
|
+
mcp_use/agents/prompts/system_prompt_builder.py,sha256=E86STmxcl2Ic763_114awNqFB2RyLrQlbvgRmJajQjI,4116
|
|
35
|
+
mcp_use/agents/prompts/templates.py,sha256=Yd-3NILgHXTrBUw9WE11gt0-QrlvN1pykeEpg3LY4HU,1545
|
|
36
|
+
mcp_use/auth/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
mcp_use/auth/__init__.py,sha256=5ZetbbZDfGI4vli6tgHt-XTAEZh7fqn_eHdF0Rirsf4,516
|
|
38
|
+
mcp_use/auth/bearer.py,sha256=iZQgutjUS8GzarNQOFa_s3Wq-Rl71nzKG-FhYHWC2n4,422
|
|
39
|
+
mcp_use/auth/oauth.py,sha256=ztdXsd7F5xMJiHOeJiCCUiZSV2cKW5k4s2rhxXUCIwo,392
|
|
40
|
+
mcp_use/auth/oauth_callback.py,sha256=6kLYBL9M-CoOZ_HX6ezgcVCbRk1RBnBXpCNaamCFazk,726
|
|
41
|
+
mcp_use/client/__init__.py,sha256=KJzHv7qafMFqE38TGAowled4Ka3dWvqq80GEQfx99JI,30
|
|
42
|
+
mcp_use/client/client.py,sha256=TKDoKKusVkRqZzqh_B2xBMsHLOLbFgic3I4t2ZJEqJg,13072
|
|
43
|
+
mcp_use/client/config.py,sha256=bnPXOno47VfEGGdDeOwyJZlr7gXw1KInABoRhiZ4_fw,3837
|
|
44
|
+
mcp_use/client/exceptions.py,sha256=PuzPj_Ov4oYJ8ny8BC6S1b9RRy39gtRotDhIaMulxQE,468
|
|
45
|
+
mcp_use/client/session.py,sha256=DPud5dMil3lJq9pUQq4z9IpWCy_xRmpzKeCVLVzNKp8,5031
|
|
46
|
+
mcp_use/client/auth/__init__.py,sha256=TBNMvgRDp-lC3n2f0UB6kZUZlJ35SYRBVDt3hadpvXI,138
|
|
47
|
+
mcp_use/client/auth/bearer.py,sha256=wgG3_TZDNoqo7hnezLHqOZpsWFOAXTxFbIg6t1qemQ8,678
|
|
48
|
+
mcp_use/client/auth/oauth.py,sha256=HU1sxo74L-0Gf-VbK4FmSrZKoxkJg4bW50emUakYBoE,27801
|
|
49
|
+
mcp_use/client/auth/oauth_callback.py,sha256=z1kvAdxijaYcLesnwXGQC9KrnbDV-FGnRLaAcykZLjQ,7520
|
|
50
|
+
mcp_use/client/connectors/__init__.py,sha256=cUF4yT0bNr8qeLkSzg28SHueiV5qDaHEB1l1GZ2K0dc,536
|
|
51
|
+
mcp_use/client/connectors/base.py,sha256=R5NbN_NGuJnT82cGMweOaAdA5g6mZnsN4KyqG0_XffE,18687
|
|
52
|
+
mcp_use/client/connectors/http.py,sha256=LFk8QLx4GBYWe7lYWHXfC8HH97lOSFAJRuhW7XlkLY8,13742
|
|
53
|
+
mcp_use/client/connectors/sandbox.py,sha256=ukCGi50ZplmKViW8WagoyoznuugMETlgvilGGR9LcP0,12827
|
|
54
|
+
mcp_use/client/connectors/stdio.py,sha256=Iy3mQ08T0DI-ufArM7F2kavy8rCsrk96P-UJiaUQjUM,4129
|
|
55
|
+
mcp_use/client/connectors/utils.py,sha256=zQ8GdNQx0Twz3by90BoU1RsWPf9wODGof4K3-NxPXeA,366
|
|
56
|
+
mcp_use/client/connectors/websocket.py,sha256=-fcXsLJtJ5xVa46AiXdpj_Echbzet_1XZoSbi8lwEf0,10169
|
|
57
|
+
mcp_use/client/middleware/__init__.py,sha256=p9cTU5ZdeHys7RnhRh-y2-kc5OjPj3cL_Yk3kbl5Vqw,1354
|
|
58
|
+
mcp_use/client/middleware/logging.py,sha256=Q-sDUFHZkmgxZxF8CWOal9CsOOs4EBlITxIQO3CkqHc,1184
|
|
59
|
+
mcp_use/client/middleware/metrics.py,sha256=NnsP0n1Ta-hnCxPFvdlQAFi5D1BCGvkl1MepaGd5-Vo,13203
|
|
60
|
+
mcp_use/client/middleware/middleware.py,sha256=08H79bufrA3pS0DN3SRbMbfUh6NO7iCdHokkSBvvrfg,9770
|
|
61
|
+
mcp_use/client/task_managers/__init__.py,sha256=LkXOjiDq5JcyB2tNJuSzyjbxZTl1Ordr_NKKD77Nb7g,557
|
|
62
|
+
mcp_use/client/task_managers/base.py,sha256=1Yu4QUWBdOqDzIS0QNh1l_sQpWvqMFPYPWmmHkq6d6Q,4654
|
|
63
|
+
mcp_use/client/task_managers/sse.py,sha256=H2cqSXUjtUZ-_9bX-7lh_0wfuS03ZtxNrVtSZ2RMyGY,2597
|
|
64
|
+
mcp_use/client/task_managers/stdio.py,sha256=qKKr1rqISrJLVbFLdVaYwovm5vUqBkpdCmebkrkueHw,2164
|
|
65
|
+
mcp_use/client/task_managers/streamable_http.py,sha256=BxgFLAnRUPDKijjSMcqWVfWiBinUexBMb4SdzzyPBvM,2889
|
|
66
|
+
mcp_use/client/task_managers/websocket.py,sha256=MCe_TS2xu42YK_RbSZLoEsKs7L1WpR7sdaBz5rXuc1M,2188
|
|
67
|
+
mcp_use/connectors/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
|
+
mcp_use/connectors/__init__.py,sha256=AILLEsQuwi1P9hjSn7Gbh6g-2ab3mXQEAZapbLXVmSE,1219
|
|
69
|
+
mcp_use/connectors/base.py,sha256=n-d0yHA6trrADzaUHZA6zk_p5yauBpKqTDZ5-I1GJEA,471
|
|
70
|
+
mcp_use/connectors/http.py,sha256=tfxHsuBZRu76HdMUQFrRiQpYug9bo5x77RM9iI08BOI,471
|
|
71
|
+
mcp_use/connectors/sandbox.py,sha256=Rz8m6r3RCO-meJNhafGj7eD86SnLQQeVYgNtyfZB3nI,501
|
|
72
|
+
mcp_use/connectors/stdio.py,sha256=ls5OBl3OUW0kkXag0_z-530LKgll6xt8uS8jvwqJ_vQ,481
|
|
73
|
+
mcp_use/connectors/utils.py,sha256=mE5jRP3rV2KIt_LvBxg42zqihvcXpz_n2UJa4gV9eSk,567
|
|
74
|
+
mcp_use/connectors/websocket.py,sha256=Q5B69AfXyA_mZc8s1kZZzCbTurjZLAaEutm1pMIYN2E,521
|
|
75
|
+
mcp_use/errors/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
76
|
+
mcp_use/errors/error_formatting.py,sha256=17lhj5goGHuTbJ5oLCUXyJ2SuIbzsuSM1Wk8LPeqY9k,911
|
|
77
|
+
mcp_use/managers/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
78
|
+
mcp_use/managers/__init__.py,sha256=N5iDLaNOXEowp9Cp7YsuWtIoFoR2YhpKlpTXcptxD6I,1700
|
|
79
|
+
mcp_use/managers/base.py,sha256=5oHTD29MHrgfbqC6b1Za6ndGf4cnOdboFfyr90QRo18,481
|
|
80
|
+
mcp_use/managers/server_manager.py,sha256=TbWcxoOTV3IN8FPRBDyvpYYTJWR42acBQ1MpxS5a-wg,511
|
|
81
|
+
mcp_use/managers/tools/__init__.py,sha256=AlBiKWRNkbf0neyMj95TSvC0zGO1ECncMdi6EahkWfY,1318
|
|
82
|
+
mcp_use/managers/tools/base_tool.py,sha256=sohFFzlfKA9bUZ-CtuZytf7EW1z4GM7MoIUV9FxO32Y,280
|
|
83
|
+
mcp_use/managers/tools/connect_server.py,sha256=OvKWKhgqotnTnmU2CcmzhTmc6CkbIfRCztV_zZsg218,315
|
|
84
|
+
mcp_use/managers/tools/disconnect_server.py,sha256=f-ThxEhVvba8SnsFIxt4MeGCufBoB1Itidjhq53_nD0,339
|
|
85
|
+
mcp_use/managers/tools/get_active_server.py,sha256=6msUfr-uabkFbB3lPKu8hcs_nO9EF6JIlLu-GnUQ0cE,334
|
|
86
|
+
mcp_use/managers/tools/list_servers_tool.py,sha256=xFuDD5B4RgxuwRBuXVn0CoR6h6cx87wsU-acD8b1SrU,314
|
|
87
|
+
mcp_use/managers/tools/search_tools.py,sha256=kYtRuUIawugATYuLXDS2sIpyv2bJrLiKLQO3U3L1AFA,763
|
|
88
|
+
mcp_use/middleware/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
|
+
mcp_use/middleware/__init__.py,sha256=imBkKYNUT5pZvt9AkU6JoUSREGxLhhU6wQleA5mTNiE,2668
|
|
90
|
+
mcp_use/middleware/logging.py,sha256=T2B4WxEcnSfNQiG9s97swkfPAAUNsDbqcRhlmsKhdO8,589
|
|
91
|
+
mcp_use/middleware/metrics.py,sha256=ky7jokRD30QM0Gl1IulFwzcsFPCXiSuRFs_8UGz1Vr8,1301
|
|
92
|
+
mcp_use/middleware/middleware.py,sha256=5o-le09nko9nlhWGkNab_0OSVBn5jxVKf-NjrHrTTmA,1615
|
|
93
|
+
mcp_use/task_managers/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
|
+
mcp_use/task_managers/__init__.py,sha256=wLyZgkCRooIDTcX871cr-jHVm-e5kutIThxz17eSNf0,1482
|
|
95
|
+
mcp_use/task_managers/base.py,sha256=cAP6PA_RMjA1rw-2-tnpya96HbKWkEkQibmgkeZfNUA,506
|
|
96
|
+
mcp_use/task_managers/sse.py,sha256=2W3o737M96ZFVhB2pxd-SrJ4mrmTaKDm_OdklseEy3Y,516
|
|
97
|
+
mcp_use/task_managers/stdio.py,sha256=JS6jAzsPEuzriuQ-Sib4WW1rsUgxMYZkUwN6BVhiFt4,536
|
|
98
|
+
mcp_use/task_managers/streamable_http.py,sha256=NiyYHZ5fLgqYNvFEoWLzLQw9AByscnPWBG4k-whLfZ8,640
|
|
99
|
+
mcp_use/task_managers/websocket.py,sha256=cis-KJFccCi55rvk-FVlKFtncGNnm8QiNcpwzuaBEM8,576
|
|
100
|
+
mcp_use/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
|
+
mcp_use/telemetry/events.py,sha256=4u-PWeg03jozG9rLunDB7JHtFmmesgu3J8aRAq93qAU,4706
|
|
102
|
+
mcp_use/telemetry/telemetry.py,sha256=uCOGRDNTyDfyvBGypGUpTk9-IGOe2P7CbUQjPlnkQ9Y,14082
|
|
103
|
+
mcp_use/telemetry/utils.py,sha256=kDVTqt2oSeWNJbnTOlXOehr2yFO0PMyx2UGkrWkfJiw,1769
|
|
104
|
+
mcp_use/types/.deprecated,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
mcp_use/types/sandbox.py,sha256=gaZaLE-i6rftaIF-OYyMDc1W6Il-g4MpFbCD1IdyBPg,481
|
|
106
|
+
mcp_use-1.3.13.dist-info/METADATA,sha256=yK1PivxyzBFS0E6CNTA5VM3zabrzTjVAl0GsGeKBQNA,35387
|
|
107
|
+
mcp_use-1.3.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
108
|
+
mcp_use-1.3.13.dist-info/entry_points.txt,sha256=3jzEN6xbVsMErm_cxlHpCzvM97gFgjvtOEEspUp1vK8,45
|
|
109
|
+
mcp_use-1.3.13.dist-info/RECORD,,
|