From c1d59449fe81de98130c374f8196d9d6fbada110 Mon Sep 17 00:00:00 2001 From: Casper Nielsen Date: Wed, 3 Dec 2025 20:49:26 +0100 Subject: [PATCH 1/2] 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/2] 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