Uber Eats MCP Server for CrewAI 14 tools — connect in under 2 minutes
Connect your CrewAI agents to Uber Eats through Vinkius, pass the Edge URL in the `mcps` parameter and every Uber Eats tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
from crewai import Agent, Task, Crew
agent = Agent(
role="Uber Eats Specialist",
goal="Help users interact with Uber Eats effectively",
backstory=(
"You are an expert at leveraging Uber Eats tools "
"for automation and data analysis."
),
# Your Vinkius token. get it at cloud.vinkius.com
mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)
task = Task(
description=(
"Explore all available tools in Uber Eats "
"and summarize their capabilities."
),
agent=agent,
expected_output=(
"A detailed summary of 14 available tools "
"and what they can do."
),
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About Uber Eats MCP Server
What you can do
Connect AI agents to the Uber Eats Marketplace API for complete restaurant and delivery management:
When paired with CrewAI, Uber Eats becomes a first-class tool in your multi-agent workflows. Each agent in the crew can call Uber Eats tools autonomously, one agent queries data, another analyzes results, a third compiles reports, all orchestrated through Vinkius with zero configuration overhead.
- Monitor incoming orders in real-time with status tracking (PENDING → ACCEPTED → PREPARING → READY → DELIVERED)
- Accept or reject orders instantly based on kitchen capacity
- Manage restaurant menus — update prices, availability, descriptions, dietary tags
- Review order details including customer info, items, special instructions, and totals
- Track delivery status with real-time courier GPS location and ETA
- Handle order issues including customer complaints and refund requests
- View store information and configuration across all registered locations
- Mark orders ready for courier pickup when food is prepared
The Uber Eats MCP Server exposes 14 tools through the Vinkius. Connect it to CrewAI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect Uber Eats to CrewAI via MCP
Follow these steps to integrate the Uber Eats MCP Server with CrewAI.
Install CrewAI
Run pip install crewai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com
Customize the agent
Adjust the role, goal, and backstory to fit your use case
Run the crew
Run python crew.py. CrewAI auto-discovers 14 tools from Uber Eats
Why Use CrewAI with the Uber Eats MCP Server
CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with Uber Eats through the Model Context Protocol.
Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools
CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime
Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls
Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports
Uber Eats + CrewAI Use Cases
Practical scenarios where CrewAI combined with the Uber Eats MCP Server delivers measurable value.
Automated multi-step research: a reconnaissance agent queries Uber Eats for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff
Scheduled intelligence reports: set up a crew that periodically queries Uber Eats, analyzes trends over time, and generates executive briefings in markdown or PDF format
Multi-source enrichment pipelines: chain Uber Eats tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow
Compliance and audit automation: a compliance agent queries Uber Eats against predefined policy rules, generates deviation reports, and routes findings to the appropriate team
Uber Eats MCP Tools for CrewAI (14)
These 14 tools become available when you connect Uber Eats to CrewAI via MCP:
accept_order
This notifies the customer that the restaurant is preparing their food and triggers courier assignment by Uber Eats. Required before marking order as ready for pickup. Use this to acknowledge incoming orders and begin food preparation. Should be done promptly to maintain good restaurant ratings. Accept a pending Uber Eats order to confirm preparation
cancel_order
This is different from rejection - cancellation happens after acceptance and may result in customer dissatisfaction and potential platform penalties. Requires a cancellation reason. Use only when absolutely necessary (kitchen emergency, safety issue, or unavoidable circumstance). Cancel an already accepted Uber Eats order
complete_order
This should be called after confirmation that the delivery was successful. Closes the order lifecycle and triggers final payment processing. Use this to confirm order completion. Mark an order as fully completed (delivered and finalized)
get_delivery_status
Use this to track delivery progress, answer customer inquiries about their order, or coordinate with couriers. Get real-time delivery tracking status for an Uber Eats order
get_menus
Use this to review menu structure, check which items are available/out of stock, or get menu item IDs needed for availability updates. Get complete menu catalog for a specific Uber Eats restaurant
get_order
Use this to review order contents before accepting, verify special instructions, or prepare items correctly. Get complete details of a specific Uber Eats delivery order
get_order_issues
Returns issue descriptions, timestamps, resolution status, and any refunds issued. Use this to review and address order problems, improve quality, and handle disputes proactively. Get reported issues and complaints for a specific Uber Eats order
get_orders
Can filter by status: PENDING (awaiting restaurant acceptance), ACCEPTED (restaurant confirmed), PREPARING (food being prepared), READY (ready for courier pickup), DELIVERED (completed), CANCELLED, or REJECTED. Returns order IDs, customer info, items ordered, totals, special instructions, and timestamps. Use this to monitor order flow, track pending orders requiring action, or review completed deliveries. List all orders for your Uber Eats restaurants with optional status filter
get_store
Use this to review store configuration, verify delivery settings, or check operational status. Get detailed information about a specific Uber Eats restaurant/store
get_stores
Returns external store IDs, names, addresses, operating status, and business details. Use this tool first to get your store IDs, which are required for all other menu and order management operations. List all restaurants/stores associated with your Uber Eats merchant account
mark_order_prep_started
Updates order status to PREPARING and notifies the customer. Use this to keep customers informed about their order progress and provide accurate delivery time estimates. Mark that food preparation has started for an accepted order
mark_order_ready
This triggers courier dispatch notification. Use this when food is complete and waiting for courier arrival. Couriers will be routed to your location for pickup. Mark order as ready for courier pickup (food is packaged and waiting)
reject_order
The customer is notified and refunded automatically. Provide a reason code: "item_unavailable" (key ingredients out of stock), "too_busy" (kitchen at capacity), "kitchen_closed" (outside operating hours), or "other". Use this when unable to fulfill an order. Excessive rejections may affect restaurant visibility on the platform. Reject a pending Uber Eats order when unable to fulfill it
update_menu_item_availability
Set available=true to mark item as in-stock and orderable, or available=false to mark as out-of-stock. Common use: quickly mark items as unavailable when ingredients run out, then re-enable when restocked. Requires external store ID and menu item ID from get_menus result. Toggle availability status of a menu item (mark as in-stock or out-of-stock)
Example Prompts for Uber Eats in CrewAI
Ready-to-use prompts you can give your CrewAI agent to start working with Uber Eats immediately.
"Show me all pending orders and accept them automatically"
"Update the price of 'Margherita Pizza' to R$45.90 and mark it as unavailable"
"Track the delivery status of order #12345 and tell me where the courier is"
Troubleshooting Uber Eats MCP Server with CrewAI
Common issues when connecting Uber Eats to CrewAI through the Vinkius, and how to resolve them.
MCP tools not discovered
Agent not using tools
Timeout errors
Rate limiting or 429 errors
Uber Eats + CrewAI FAQ
Common questions about integrating Uber Eats MCP Server with CrewAI.
How does CrewAI discover and connect to MCP tools?
tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.Can different agents in the same crew use different MCP servers?
mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.What happens when an MCP tool call fails during a crew run?
Can CrewAI agents call multiple MCP tools in parallel?
process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.Can I run CrewAI crews on a schedule (cron)?
crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.Connect Uber Eats with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect Uber Eats to CrewAI
Get your token, paste the configuration, and start using 14 tools in under 2 minutes. No API key management needed.
