langchain-mcp-tools 0.0.8__py3-none-any.whl → 0.0.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.
- langchain_mcp_tools/langchain_mcp_tools.py +6 -7
- {langchain_mcp_tools-0.0.8.dist-info → langchain_mcp_tools-0.0.10.dist-info}/METADATA +10 -11
- langchain_mcp_tools-0.0.10.dist-info/RECORD +8 -0
- langchain_mcp_tools-0.0.8.dist-info/RECORD +0 -8
- {langchain_mcp_tools-0.0.8.dist-info → langchain_mcp_tools-0.0.10.dist-info}/LICENSE +0 -0
- {langchain_mcp_tools-0.0.8.dist-info → langchain_mcp_tools-0.0.10.dist-info}/WHEEL +0 -0
- {langchain_mcp_tools-0.0.8.dist-info → langchain_mcp_tools-0.0.10.dist-info}/top_level.txt +0 -0
@@ -47,9 +47,9 @@ The key aspects are:
|
|
47
47
|
|
48
48
|
2. Solution Strategy:
|
49
49
|
A key requirement for parallel initialization is that each server must be
|
50
|
-
initialized in its own dedicated task - there's no way around this
|
51
|
-
|
52
|
-
|
50
|
+
initialized in its own dedicated task - there's no way around this as far
|
51
|
+
as I understand. However, this creates a challenge since we also need to
|
52
|
+
maintain long-lived sessions and handle cleanup properly.
|
53
53
|
|
54
54
|
The key insight is to keep the initialization tasks alive throughout the
|
55
55
|
session lifetime, rather than letting them complete after initialization.
|
@@ -272,16 +272,15 @@ async def convert_mcp_to_langchain_tools(
|
|
272
272
|
))
|
273
273
|
tasks.append(task)
|
274
274
|
|
275
|
-
for
|
276
|
-
await ready_event.wait()
|
275
|
+
await asyncio.gather(*(event.wait() for event in ready_event_list))
|
277
276
|
|
278
277
|
langchain_tools = [
|
279
278
|
item for sublist in per_server_tools for item in sublist
|
280
279
|
]
|
281
280
|
|
282
281
|
async def mcp_cleanup() -> None:
|
283
|
-
for
|
284
|
-
|
282
|
+
for event in cleanup_event_list:
|
283
|
+
event.set()
|
285
284
|
|
286
285
|
logger.info(f'MCP servers initialized: {len(langchain_tools)} tool(s) '
|
287
286
|
f'available in total')
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: langchain-mcp-tools
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.10
|
4
4
|
Summary: Model Context Protocol (MCP) To LangChain Tools Conversion Utility
|
5
5
|
Project-URL: Bug Tracker, https://github.com/hideya/langchain-mcp-tools-py/issues
|
6
6
|
Project-URL: Source Code, https://github.com/hideya/langchain-mcp-tools-py
|
@@ -27,7 +27,7 @@ server tools with LangChain / Python.
|
|
27
27
|
|
28
28
|
It contains a utility function `convertMcpToLangchainTools()`.
|
29
29
|
This function handles parallel initialization of specified multiple MCP servers
|
30
|
-
and converts their available tools into
|
30
|
+
and converts their available tools into a list of
|
31
31
|
[LangChain-compatible tools](https://js.langchain.com/docs/how_to/tool_calling/).
|
32
32
|
|
33
33
|
A typescript equivalent of this utility library is available
|
@@ -90,15 +90,13 @@ The returned tools can be used with LangChain, e.g.:
|
|
90
90
|
tools
|
91
91
|
)
|
92
92
|
```
|
93
|
-
|
94
|
-
[here](https://github.com/hideya/langchain-mcp-tools-
|
93
|
+
A simple and experimentable usage example can be found
|
94
|
+
[here](https://github.com/hideya/langchain-mcp-tools-py-usage/blob/main/src/example.py)
|
95
95
|
|
96
|
-
|
97
|
-
[here](https://github.com/hideya/langchain-mcp-client-ts) -->
|
98
|
-
|
99
|
-
An usage example can be found
|
96
|
+
A more realistic usage example can be found
|
100
97
|
[here](https://github.com/hideya/mcp-client-langchain-py)
|
101
98
|
|
99
|
+
|
102
100
|
## Limitations
|
103
101
|
|
104
102
|
Currently, only text results of tool calls are supported.
|
@@ -124,10 +122,11 @@ Any comments pointing out something I am missing would be greatly appreciated!
|
|
124
122
|
- Ensuring proper cleanup later in the same task that created them
|
125
123
|
|
126
124
|
2. Solution Strategy:
|
125
|
+
|
127
126
|
A key requirement for parallel initialization is that each server must be
|
128
|
-
initialized in its own dedicated task - there's no way around this
|
129
|
-
|
130
|
-
|
127
|
+
initialized in its own dedicated task - there's no way around this as far
|
128
|
+
as I understand. However, this creates a challenge since we also need to
|
129
|
+
maintain long-lived sessions and handle cleanup properly.
|
131
130
|
|
132
131
|
The key insight is to keep the initialization tasks alive throughout the
|
133
132
|
session lifetime, rather than letting them complete after initialization.
|
@@ -0,0 +1,8 @@
|
|
1
|
+
langchain_mcp_tools/__init__.py,sha256=Xtv2VphhrWB_KlxTIofHZqtCIGtNEl0MxugnrNXTERA,94
|
2
|
+
langchain_mcp_tools/langchain_mcp_tools.py,sha256=3ADNzNpNXg8mhg9d6L4_6xMvz7QtG56yul61PZAnyZ0,10435
|
3
|
+
langchain_mcp_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
+
langchain_mcp_tools-0.0.10.dist-info/LICENSE,sha256=CRC91e8v116gCpnp7h49oIa6_zjhxqnHFTREeoZFJwA,1072
|
5
|
+
langchain_mcp_tools-0.0.10.dist-info/METADATA,sha256=PeIBp_w02pJ8HzWhl-0Q-VPw9AA4zwmXeNqypdPCf7o,6561
|
6
|
+
langchain_mcp_tools-0.0.10.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
7
|
+
langchain_mcp_tools-0.0.10.dist-info/top_level.txt,sha256=aR_9V2A1Yt-Bca60KmndmGLUWb2wiM5IOG-Gkaf1dxY,20
|
8
|
+
langchain_mcp_tools-0.0.10.dist-info/RECORD,,
|
@@ -1,8 +0,0 @@
|
|
1
|
-
langchain_mcp_tools/__init__.py,sha256=Xtv2VphhrWB_KlxTIofHZqtCIGtNEl0MxugnrNXTERA,94
|
2
|
-
langchain_mcp_tools/langchain_mcp_tools.py,sha256=jJbwvSbE8NfRc7r1JcFEHkyp2Zj9doq7Y3obo9ytHZ0,10470
|
3
|
-
langchain_mcp_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
langchain_mcp_tools-0.0.8.dist-info/LICENSE,sha256=CRC91e8v116gCpnp7h49oIa6_zjhxqnHFTREeoZFJwA,1072
|
5
|
-
langchain_mcp_tools-0.0.8.dist-info/METADATA,sha256=e-PtwpHQJL-ztgqgJC91HXTAkK5GisZQCTQ7OIJGMHQ,6682
|
6
|
-
langchain_mcp_tools-0.0.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
7
|
-
langchain_mcp_tools-0.0.8.dist-info/top_level.txt,sha256=aR_9V2A1Yt-Bca60KmndmGLUWb2wiM5IOG-Gkaf1dxY,20
|
8
|
-
langchain_mcp_tools-0.0.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|