mcp-use 1.3.9__py3-none-any.whl → 1.3.10__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 +6 -2
- mcp_use/agents/mcpagent.py +101 -17
- mcp_use/agents/remote.py +50 -19
- mcp_use/cli.py +581 -0
- mcp_use/logging.py +27 -12
- mcp_use/managers/base.py +36 -0
- mcp_use/managers/server_manager.py +2 -1
- mcp_use/observability/__init__.py +2 -1
- mcp_use/observability/callbacks_manager.py +162 -0
- mcp_use/observability/laminar.py +24 -3
- mcp_use/observability/langfuse.py +27 -3
- {mcp_use-1.3.9.dist-info → mcp_use-1.3.10.dist-info}/METADATA +15 -14
- {mcp_use-1.3.9.dist-info → mcp_use-1.3.10.dist-info}/RECORD +16 -12
- mcp_use-1.3.10.dist-info/entry_points.txt +2 -0
- {mcp_use-1.3.9.dist-info → mcp_use-1.3.10.dist-info}/WHEEL +0 -0
- {mcp_use-1.3.9.dist-info → mcp_use-1.3.10.dist-info}/licenses/LICENSE +0 -0
|
@@ -4,5 +4,6 @@ from dotenv import load_dotenv
|
|
|
4
4
|
load_dotenv()
|
|
5
5
|
|
|
6
6
|
from . import laminar, langfuse # noqa
|
|
7
|
+
from .callbacks_manager import ObservabilityManager, get_default_manager, create_manager # noqa
|
|
7
8
|
|
|
8
|
-
__all__ = ["laminar", "langfuse"]
|
|
9
|
+
__all__ = ["laminar", "langfuse", "ObservabilityManager", "get_default_manager", "create_manager"]
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Observability callbacks manager for MCP-use.
|
|
3
|
+
|
|
4
|
+
This module provides a centralized manager for handling observability callbacks
|
|
5
|
+
from various platforms (Langfuse, Laminar, etc.) in a clean and extensible way.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import logging
|
|
9
|
+
|
|
10
|
+
logger = logging.getLogger(__name__)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ObservabilityManager:
|
|
14
|
+
"""
|
|
15
|
+
Manages observability callbacks for MCP agents.
|
|
16
|
+
|
|
17
|
+
This class provides a centralized way to collect and manage callbacks
|
|
18
|
+
from various observability platforms (Langfuse, Laminar, etc.).
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
def __init__(self, custom_callbacks: list | None = None):
|
|
22
|
+
"""
|
|
23
|
+
Initialize the ObservabilityManager.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
custom_callbacks: Optional list of custom callbacks to use instead of defaults.
|
|
27
|
+
"""
|
|
28
|
+
self.custom_callbacks = custom_callbacks
|
|
29
|
+
self._available_handlers = []
|
|
30
|
+
self._handler_names = []
|
|
31
|
+
self._initialized = False
|
|
32
|
+
|
|
33
|
+
def _collect_available_handlers(self) -> None:
|
|
34
|
+
"""Collect all available observability handlers from configured platforms."""
|
|
35
|
+
if self._initialized:
|
|
36
|
+
return
|
|
37
|
+
|
|
38
|
+
# Import handlers lazily to avoid circular imports
|
|
39
|
+
try:
|
|
40
|
+
from .langfuse import langfuse_handler
|
|
41
|
+
|
|
42
|
+
if langfuse_handler is not None:
|
|
43
|
+
self._available_handlers.append(langfuse_handler)
|
|
44
|
+
self._handler_names.append("Langfuse")
|
|
45
|
+
logger.debug("ObservabilityManager: Langfuse handler available")
|
|
46
|
+
except ImportError:
|
|
47
|
+
logger.debug("ObservabilityManager: Langfuse module not available")
|
|
48
|
+
|
|
49
|
+
try:
|
|
50
|
+
from .laminar import laminar_initialized
|
|
51
|
+
|
|
52
|
+
if laminar_initialized:
|
|
53
|
+
# Laminar is initialized with automatic instrumentation only
|
|
54
|
+
self._handler_names.append("Laminar (auto-instrumentation)")
|
|
55
|
+
logger.debug("ObservabilityManager: Laminar auto-instrumentation active")
|
|
56
|
+
except ImportError:
|
|
57
|
+
logger.debug("ObservabilityManager: Laminar module not available")
|
|
58
|
+
|
|
59
|
+
# Future: Add more platforms here...
|
|
60
|
+
|
|
61
|
+
self._initialized = True
|
|
62
|
+
|
|
63
|
+
def get_callbacks(self) -> list:
|
|
64
|
+
"""
|
|
65
|
+
Get the list of callbacks to use.
|
|
66
|
+
|
|
67
|
+
Returns:
|
|
68
|
+
List of callbacks - either custom callbacks if provided,
|
|
69
|
+
or all available observability handlers.
|
|
70
|
+
"""
|
|
71
|
+
# If custom callbacks were provided, use those
|
|
72
|
+
if self.custom_callbacks is not None:
|
|
73
|
+
logger.debug(f"ObservabilityManager: Using {len(self.custom_callbacks)} custom callbacks")
|
|
74
|
+
return self.custom_callbacks
|
|
75
|
+
|
|
76
|
+
# Otherwise, collect and return all available handlers
|
|
77
|
+
self._collect_available_handlers()
|
|
78
|
+
|
|
79
|
+
if self._available_handlers:
|
|
80
|
+
logger.debug(f"ObservabilityManager: Using {len(self._available_handlers)} handlers")
|
|
81
|
+
else:
|
|
82
|
+
logger.debug("ObservabilityManager: No callbacks configured")
|
|
83
|
+
|
|
84
|
+
return self._available_handlers
|
|
85
|
+
|
|
86
|
+
def get_handler_names(self) -> list[str]:
|
|
87
|
+
"""
|
|
88
|
+
Get the names of available handlers.
|
|
89
|
+
|
|
90
|
+
Returns:
|
|
91
|
+
List of handler names (e.g., ["Langfuse", "Laminar"])
|
|
92
|
+
"""
|
|
93
|
+
if self.custom_callbacks is not None:
|
|
94
|
+
# For custom callbacks, try to get their class names
|
|
95
|
+
return [type(cb).__name__ for cb in self.custom_callbacks]
|
|
96
|
+
|
|
97
|
+
self._collect_available_handlers()
|
|
98
|
+
return self._handler_names
|
|
99
|
+
|
|
100
|
+
def has_callbacks(self) -> bool:
|
|
101
|
+
"""
|
|
102
|
+
Check if any callbacks are available.
|
|
103
|
+
|
|
104
|
+
Returns:
|
|
105
|
+
True if callbacks are available, False otherwise.
|
|
106
|
+
"""
|
|
107
|
+
callbacks = self.get_callbacks()
|
|
108
|
+
return len(callbacks) > 0
|
|
109
|
+
|
|
110
|
+
def add_callback(self, callback) -> None:
|
|
111
|
+
"""
|
|
112
|
+
Add a callback to the custom callbacks list.
|
|
113
|
+
|
|
114
|
+
Args:
|
|
115
|
+
callback: The callback to add.
|
|
116
|
+
"""
|
|
117
|
+
if self.custom_callbacks is None:
|
|
118
|
+
self.custom_callbacks = []
|
|
119
|
+
self.custom_callbacks.append(callback)
|
|
120
|
+
logger.debug(f"ObservabilityManager: Added custom callback: {type(callback).__name__}")
|
|
121
|
+
|
|
122
|
+
def clear_callbacks(self) -> None:
|
|
123
|
+
"""Clear all custom callbacks."""
|
|
124
|
+
self.custom_callbacks = []
|
|
125
|
+
logger.debug("ObservabilityManager: Cleared all custom callbacks")
|
|
126
|
+
|
|
127
|
+
def __repr__(self) -> str:
|
|
128
|
+
"""String representation of the ObservabilityManager."""
|
|
129
|
+
handler_names = self.get_handler_names()
|
|
130
|
+
if handler_names:
|
|
131
|
+
return f"ObservabilityManager(handlers={handler_names})"
|
|
132
|
+
return "ObservabilityManager(no handlers)"
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
# Singleton instance for easy access
|
|
136
|
+
_default_manager = None
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def get_default_manager() -> ObservabilityManager:
|
|
140
|
+
"""
|
|
141
|
+
Get the default ObservabilityManager instance.
|
|
142
|
+
|
|
143
|
+
Returns:
|
|
144
|
+
The default ObservabilityManager instance (singleton).
|
|
145
|
+
"""
|
|
146
|
+
global _default_manager
|
|
147
|
+
if _default_manager is None:
|
|
148
|
+
_default_manager = ObservabilityManager()
|
|
149
|
+
return _default_manager
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def create_manager(custom_callbacks: list | None = None) -> ObservabilityManager:
|
|
153
|
+
"""
|
|
154
|
+
Create a new ObservabilityManager instance.
|
|
155
|
+
|
|
156
|
+
Args:
|
|
157
|
+
custom_callbacks: Optional list of custom callbacks.
|
|
158
|
+
|
|
159
|
+
Returns:
|
|
160
|
+
A new ObservabilityManager instance.
|
|
161
|
+
"""
|
|
162
|
+
return ObservabilityManager(custom_callbacks=custom_callbacks)
|
mcp_use/observability/laminar.py
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Laminar observability integration for MCP-use.
|
|
3
|
+
|
|
4
|
+
This module provides automatic instrumentation for Laminar AI observability platform.
|
|
5
|
+
"""
|
|
6
|
+
|
|
1
7
|
import logging
|
|
2
8
|
import os
|
|
3
9
|
|
|
@@ -6,6 +12,9 @@ logger = logging.getLogger(__name__)
|
|
|
6
12
|
# Check if Laminar is disabled via environment variable
|
|
7
13
|
_laminar_disabled = os.getenv("MCP_USE_LAMINAR", "").lower() == "false"
|
|
8
14
|
|
|
15
|
+
# Track if Laminar is initialized for other modules to check
|
|
16
|
+
laminar_initialized = False
|
|
17
|
+
|
|
9
18
|
# Only initialize if not disabled and API key is present
|
|
10
19
|
if _laminar_disabled:
|
|
11
20
|
logger.debug("Laminar tracing disabled via MCP_USE_LAMINAR environment variable")
|
|
@@ -13,9 +22,21 @@ elif not os.getenv("LAMINAR_PROJECT_API_KEY"):
|
|
|
13
22
|
logger.debug("Laminar API key not found - tracing disabled. Set LAMINAR_PROJECT_API_KEY to enable")
|
|
14
23
|
else:
|
|
15
24
|
try:
|
|
16
|
-
from lmnr import Laminar
|
|
25
|
+
from lmnr import Instruments, Laminar
|
|
26
|
+
|
|
27
|
+
# Initialize Laminar with LangChain instrumentation
|
|
28
|
+
logger.debug("Laminar: Initializing automatic instrumentation for LangChain")
|
|
29
|
+
|
|
30
|
+
# Initialize with specific instruments
|
|
31
|
+
instruments = {Instruments.LANGCHAIN, Instruments.OPENAI}
|
|
32
|
+
logger.debug(f"Laminar: Enabling instruments: {[i.name for i in instruments]}")
|
|
33
|
+
|
|
34
|
+
Laminar.initialize(project_api_key=os.getenv("LAMINAR_PROJECT_API_KEY"), instruments=instruments)
|
|
35
|
+
|
|
36
|
+
laminar_initialized = True
|
|
37
|
+
logger.debug("Laminar observability initialized successfully with LangChain instrumentation")
|
|
17
38
|
|
|
18
|
-
Laminar.initialize(project_api_key=os.getenv("LAMINAR_PROJECT_API_KEY"))
|
|
19
|
-
logger.debug("Laminar observability initialized successfully")
|
|
20
39
|
except ImportError:
|
|
21
40
|
logger.debug("Laminar package not installed - tracing disabled. Install with: pip install lmnr")
|
|
41
|
+
except Exception as e:
|
|
42
|
+
logger.error(f"Failed to initialize Laminar: {e}")
|
|
@@ -20,15 +20,39 @@ elif not os.getenv("LANGFUSE_PUBLIC_KEY") or not os.getenv("LANGFUSE_SECRET_KEY"
|
|
|
20
20
|
else:
|
|
21
21
|
try:
|
|
22
22
|
from langfuse import Langfuse
|
|
23
|
-
from langfuse.langchain import CallbackHandler
|
|
23
|
+
from langfuse.langchain import CallbackHandler as LangfuseCallbackHandler
|
|
24
|
+
|
|
25
|
+
# Create a custom CallbackHandler wrapper to add logging
|
|
26
|
+
class LoggingCallbackHandler(LangfuseCallbackHandler):
|
|
27
|
+
"""Custom Langfuse CallbackHandler that logs intercepted requests."""
|
|
28
|
+
|
|
29
|
+
def on_llm_start(self, *args, **kwargs):
|
|
30
|
+
"""Log when an LLM request is intercepted."""
|
|
31
|
+
logger.debug(f"Langfuse: LLM start args: {args}, kwargs: {kwargs}")
|
|
32
|
+
return super().on_llm_start(*args, **kwargs)
|
|
33
|
+
|
|
34
|
+
def on_chain_start(self, *args, **kwargs):
|
|
35
|
+
"""Log when a chain request is intercepted."""
|
|
36
|
+
logger.debug(f"Langfuse: Chain start args: {args}, kwargs: {kwargs}")
|
|
37
|
+
return super().on_chain_start(*args, **kwargs)
|
|
38
|
+
|
|
39
|
+
def on_tool_start(self, *args, **kwargs):
|
|
40
|
+
"""Log when a tool request is intercepted."""
|
|
41
|
+
logger.debug(f"Langfuse: Tool start args: {args}, kwargs: {kwargs}")
|
|
42
|
+
return super().on_tool_start(*args, **kwargs)
|
|
43
|
+
|
|
44
|
+
def on_retriever_start(self, *args, **kwargs):
|
|
45
|
+
"""Log when a retriever request is intercepted."""
|
|
46
|
+
logger.debug(f"Langfuse: Retriever start args: {args}, kwargs: {kwargs}")
|
|
47
|
+
return super().on_retriever_start(*args, **kwargs)
|
|
24
48
|
|
|
25
49
|
langfuse = Langfuse(
|
|
26
50
|
public_key=os.getenv("LANGFUSE_PUBLIC_KEY"),
|
|
27
51
|
secret_key=os.getenv("LANGFUSE_SECRET_KEY"),
|
|
28
52
|
host=os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com"),
|
|
29
53
|
)
|
|
30
|
-
langfuse_handler =
|
|
31
|
-
logger.debug("Langfuse observability initialized successfully")
|
|
54
|
+
langfuse_handler = LoggingCallbackHandler()
|
|
55
|
+
logger.debug("Langfuse observability initialized successfully with logging enabled")
|
|
32
56
|
except ImportError:
|
|
33
57
|
logger.debug("Langfuse package not installed - tracing disabled. Install with: pip install langfuse")
|
|
34
58
|
langfuse = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-use
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.10
|
|
4
4
|
Summary: MCP Library for LLMs
|
|
5
5
|
Author-email: Pietro Zullo <pietro.zullo@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -52,13 +52,14 @@ Description-Content-Type: text/markdown
|
|
|
52
52
|
</picture>
|
|
53
53
|
</div>
|
|
54
54
|
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
<div align="center">
|
|
56
|
+
<h2>🎉 <strong>We're LIVE on Product Hunt!</strong> 🎉</h2>
|
|
57
|
+
<p><strong>Support us today and help us reach #1!</strong></p>
|
|
58
|
+
<a href="https://www.producthunt.com/products/mcp-use?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-mcp-use" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1002629&theme=neutral&t=1754609432704" alt="mcp-use - Open source SDK and infra for MCP servers & agents | Product Hunt" style="width: 220px; height: 54px;" width="250" height="54" /></a>
|
|
59
|
+
<p>👆 <em>Click to upvote and leave a comment!</em></p>
|
|
60
|
+
</div>
|
|
58
61
|
|
|
59
|
-
<
|
|
60
|
-
<a href="https://www.producthunt.com/products/mcp-use?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-mcp-use" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1002629&theme=neutral&t=1754609432704" alt="mcp-use - Open source SDK and infra for MCP servers & agents | Product Hunt" style="width: 150px; height: 32px;" width="150" height="32" /></a>
|
|
61
|
-
</p>
|
|
62
|
+
<h1 align="center">🚀 Create MCP Clients and Agents</h1>
|
|
62
63
|
<p align="center">
|
|
63
64
|
<a href="https://github.com/pietrozullo/mcp-use/stargazers" alt="GitHub stars">
|
|
64
65
|
<img src="https://img.shields.io/github/stars/pietrozullo/mcp-use?style=social" /></a>
|
|
@@ -154,7 +155,7 @@ pip install mcp-use
|
|
|
154
155
|
Or install from source:
|
|
155
156
|
|
|
156
157
|
```bash
|
|
157
|
-
git clone https://github.com/
|
|
158
|
+
git clone https://github.com/mcp-use/mcp-use.git
|
|
158
159
|
cd mcp-use
|
|
159
160
|
pip install -e .
|
|
160
161
|
```
|
|
@@ -837,23 +838,23 @@ Thanks to all our amazing contributors!
|
|
|
837
838
|
</tr>
|
|
838
839
|
<tr>
|
|
839
840
|
<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>
|
|
840
|
-
<td>⭐
|
|
841
|
+
<td>⭐ 17384</td>
|
|
841
842
|
</tr>
|
|
842
843
|
<tr>
|
|
843
844
|
<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>
|
|
844
|
-
<td>⭐
|
|
845
|
+
<td>⭐ 131</td>
|
|
845
846
|
</tr>
|
|
846
847
|
<tr>
|
|
847
848
|
<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>
|
|
848
|
-
<td>⭐
|
|
849
|
+
<td>⭐ 100</td>
|
|
849
850
|
</tr>
|
|
850
851
|
<tr>
|
|
851
852
|
<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>
|
|
852
|
-
<td>⭐
|
|
853
|
+
<td>⭐ 78</td>
|
|
853
854
|
</tr>
|
|
854
855
|
<tr>
|
|
855
856
|
<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>
|
|
856
|
-
<td>⭐
|
|
857
|
+
<td>⭐ 64</td>
|
|
857
858
|
</tr>
|
|
858
859
|
<tr>
|
|
859
860
|
<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>
|
|
@@ -869,7 +870,7 @@ Thanks to all our amazing contributors!
|
|
|
869
870
|
</tr>
|
|
870
871
|
<tr>
|
|
871
872
|
<td><img src="https://avatars.githubusercontent.com/u/201161342?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/autometa-dev/whatsapp-mcp-voice-agent"><strong>autometa-dev/whatsapp-mcp-voice-agent</strong></a></td>
|
|
872
|
-
<td>⭐
|
|
873
|
+
<td>⭐ 23</td>
|
|
873
874
|
</tr>
|
|
874
875
|
<tr>
|
|
875
876
|
<td><img src="https://avatars.githubusercontent.com/u/100749943?s=40&v=4" width="20" height="20" style="vertical-align: middle; margin-right: 8px;"> <a href="https://github.com/Deniscartin/mcp-cli"><strong>Deniscartin/mcp-cli</strong></a></td>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
mcp_use/__init__.py,sha256=
|
|
1
|
+
mcp_use/__init__.py,sha256=AEo6p1F4mSHLO3yKVWZbkr3OFuQwTxSYLGrFQkYb4io,1271
|
|
2
|
+
mcp_use/cli.py,sha256=d3_RqN-lca7igS-aZQIdNQidBOILVihyldywcf8GR-c,15602
|
|
2
3
|
mcp_use/client.py,sha256=4WnFrbBBa3YX3brfBgZrhb_OgAT8mMfVzLUHwnnKi8o,11701
|
|
3
4
|
mcp_use/config.py,sha256=yRgUPCMUzkFqROyccG2wjuhGxneCcbgnrHWHQ6z_hoc,3487
|
|
4
|
-
mcp_use/logging.py,sha256=
|
|
5
|
+
mcp_use/logging.py,sha256=bwZEDM3DZDVDVWmFlHCHEDAODix4_y8VSreRk-nRWuo,4971
|
|
5
6
|
mcp_use/session.py,sha256=DpH_z0a3xYemV9yWzlrf-IPZtpR27CI2S-gAm2jbCAc,4700
|
|
6
7
|
mcp_use/utils.py,sha256=QavJcVq2WxUUUCCpPCUeOB5bqIS0FFmpK-RAZkGc6aA,720
|
|
7
8
|
mcp_use/adapters/__init__.py,sha256=-xCrgPThuX7x0PHGFDdjb7M-mgw6QV3sKu5PM7ShnRg,275
|
|
@@ -9,8 +10,8 @@ mcp_use/adapters/base.py,sha256=8XB3xWZ6nJPhhmHwVtHT8-HO0D_9nnxzOkbVDP-fI3k,6940
|
|
|
9
10
|
mcp_use/adapters/langchain_adapter.py,sha256=zGEVMXLj_jpSXUMHOh5u-fxkkrK2zpSibOSGCy_VMr0,11033
|
|
10
11
|
mcp_use/agents/__init__.py,sha256=FzkntihbAqzixWdWe99zIrrcIfd4N3YWltNniutG9VA,267
|
|
11
12
|
mcp_use/agents/base.py,sha256=EN-dRbwOi9vIqofFg3jmi5yT2VKlwEr9Cwi1DZgB3eE,1591
|
|
12
|
-
mcp_use/agents/mcpagent.py,sha256=
|
|
13
|
-
mcp_use/agents/remote.py,sha256=
|
|
13
|
+
mcp_use/agents/mcpagent.py,sha256=cdlGG4-TOzRr4gbzFW0kpirc7AqmRr7rhQCoaDDnpuk,50931
|
|
14
|
+
mcp_use/agents/remote.py,sha256=7wRGX4ucppWvZdSsxJ3TtrPXYrrwGf9oD5j0UtSYitI,14005
|
|
14
15
|
mcp_use/agents/prompts/system_prompt_builder.py,sha256=E86STmxcl2Ic763_114awNqFB2RyLrQlbvgRmJajQjI,4116
|
|
15
16
|
mcp_use/agents/prompts/templates.py,sha256=acg2Q-_uQDL-3q5ZUwwwFrP7wqqf-SEyq0XWDDHt69s,1906
|
|
16
17
|
mcp_use/connectors/__init__.py,sha256=cUF4yT0bNr8qeLkSzg28SHueiV5qDaHEB1l1GZ2K0dc,536
|
|
@@ -23,7 +24,8 @@ mcp_use/connectors/websocket.py,sha256=G7ZeLJNPVl9AG6kCmiNJz1N2Ing_QxT7pSswigTKi
|
|
|
23
24
|
mcp_use/errors/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
24
25
|
mcp_use/errors/error_formatting.py,sha256=17lhj5goGHuTbJ5oLCUXyJ2SuIbzsuSM1Wk8LPeqY9k,911
|
|
25
26
|
mcp_use/managers/__init__.py,sha256=FRTuJw5kYtY1Eo7wN9Aeqeqo1euiR5slvrx5Fl_SGvk,383
|
|
26
|
-
mcp_use/managers/
|
|
27
|
+
mcp_use/managers/base.py,sha256=fJA4ct6GIcACOzmCSQGga1HoHYjsauaMHZsXehCPQNA,1138
|
|
28
|
+
mcp_use/managers/server_manager.py,sha256=uO18wHUKFq3-YVg_S_SlQDbNF2H978BR28C2YU4X86A,5308
|
|
27
29
|
mcp_use/managers/tools/__init__.py,sha256=zcpm4HXsp8NUMRJeyT6DdB8cgIMDs46pBfoTD-odhGU,437
|
|
28
30
|
mcp_use/managers/tools/base_tool.py,sha256=Jbbp7SwmHKDk8jT_6yVIv7iNsn6KaV_PljWuhhLcbXg,509
|
|
29
31
|
mcp_use/managers/tools/connect_server.py,sha256=-PlqgJDSMzairK90aDg1WTDjpqrFMoTiyekwoPDWNrw,2964
|
|
@@ -31,9 +33,10 @@ mcp_use/managers/tools/disconnect_server.py,sha256=dLa5PH-QZ30Dw3n5lzqilyHA8PuQ6
|
|
|
31
33
|
mcp_use/managers/tools/get_active_server.py,sha256=tCaib76gYU3L5G82tEOTq4Io2cuCXWjOjPselb-92i8,964
|
|
32
34
|
mcp_use/managers/tools/list_servers_tool.py,sha256=P_Z96Ab8ELLyo3GQfTMfyemTPJwt0VR1s_iMnWE1GCg,2037
|
|
33
35
|
mcp_use/managers/tools/search_tools.py,sha256=4vso7ln-AfG6lQAMq9FA_CyeVtSEDYEWlHtdHtfnLps,12911
|
|
34
|
-
mcp_use/observability/__init__.py,sha256=
|
|
35
|
-
mcp_use/observability/
|
|
36
|
-
mcp_use/observability/
|
|
36
|
+
mcp_use/observability/__init__.py,sha256=qJR51lpW6lVvhgNnUHBXYN6FKn4kDKbGVHUhPzrx324,348
|
|
37
|
+
mcp_use/observability/callbacks_manager.py,sha256=6jIcE6ofiLRxoi4fECaTlpnllTEFQdwB0IZ0ZkY0WAQ,5324
|
|
38
|
+
mcp_use/observability/laminar.py,sha256=eBY23B8rxQOW5ggHeGB0ZCpCSMnK4rC8fBOvDdbuoq4,1613
|
|
39
|
+
mcp_use/observability/langfuse.py,sha256=kOF05cbSEir7r3fibx_q6TfKzqmbjKLV7uNxBote9XY,2677
|
|
37
40
|
mcp_use/task_managers/__init__.py,sha256=LkXOjiDq5JcyB2tNJuSzyjbxZTl1Ordr_NKKD77Nb7g,557
|
|
38
41
|
mcp_use/task_managers/base.py,sha256=mvLFTVyOfvBWFmkx5l8DZVZUezbhsRARDDfMS2AuFLE,5031
|
|
39
42
|
mcp_use/task_managers/sse.py,sha256=nLKt99OiqoJxFT62zCeNwSZUmdPPg4SD7M1pCEPOa3c,2391
|
|
@@ -45,7 +48,8 @@ mcp_use/telemetry/events.py,sha256=K5xqbmkum30r4gM2PWtTiUWGF8oZzGZw2DYwco1RfOQ,3
|
|
|
45
48
|
mcp_use/telemetry/telemetry.py,sha256=oM_QAbZwOStKkeccvEfKmJLKhL2neFkPn5yM5rL2qHc,11711
|
|
46
49
|
mcp_use/telemetry/utils.py,sha256=kDVTqt2oSeWNJbnTOlXOehr2yFO0PMyx2UGkrWkfJiw,1769
|
|
47
50
|
mcp_use/types/sandbox.py,sha256=opJ9r56F1FvaqVvPovfAj5jZbsOexgwYx5wLgSlN8_U,712
|
|
48
|
-
mcp_use-1.3.
|
|
49
|
-
mcp_use-1.3.
|
|
50
|
-
mcp_use-1.3.
|
|
51
|
-
mcp_use-1.3.
|
|
51
|
+
mcp_use-1.3.10.dist-info/METADATA,sha256=Gs4nltO9zcPhcQVsPKp7yX9FpJRAzGEsgatc0s-yQqw,34338
|
|
52
|
+
mcp_use-1.3.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
53
|
+
mcp_use-1.3.10.dist-info/entry_points.txt,sha256=3jzEN6xbVsMErm_cxlHpCzvM97gFgjvtOEEspUp1vK8,45
|
|
54
|
+
mcp_use-1.3.10.dist-info/licenses/LICENSE,sha256=7Pw7dbwJSBw8zH-WE03JnR5uXvitRtaGTP9QWPcexcs,1068
|
|
55
|
+
mcp_use-1.3.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|