langchain-mcp-tools 0.0.7__py3-none-any.whl → 0.0.9__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.
@@ -43,16 +43,17 @@ The key aspects are:
43
43
  - Initializing multiple MCP servers in parallel requires a dedicated
44
44
  `asyncio.Task` per server
45
45
  - Necessity of keeping sessions alive for later use after initialization
46
- - Ensuring proper cleanup in the same task that created them
46
+ - Ensuring proper cleanup later in the same task that created them
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 if we
51
- want true parallel initialization. However, this creates a challenge since
52
- we also need to maintain long-lived sessions and handle cleanup properly.
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.
56
+
56
57
  By using `asyncio.Event`s for coordination, we can:
57
58
  - Allow parallel initialization while maintaining proper context management
58
59
  - Keep each initialization task running until explicit cleanup is requested
@@ -69,7 +70,9 @@ The key aspects are:
69
70
  called from the same task that created the context
70
71
 
71
72
  3. Task Lifecycle:
73
+
72
74
  To allow the initialization task to stay alive waiting for cleanup:
75
+ ```
73
76
  [Task starts]
74
77
 
75
78
  Initialize server & convert tools
@@ -80,7 +83,7 @@ The key aspects are:
80
83
 
81
84
  When cleanup_event is set:
82
85
  exit_stack.aclose() (cleanup in original task)
83
-
86
+ ```
84
87
  This approach indeed enables parallel initialization while maintaining proper
85
88
  async resource lifecycle management through context managers.
86
89
  However, I'm afraid I'm twisting things around too much.
@@ -89,8 +92,8 @@ It usually means I'm doing something very worng...
89
92
  I think it is a natural assumption that MCP SDK is designed with consideration
90
93
  for parallel server initialization.
91
94
  I'm not sure what I'm missing...
92
- (FYI, with the TypeScript SDK, parallel server initializaion was quite
93
- straight forward)
95
+ (FYI, with the TypeScript MCP SDK, parallel initialization was
96
+ pretty straightforward.
94
97
  """
95
98
 
96
99
 
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
- Name: langchain_mcp_tools
3
- Version: 0.0.7
2
+ Name: langchain-mcp-tools
3
+ Version: 0.0.9
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
@@ -19,7 +19,7 @@ Requires-Dist: pyjson5>=1.6.8
19
19
  Requires-Dist: pympler>=1.1
20
20
  Requires-Dist: python-dotenv>=1.0.1
21
21
 
22
- # MCP To LangChain Tools Conversion Utility [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/hideya/mcp-langchain-client-ts/blob/main/LICENSE) [![pypi version](https://img.shields.io/pypi/v/langchain-mcp-tools.svg)](https://pypi.org/project/langchain-mcp-tools/)
22
+ # 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
23
 
24
24
  This package is intended to simplify the use of
25
25
  [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
@@ -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 an array of
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
- <!-- A simple and experimentable usage example can be found
94
- [here](https://github.com/hideya/langchain-mcp-tools-ts-usage/blob/main/src/index.ts) -->
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
- <!-- A more realistic usage example can be found
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.
@@ -110,7 +108,7 @@ to work successfully...
110
108
 
111
109
  I'm new to Python, so it is very possible that my ignorance is playing
112
110
  a big role here...
113
- I'm summarizing why it was difficult for me below.
111
+ I'll summarize the difficulties I faced below.
114
112
  Any comments pointing out something I am missing would be greatly appreciated!
115
113
  [(comment here)](https://github.com/hideya/langchain-mcp-tools-ts/issues)
116
114
 
@@ -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 if we
129
- want true parallel initialization. However, this creates a challenge since
130
- we also need to maintain long-lived sessions and handle cleanup properly.
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=ysss7r51Adc5reyui2Zw2qB3RtUDRmc0IeEPTKvRHaM,10453
3
+ langchain_mcp_tools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ langchain_mcp_tools-0.0.9.dist-info/LICENSE,sha256=CRC91e8v116gCpnp7h49oIa6_zjhxqnHFTREeoZFJwA,1072
5
+ langchain_mcp_tools-0.0.9.dist-info/METADATA,sha256=0K11Ip9o6CpwjewPP4iZyAjv5Y397yvQvNK5MFinm5A,6560
6
+ langchain_mcp_tools-0.0.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
7
+ langchain_mcp_tools-0.0.9.dist-info/top_level.txt,sha256=aR_9V2A1Yt-Bca60KmndmGLUWb2wiM5IOG-Gkaf1dxY,20
8
+ langchain_mcp_tools-0.0.9.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- langchain_mcp_tools/__init__.py,sha256=Xtv2VphhrWB_KlxTIofHZqtCIGtNEl0MxugnrNXTERA,94
2
- langchain_mcp_tools/langchain_mcp_tools.py,sha256=0vIjVWyK5Ps7p3rxHVOEjbTywuLY3ON5G-hHJj-XkF0,10451
3
- langchain_mcp_tools-0.0.7.dist-info/LICENSE,sha256=CRC91e8v116gCpnp7h49oIa6_zjhxqnHFTREeoZFJwA,1072
4
- langchain_mcp_tools-0.0.7.dist-info/METADATA,sha256=7OiMRUSrJjEFlni0IODryRH0TknzoXazAtSy4XlTmzo,6687
5
- langchain_mcp_tools-0.0.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
6
- langchain_mcp_tools-0.0.7.dist-info/top_level.txt,sha256=aR_9V2A1Yt-Bca60KmndmGLUWb2wiM5IOG-Gkaf1dxY,20
7
- langchain_mcp_tools-0.0.7.dist-info/RECORD,,