Merge branch 'feat/agent-multiple-mcp-execution' into 95fmkb-pavan/add-support-for-multiple-mcp-tool-execution-and-direct-model

pull/891/head
Pavan Kumar 1 month ago committed by GitHub
commit abb4d96eed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -30,4 +30,5 @@ response = json.dumps([
])
agent.handle_multiple_mcp_tools(agent.mcp_urls, response)
```

@ -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

@ -152,6 +152,7 @@ python examples/tools/mcp_examples/servers/weather_server.py
python examples/tools/mcp_examples/servers/news_server.py
```
---
## Integration Flow

@ -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", {})

@ -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

Loading…
Cancel
Save