Enables searching restaurants, retrieving menus, and placing food delivery orders through the A2A protocol integration with DoorDash's agent service.
Enables searching restaurants, retrieving menus, and placing food delivery orders through the A2A protocol integration with Grubhub's agent service.
Provides payment processing and refund capabilities using the AP2 protocol with mandate-based authorization, verifying cryptographically signed user payment approvals before processing transactions.
Enables searching restaurants, retrieving menus, and placing food delivery orders through the A2A protocol integration with UberEats agent service.
mcp-a2a-ap2-im-hungry ππ³
MCP server with A2A protocol (food delivery) + AP2 protocol (payments with Mandates).
Demo

Quick Start
Services:
MCP Server:
http://localhost:8000/mcpRegistry:
http://localhost:8004DoorDash/UberEats/Grubhub:
8001-8003(A2A)Stripe:
http://localhost:8005(AP2)
What's Different from mcp-a2a-im-hungry?
mcp-a2a-im-hungry | This project |
A2A only | A2A + AP2 |
No payments | Stripe payments |
β | Mandates (signed authorization) |
What is AP2?
Problem: AI agents spending money. Who approved it?
AP2 = Payments with Mandates β cryptographically signed proof of user intent.
Flow (matches real-world AP2):
User asks for cheeseburger π
Your agent searches restaurants via A2A (discovers DoorDash/UberEats/Grubhub agents)
Your agent gets menus and delivery estimates
Your agent decides which restaurant (cheapest/fastest)
User authorizes payment β User's authorization service creates mandate (signed with user's private key)
Your agent requests authorization β Receives mandate from user
Your agent sends payment request WITH mandate to Stripe agent (via A2A)
Stripe agent VERIFIES mandate (signature valid? not expired? amount ok?)
If valid β Stripe processes payment β
Your agent places order with food delivery agent (DoorDash/UberEats/Grubhub via A2A)
π Burger incoming!
Key Point: The agent NEVER creates mandates. User authorization creates them. Agent only uses them.
Project Structure
Tools
Tool | Description |
| Search food (A2A) |
| Get menu (A2A) |
| Order food (A2A) |
| Pay via Stripe (AP2 + Mandate) |
| Refund via Stripe (AP2 + Mandate) |