langchain-mcp-tools 0.0.10__py3-none-any.whl → 0.0.12__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.
@@ -38,8 +38,9 @@ The key aspects are:
38
38
 
39
39
  1. Core Challenge:
40
40
  - Async resources management for `stdio_client` and `ClientSession` seems
41
- to rely exclusively on `asynccontextmanager` for cleanup with no manual
42
- cleanup options (based on the mcp python-sdk impl as of Jan 14, 2025)
41
+ to require relying exclusively on `asynccontextmanager` for cleanup with
42
+ no manual cleanup options
43
+ (based on [the mcp python-sdk impl as of Jan 14, 2025](https://github.com/modelcontextprotocol/python-sdk/tree/99727a9/src/mcp/client))
43
44
  - Initializing multiple MCP servers in parallel requires a dedicated
44
45
  `asyncio.Task` per server
45
46
  - Necessity of keeping sessions alive for later use after initialization
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: langchain-mcp-tools
3
- Version: 0.0.10
3
+ Version: 0.0.12
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
@@ -18,6 +18,10 @@ Requires-Dist: mcp>=1.2.0
18
18
  Requires-Dist: pyjson5>=1.6.8
19
19
  Requires-Dist: pympler>=1.1
20
20
  Requires-Dist: python-dotenv>=1.0.1
21
+ Requires-Dist: pytest>=8.3.4
22
+ Requires-Dist: pytest-asyncio>=0.25.2
23
+ Provides-Extra: dev
24
+ Requires-Dist: twine>=6.0.1; extra == "dev"
21
25
 
22
26
  # MCP To LangChain Tools Conversion Utility [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/hideya/langchain-mcp-tools-py/blob/main/LICENSE) [![pypi version](https://img.shields.io/pypi/v/langchain-mcp-tools.svg)](https://pypi.org/project/langchain-mcp-tools/)
23
27
 
@@ -25,7 +29,7 @@ This package is intended to simplify the use of
25
29
  [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
26
30
  server tools with LangChain / Python.
27
31
 
28
- It contains a utility function `convertMcpToLangchainTools()`.
32
+ It contains a utility function `convert_mcp_to_langchain_tools()`.
29
33
  This function handles parallel initialization of specified multiple MCP servers
30
34
  and converts their available tools into a list of
31
35
  [LangChain-compatible tools](https://js.langchain.com/docs/how_to/tool_calling/).
@@ -108,14 +112,17 @@ to work successfully...
108
112
 
109
113
  I'm new to Python, so it is very possible that my ignorance is playing
110
114
  a big role here...
111
- I'll summarize the difficulties I faced below.
115
+ I'll summarize the difficulties I faced below.
116
+ The source code is available
117
+ [here](https://github.com/hideya/langchain-mcp-tools-py/blob/main/langchain_mcp_tools/langchain_mcp_tools.py).
112
118
  Any comments pointing out something I am missing would be greatly appreciated!
113
119
  [(comment here)](https://github.com/hideya/langchain-mcp-tools-ts/issues)
114
120
 
115
121
  1. Core Challenge:
116
122
  - Async resources management for `stdio_client` and `ClientSession` seems
117
- to rely exclusively on `asynccontextmanager` for cleanup with no manual
118
- cleanup options (based on the mcp python-sdk impl as of Jan 14, 2025)
123
+ to require relying exclusively on `asynccontextmanager` for cleanup with
124
+ no manual cleanup options
125
+ (based on [the mcp python-sdk impl as of Jan 14, 2025](https://github.com/modelcontextprotocol/python-sdk/tree/99727a9/src/mcp/client))
119
126
  - Initializing multiple MCP servers in parallel requires a dedicated
120
127
  `asyncio.Task` per server
121
128
  - Necessity of keeping sessions alive for later use 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=eCIYvlHhllbdLTOhNOVik8mbXEKxjI6ml4k5WMYyTF0,10533
3
+ langchain_mcp_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ langchain_mcp_tools-0.0.12.dist-info/LICENSE,sha256=CRC91e8v116gCpnp7h49oIa6_zjhxqnHFTREeoZFJwA,1072
5
+ langchain_mcp_tools-0.0.12.dist-info/METADATA,sha256=GEuZxj_lQBBzdCSEU6OrV-ju8bMhWXyIV9bvtp1HUio,6934
6
+ langchain_mcp_tools-0.0.12.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
7
+ langchain_mcp_tools-0.0.12.dist-info/top_level.txt,sha256=aR_9V2A1Yt-Bca60KmndmGLUWb2wiM5IOG-Gkaf1dxY,20
8
+ langchain_mcp_tools-0.0.12.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=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,,