diff --git a/docs/examples/multi_mcp_execution.md b/docs/examples/multi_mcp_execution.md index 8626a1cc..31997a09 100644 --- a/docs/examples/multi_mcp_execution.md +++ b/docs/examples/multi_mcp_execution.md @@ -30,4 +30,5 @@ response = json.dumps([ ]) agent.handle_multiple_mcp_tools(agent.mcp_urls, response) + ``` diff --git a/docs/swarms/structs/agent.md b/docs/swarms/structs/agent.md index 9cb0c3af..b024d4ad 100644 --- a/docs/swarms/structs/agent.md +++ b/docs/swarms/structs/agent.md @@ -506,6 +506,7 @@ agent = Agent( # Example MCP payloads returned by your model mcp_response = json.dumps([ + { "function_name": "get_price", "server_url": "http://localhost:8000/sse", @@ -519,6 +520,7 @@ mcp_response = json.dumps([ ]) agent.handle_multiple_mcp_tools(agent.mcp_urls, mcp_response) + ``` ## Auto Generate Prompt + CPU Execution diff --git a/docs/swarms/structs/agent_mcp.md b/docs/swarms/structs/agent_mcp.md index 8651e532..e6c691b8 100644 --- a/docs/swarms/structs/agent_mcp.md +++ b/docs/swarms/structs/agent_mcp.md @@ -152,6 +152,7 @@ python examples/tools/mcp_examples/servers/weather_server.py python examples/tools/mcp_examples/servers/news_server.py ``` + --- ## Integration Flow diff --git a/swarms/structs/agent.py b/swarms/structs/agent.py index b8436307..b0dbc90e 100644 --- a/swarms/structs/agent.py +++ b/swarms/structs/agent.py @@ -1126,6 +1126,7 @@ class Agent: response, current_loop=loop_count, ) + except Exception as e: logger.error( f"Error handling multiple MCP tools: {e}" @@ -2843,6 +2844,7 @@ class Agent: payloads = extract_json_from_response(response) for payload in payloads: + function_name = payload.get("function_name") server_url = payload.get("server_url") arguments = payload.get("payload", {}) diff --git a/tests/structs/test_multi_mcp.py b/tests/structs/test_multi_mcp.py index 0924b878..df9272be 100644 --- a/tests/structs/test_multi_mcp.py +++ b/tests/structs/test_multi_mcp.py @@ -1,6 +1,7 @@ import asyncio import json from swarms.structs.agent import Agent, extract_json_from_response + from swarms.structs.agent import execute_mcp_call from unittest.mock import patch @@ -46,3 +47,4 @@ def test_extract_json_from_response(): text = "Random text" + json.dumps(payloads) + " end" result = extract_json_from_response(text) assert result == payloads +