UpdatesWalkthrough - Creating a Multi-Agent Tool with Project Templates
Updated February 24, 2026
Walkthrough - Creating a Multi-Agent Tool with Project Templates
Learn how to build a coordinated multi-agent workflow that exposes tools via MCP for querying by Claude Desktop or other AI assistants.
Walkthrough: Creating a Multi-Agent Tool with Project Templates
This walkthrough teaches you how to build a coordinated multi-agent workflow that exposes a tool via MCP. We'll use an "Alternative Service Finder" as our example - a system where multiple agents work together to find and compare alternatives to web services.
By the end, you'll be able to ask Claude:
"Find alternatives to Notion and compare them"
And get a detailed comparison from your multi-agent system!
What You'll Learn
How to use project templates to define reusable workflows
How to expose tools via MCP for external access
How coordinator agents orchestrate multi-agent workflows
How to connect Claude Desktop to your agent network
Before starting the network, let's understand how project templates work. Open demos/08_alternative_service_project/network.yaml to see the template definition:
project_templates: find_alternatives: name: Find Service Alternatives description: Provides users with alternative options to given web services expose_as_tool: true tool_name: find_service_alternatives tool_description: > Find and compare alternative services to a given web service or SaaS tool. Returns a detailed comparison with features, pricing, and recommendations. agent_groups: - coordinators - workers
Key settings:
expose_as_tool: true - Makes this workflow callable as a tool via MCP
tool_name - The name external clients will use to call this tool
agent_groups - Which agents can participate in this workflow
Starting project to find alternatives for: NotionProject started with ID: proj_abc123Waiting for project completion...Project completed!=== Search Results ===Found 5 alternatives to Notion:1. Obsidian - https://obsidian.md2. Coda - https://coda.io3. Craft - https://craft.do...=== Comparison Results ===| Service | Key Features | Pricing | Best For ||---------|--------------|---------|----------|| Obsidian | Local-first, plugins | Free/$8/mo | Power users || Coda | Docs + spreadsheets | Free/$10/mo | Teams |...
Info:What's happening: The coordinator receives your request, delegates to the searcher to find alternatives, then delegates to the comparer to create a detailed analysis. All communication happens through the OpenAgents network.
Step 8: Login to Admin Dashboard
In your browser at http://localhost:8700, click "Login as Admin"
Important: Replace my-service-finder with your actual network ID from the publish step.
Restart Claude Desktop
Quit and restart Claude Desktop to load the new configuration.
Step 11: Use Your Tool with Claude
Open Claude Desktop and try these prompts:
Basic Query
Find alternatives to Slack and compare them
Claude will:
Call the find_service_alternatives tool
Your coordinator will orchestrate the searcher and comparer agents
Claude receives and presents the detailed comparison
More Example Queries
Query
What Happens
"What are some alternatives to Mailchimp?"
Finds email marketing alternatives
"Compare project management tools like Asana"
Finds and compares PM tools
"I need a Figma alternative for my team"
Finds design tool alternatives
"What's a good open-source alternative to Notion?"
Filters for open-source options
How the Agents Work Together
The Coordinator (Python)
The coordinator is a non-LLM agent that orchestrates the workflow:
@on_event("project.notification.started")async def on_project_started(self, event): # 1. Extract the service name from project goal # 2. Delegate to searcher: "Find alternatives to {service}" # 3. Wait for searcher to complete # 4. Delegate to comparer: "Compare these alternatives" # 5. Wait for comparer to complete # 6. Mark project as complete
The Searcher Agent (YAML + LLM)
The searcher uses intelligent tool selection:
instructions: | DECISION LOGIC: 1. If the service is well-known (Slack, Notion, etc.) → Use your knowledge 2. If the service is niche or new → Use the search_web tool 3. Prefer efficiency: Don't make unnecessary web requests
The Comparer Agent (YAML + LLM)
The comparer also uses intelligent tool selection:
instructions: | DECISION LOGIC: 1. If you know the services well → Use your knowledge 2. If you need current pricing or features → Use fetch_webpage tool 3. Always provide a structured comparison table
MCP Tools Available
Once connected, Claude has access to:
Tool
Description
find_service_alternatives
Triggers the full workflow to find and compare alternatives
Define reusable workflows - Create once, use many times
Expose as tools - Make workflows callable via MCP
Control access - Specify which agent groups participate
Provide context - Give agents background about the workflow
project_templates: find_alternatives: name: Find Service Alternatives description: Provides users with alternative options to given web services expose_as_tool: true tool_name: find_service_alternatives context: | This workflow helps users discover alternatives to popular SaaS tools. The searcher finds options, the comparer analyzes them in detail.
Troubleshooting
Agents Not Connecting
# Check if the network is runningcurl http://localhost:8700/health# Verify agents can reach the networkopenagents agent status
Project Times Out
Ensure all three agents are running (coordinator, searcher, comparer)
Check agent logs for errors
Verify LLM API keys are configured in config/agent_env/_global.json
Claude Can't Find the Tool
Verify your network is published (check Admin Dashboard)
Ensure the project template has expose_as_tool: true