Skip to content

Commit 7161d35

Browse files
committed
doc: Improve usage comparison table.
1 parent 8e825cb commit 7161d35

File tree

1 file changed

+24
-27
lines changed

1 file changed

+24
-27
lines changed

README.md

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,26 @@ Databases or APIs) managed by Toolbox into your GenAI applications.
1919

2020
<!-- TOC -->
2121

22-
- [Overview](#overview)
23-
- [Available Packages](#available-packages)
24-
- [Quickstart](#quickstart)
25-
- [Core Concepts](#core-concepts)
26-
- [Connecting to Toolbox](#connecting-to-toolbox)
27-
- [Loading Tools](#loading-tools)
28-
- [Invoking Tools](#invoking-tools)
29-
- [Synchronous vs. Asynchronous Usage](#synchronous-vs-asynchronous-usage)
30-
- [Authenticating Tools](#authenticating-tools)
31-
- [When is Authentication Needed?](#when-is-authentication-needed)
32-
- [Supported Authentication Mechanisms](#supported-authentication-mechanisms)
33-
- [SDK Configuration](#sdk-configuration)
34-
- [Binding Parameter Values](#binding-parameter-values)
35-
- [Why Bind Parameters?](#why-bind-parameters)
36-
- [SDK Configuration](#sdk-configuration)
37-
- [Usage Comparison](#usage-comparison)
38-
- [Contributing](#contributing)
39-
- [License](#license)
40-
- [Support](#support)
22+
- [MCP Toolbox SDKs for Python](#mcp-toolbox-sdks-for-python)
23+
- [Overview](#overview)
24+
- [Available Packages](#available-packages)
25+
- [Quickstart](#quickstart)
26+
- [Core Concepts](#core-concepts)
27+
- [Connecting to Toolbox](#connecting-to-toolbox)
28+
- [Loading Tools](#loading-tools)
29+
- [Invoking Tools](#invoking-tools)
30+
- [Synchronous vs. Asynchronous Usage](#synchronous-vs-asynchronous-usage)
31+
- [Authenticating Tools](#authenticating-tools)
32+
- [When is Authentication Needed?](#when-is-authentication-needed)
33+
- [Supported Authentication Mechanisms](#supported-authentication-mechanisms)
34+
- [SDK Configuration](#sdk-configuration)
35+
- [Binding Parameter Values](#binding-parameter-values)
36+
- [Why Bind Parameters?](#why-bind-parameters)
37+
- [SDK Configuration](#sdk-configuration)
38+
- [Usage Comparison](#usage-comparison)
39+
- [Contributing](#contributing)
40+
- [License](#license)
41+
- [Support](#support)
4142

4243
<!-- /TOC -->
4344

@@ -298,14 +299,10 @@ bound_tool = await toolbox.load_tool("my-tool", bound_params={"param": "value"})
298299
While the core concepts are similar, the way you integrate and use the tools
299300
varies depending on the chosen SDK package and framework.
300301

301-
| Feature | `toolbox-core` | `toolbox-langchain` |
302-
| :---------------------- | :--------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------- |
303-
| **Target Scenario** | Framework-agnostic applications or custom orchestration logic. | Applications within the LangChain / LangGraph ecosystem. |
304-
| **Client Class(es)** | `ToolboxClient` (async)<br>`ToolboxSyncClient` (sync) | `ToolboxClient` (provides both sync `load_*` and async `aload_*` methods) |
305-
| **Loaded Tool Type** | `ToolboxTool` (async) /<br>`ToolboxSyncTool` (sync) | `ToolboxTool` instances (compatible with LangChain `BaseTool`) |
306-
| **Tool Invocation** | Directly callable / awaitable. | Standard LangChain tool usage patterns. |
307-
| **LangGraph Integration** | **Requires wrapping:** Tools may need manual wrapping (e.g., `StructuredTool.from_function`) for full LLM use. | **Seamless:** Designed for direct use with `model.bind_tools(tools)` and `ToolNode(tools)`. |
308-
| **Detailed Examples** | [Core README Section](https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core#use-with-langgraph) | [LangChain README Section](https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/packages/toolbox-langchain#use-with-langgraph) |
302+
| Package | Target Scenario | Client Class(es) | Loaded Tool Type | Tool Invocation | LangGraph Integration | Detailed Examples |
303+
| :---------------- | :--------------------------------------------------------------- | :---------------------------------------------------------------------------------- | :--------------------------------------------------------------------- | :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
304+
| `toolbox-core` | Framework-agnostic applications or custom orchestration logic. | `ToolboxClient` (async)<br>`ToolboxSyncClient` (sync) | `ToolboxTool` (async) /<br>`ToolboxSyncTool` (sync) | Directly callable / awaitable. | **Requires wrapping:** Tools may need manual wrapping (e.g., `StructuredTool.from_function`) for full LLM use. | [Core README Section](https://github.com/googleapis/mcp-toolbox-sdk-python/tree/main/packages/toolbox-core#use-with-langgraph) |
305+
| `toolbox-langchain` | Applications within the LangChain / LangGraph ecosystem. | `ToolboxClient` (provides both sync `load_*` and async `aload_*` methods) | `ToolboxTool` instances (compatible with LangChain `BaseTool`) | Standard LangChain tool usage patterns. | **Seamless:** Designed for direct use with `model.bind_tools(tools)` and `ToolNode(tools)`. | [LangChain README Section](https://github.com/googleapis/mcp-toolbox-sdk-python/blob/main/packages/toolbox-langchain#use-with-langgraph) |
309306

310307
## Contributing
311308

0 commit comments

Comments
 (0)