From c1d59449fe81de98130c374f8196d9d6fbada110 Mon Sep 17 00:00:00 2001 From: Casper Nielsen Date: Wed, 3 Dec 2025 20:49:26 +0100 Subject: [PATCH 1/4] docs: add docs for integrating MCP Toolbox for Databases as tool(s) Signed-off-by: Casper Nielsen --- .../dapr-agents/dapr-agents-core-concepts.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md index 9af9edc6456..9d4cc77a53b 100644 --- a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md +++ b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md @@ -194,6 +194,39 @@ tools = client.get_all_tools() Once connected, the MCP client fetches all available tools from the server and prepares them for immediate use within the agent’s toolset. This allows agents to incorporate capabilities exposed by external processes—such as local Python scripts or remote services without hardcoding or preloading them. Agents can invoke these tools at runtime, expanding their behavior based on what’s offered by the active MCP server. +#### MCP Toolbox for Databases + +Dapr Agents support integrating with [MCP Toolbox for Databases](https://googleapis.github.io/genai-toolbox/getting-started/introduction/) by implementing a wrapper that loads the available tools into the `Tool` model Dapr Agents utilize. + +To integrate the Toolbox load the tools as follows + +```python +from toolbox_core import ToolboxSyncClient +client = ToolboxSyncClient("http://127.0.0.1:5000") +agent_tools = AgentTool.from_toolbox_many(client.load_toolset("your-tools-name-here")) +agent = DurableAgent( + .. + tools=agent_tools +) + +.. +# Remember to close the tool +finally: + client.close() +``` + +Or wrap it in a `with` statement: + +```python +from toolbox_core import ToolboxSyncClient +with ToolboxSyncClient("http://127.0.0.1:5000") as client: + agent_tools = AgentTool.from_toolbox_many(client.load_toolset("your-tools-name-here")) + agent = DurableAgent( + .. + tools=agent_tools + ) +``` + ### Memory Agents retain context across interactions, enhancing their ability to provide coherent and adaptive responses. Memory options range from simple in-memory lists for managing chat history to vector databases for semantic search, and also integrates with [Dapr state stores](https://docs.dapr.io/developing-applications/building-blocks/state-management/howto-get-save-state/), for scalable and persistent memory for advanced use cases from 28 different state store providers. From 6cbbd7b76abb84e3c4f283e0ef18b0d5878a31d4 Mon Sep 17 00:00:00 2001 From: Casper Nielsen Date: Mon, 8 Dec 2025 10:44:36 +0100 Subject: [PATCH 2/4] docs: move tools & MCP Toolbox for Databases into integration section Signed-off-by: Casper Nielsen --- .../dapr-agents/dapr-agents-core-concepts.md | 32 ---------------- .../dapr-agents/dapr-agents-integrations.md | 37 ++++++++++++++++++- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md index 9d4cc77a53b..cca621ed544 100644 --- a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md +++ b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-core-concepts.md @@ -194,38 +194,6 @@ tools = client.get_all_tools() Once connected, the MCP client fetches all available tools from the server and prepares them for immediate use within the agent’s toolset. This allows agents to incorporate capabilities exposed by external processes—such as local Python scripts or remote services without hardcoding or preloading them. Agents can invoke these tools at runtime, expanding their behavior based on what’s offered by the active MCP server. -#### MCP Toolbox for Databases - -Dapr Agents support integrating with [MCP Toolbox for Databases](https://googleapis.github.io/genai-toolbox/getting-started/introduction/) by implementing a wrapper that loads the available tools into the `Tool` model Dapr Agents utilize. - -To integrate the Toolbox load the tools as follows - -```python -from toolbox_core import ToolboxSyncClient -client = ToolboxSyncClient("http://127.0.0.1:5000") -agent_tools = AgentTool.from_toolbox_many(client.load_toolset("your-tools-name-here")) -agent = DurableAgent( - .. - tools=agent_tools -) - -.. -# Remember to close the tool -finally: - client.close() -``` - -Or wrap it in a `with` statement: - -```python -from toolbox_core import ToolboxSyncClient -with ToolboxSyncClient("http://127.0.0.1:5000") as client: - agent_tools = AgentTool.from_toolbox_many(client.load_toolset("your-tools-name-here")) - agent = DurableAgent( - .. - tools=agent_tools - ) -``` ### Memory Agents retain context across interactions, enhancing their ability to provide coherent and adaptive responses. Memory options range from simple in-memory lists for managing chat history to vector databases for semantic search, and also integrates with [Dapr state stores](https://docs.dapr.io/developing-applications/building-blocks/state-management/howto-get-save-state/), for scalable and persistent memory for advanced use cases from 28 different state store providers. diff --git a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md index 11406f3479e..fd039f4fc8d 100644 --- a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md +++ b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md @@ -313,4 +313,39 @@ While the Arxiv Fetcher provides robust functionality for retrieving and process * **Building a Searchable Knowledge Base**: Combine fetched papers with integrations like text splitting and vector embeddings for advanced search capabilities. * **Retrieval-Augmented Generation (RAG)**: Use processed papers as inputs for RAG pipelines to power question-answering systems. -* **Automated Literature Surveys**: Generate summaries or insights based on the fetched and processed research. \ No newline at end of file +* **Automated Literature Surveys**: Generate summaries or insights based on the fetched and processed research. + +## Tools + +### MCP Toolbox for Databases + +Dapr Agents support integrating with [MCP Toolbox for Databases](https://googleapis.github.io/genai-toolbox/getting-started/introduction/) by implementing a wrapper that loads the available tools into the `Tool` model Dapr Agents utilize. + +To integrate the Toolbox load the tools as follows + +```python +from toolbox_core import ToolboxSyncClient +client = ToolboxSyncClient("http://127.0.0.1:5000") +agent_tools = AgentTool.from_toolbox_many(client.load_toolset("your-tools-name-here")) +agent = DurableAgent( + .. + tools=agent_tools +) + +.. +# Remember to close the tool +finally: + client.close() +``` + +Or wrap it in a `with` statement: + +```python +from toolbox_core import ToolboxSyncClient +with ToolboxSyncClient("http://127.0.0.1:5000") as client: + agent_tools = AgentTool.from_toolbox_many(client.load_toolset("your-tools-name-here")) + agent = DurableAgent( + .. + tools=agent_tools + ) +``` \ No newline at end of file From 1dd14bea19acb27348697ca4b3be21b0c1e1a935 Mon Sep 17 00:00:00 2001 From: Casper Nielsen Date: Tue, 16 Dec 2025 07:13:18 +0100 Subject: [PATCH 3/4] Update dapr-agents-integrations.md Co-authored-by: Mark Fussell Signed-off-by: Casper Nielsen --- .../dapr-agents/dapr-agents-integrations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md index fd039f4fc8d..282ad7ea322 100644 --- a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md +++ b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md @@ -317,7 +317,7 @@ While the Arxiv Fetcher provides robust functionality for retrieving and process ## Tools -### MCP Toolbox for Databases +### MCP Toolbox for databases Dapr Agents support integrating with [MCP Toolbox for Databases](https://googleapis.github.io/genai-toolbox/getting-started/introduction/) by implementing a wrapper that loads the available tools into the `Tool` model Dapr Agents utilize. From 050061a3525c97f68931616956745932c461919e Mon Sep 17 00:00:00 2001 From: Casper Nielsen Date: Tue, 16 Dec 2025 14:40:07 +0100 Subject: [PATCH 4/4] Update daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md Co-authored-by: Marc Duiker Signed-off-by: Casper Nielsen --- .../dapr-agents/dapr-agents-integrations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md index 282ad7ea322..be6ce59e0ab 100644 --- a/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md +++ b/daprdocs/content/en/developing-applications/dapr-agents/dapr-agents-integrations.md @@ -321,7 +321,7 @@ While the Arxiv Fetcher provides robust functionality for retrieving and process Dapr Agents support integrating with [MCP Toolbox for Databases](https://googleapis.github.io/genai-toolbox/getting-started/introduction/) by implementing a wrapper that loads the available tools into the `Tool` model Dapr Agents utilize. -To integrate the Toolbox load the tools as follows +To integrate the Toolbox, load the tools as follows: ```python from toolbox_core import ToolboxSyncClient