Skip to main content
Glama

@striderlabs/mcp-ubereats

npm MCP Registry License: MIT

MCP server for Uber Eats — let AI agents search restaurants, browse menus, place orders, and track deliveries.

Built by Strider Labs.

Features

  • Search restaurants by name, cuisine, or food type

  • Browse full menus with item details and prices

  • Add items to cart with quantity and special instructions

  • Clear cart and start fresh

  • Place orders with a mandatory confirmation step

  • Track active order status and delivery progress

  • Persistent sessions — stay logged in across restarts

Related MCP server: Food402

Installation

npm install -g @striderlabs/mcp-ubereats

Or run directly with npx:

npx @striderlabs/mcp-ubereats

Configuration

Add to your MCP client configuration (e.g., Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "ubereats": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-ubereats"]
    }
  }
}

Authentication

This connector uses Playwright browser automation. On first use:

  1. Call ubereats_status — it will return a login URL

  2. Open the URL in your browser and log in to Uber Eats

  3. Run ubereats_status again to verify the session was saved

  4. Session cookies are stored at ~/.strider/ubereats/cookies.json

  5. Sessions persist automatically across restarts

To log out or reset your session:

ubereats_logout

Available Tools

Session Management

Tool

Description

ubereats_status

Check login status; returns login URL if not authenticated

ubereats_login

Get the login URL to open in a browser

ubereats_logout

Clear stored session cookies (log out)

Delivery

Tool

Description

ubereats_set_address

Set delivery address before searching

Restaurants & Menus

Tool

Description

ubereats_search

Search restaurants by name, food type, or cuisine

ubereats_get_restaurant

Get restaurant details and full menu

Cart & Ordering

Tool

Description

ubereats_add_to_cart

Add an item to cart with quantity and special instructions

ubereats_view_cart

View current cart contents and totals

ubereats_clear_cart

Remove all items from cart

ubereats_checkout

Preview or place the order (confirm=true to place)

ubereats_track_order

Track an active order's status and ETA

Example Usage

Check login status

{
  "tool": "ubereats_status"
}

Set delivery address

{
  "tool": "ubereats_set_address",
  "arguments": {
    "address": "123 Main St, San Francisco, CA 94102"
  }
}

Search for restaurants

{
  "tool": "ubereats_search",
  "arguments": {
    "query": "sushi",
    "cuisine": "japanese"
  }
}

Get restaurant menu

{
  "tool": "ubereats_get_restaurant",
  "arguments": {
    "restaurantId": "nobu-restaurant-sf"
  }
}

Add to cart

{
  "tool": "ubereats_add_to_cart",
  "arguments": {
    "restaurantId": "nobu-restaurant-sf",
    "itemName": "Spicy Tuna Roll",
    "quantity": 2,
    "specialInstructions": "No wasabi please"
  }
}

Preview order before placing

{
  "tool": "ubereats_checkout",
  "arguments": {
    "confirm": false
  }
}

Place the order

{
  "tool": "ubereats_checkout",
  "arguments": {
    "confirm": true
  }
}

Track order

{
  "tool": "ubereats_track_order",
  "arguments": {
    "orderId": "abc123"
  }
}

Typical Workflow

1. ubereats_status          — check if logged in
2. ubereats_set_address     — set where to deliver
3. ubereats_search          — find restaurants
4. ubereats_get_restaurant  — browse the menu
5. ubereats_add_to_cart     — add items
6. ubereats_view_cart       — review cart
7. ubereats_checkout        — preview (confirm=false), then place (confirm=true)
8. ubereats_track_order     — track delivery

Requirements

  • Node.js 18+

  • Playwright (Chromium browser auto-installed on first run)

  • An active Uber Eats account with a saved payment method

How It Works

  1. Headless Chrome — Playwright runs a real browser in the background

  2. Stealth mode — Browser fingerprint mimics a real user to avoid detection

  3. Cookie persistence — Login sessions are saved and reloaded automatically

  4. Structured responses — All tool outputs are JSON for easy parsing

Security

  • Session cookies stored locally at ~/.strider/ubereats/cookies.json

  • No credentials are stored — authentication uses the browser-based Uber login flow

  • Cookies never leave your machine

Limitations

  • Uber Eats must be available in your region

  • Menu customizations (modifiers, options) may require additional interaction

  • Order placement requires a valid payment method on your Uber Eats account

  • Dynamic pricing and availability may differ from what is displayed

Development

git clone https://github.com/markswendsen-code/mcp-ubereats.git
cd mcp-ubereats
npm install
npm run build
npm start

License

MIT © Strider Labs

Available Tools

11 tools
ubereats_add_to_cartA

Add a menu item to the cart. The restaurant must be loaded first via ubereats_get_restaurant. Supports quantity and special instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault
restaurantIdYesThe restaurant ID (from search or get_restaurant)
itemNameYesName of the menu item to add (must match exactly)
quantityNoNumber of items to add (default: 1)
specialInstructionsNoSpecial preparation instructions for the item (optional)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool adds to cart and supports quantity/special instructions, but omits key behavioral details: whether duplicate items increment quantity or replace, if a cart must exist, or login requirements. The mutation behavior is under-described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary action, followed by a concise prerequisite and capability mention. No extraneous words; every sentence earns its place. Ideal for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, no output schema, and no annotations. The description lacks crucial context: what happens on success (e.g., updated cart contents), error cases (item not found, invalid restaurant), or how the cart state evolves. Incomplete for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The tool's description merely restates what the schema already provides (e.g., 'Supports quantity and special instructions'). It adds no new semantic value beyond the schema's detailed parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Add a menu item to the cart') with a specific verb and resource. It distinguishes from sibling tools like ubereats_view_cart and ubereats_clear_cart by explicitly adding items. The prerequisite reference to ubereats_get_restaurant further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage context: the restaurant must be loaded first via ubereats_get_restaurant. This is an explicit prerequisite. While it doesn't list when not to use or alternatives, the given guidance is sufficient for a simple add-to-cart tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_checkoutA

Preview or place the order. Set confirm=false (default) to preview the order summary including items, fees, and estimated delivery. Set confirm=true to actually place the order. Always preview before placing.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesSet to true to place the order, false to preview only. Defaults to false for safety.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes the two behavioral modes (preview vs place) and the preview content, but does not cover edge cases like empty cart or order confirmation details. Acceptable given the simple parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, followed by usage instructions. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the core behavior and preview output, but lacks prerequisites (e.g., logged in, items in cart) and post-placement output. Still sufficiently complete for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant value beyond the schema by explaining what preview shows (items, fees, estimated delivery) and reinforcing the safety default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool previews or places an order, distinguishing it from sibling tools like ubereats_add_to_cart or ubereats_view_cart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to set confirm=false for preview and confirm=true for placement, with a safety directive to always preview before placing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_clear_cartA

Remove all items from the current cart. Use this to start a new order or switch restaurants.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the destructive nature of the action (removing all items) and the use case. With no annotations, the description carries the full burden; it adequately conveys the behavior. Could mention irreversibility or prerequisites, but it's clear enough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded with the action, and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is adequate for the tool's simplicity. It covers purpose and when to use. Slightly lacking details on side effects or state requirements, but still reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. Description adds no param info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Remove all items from the current cart'), uses a specific verb and resource, and distinguishes from siblings like 'ubereats_add_to_cart' and 'ubereats_view_cart'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('to start a new order or switch restaurants'), providing clear context. Could mention when not to use, but the guidance is helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_get_restaurantA

Get full details and menu for a specific restaurant. Returns restaurant info (rating, delivery time, fees) and the complete menu organized by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
restaurantIdYesThe restaurant ID or slug (from ubereats_search results)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It lists returned data but does not explicitly state read-only nature, side effects, or requirements (e.g., auth). The read-only implication is clear but not spelled out.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. Key information is front-loaded: action and resource first, then details of returns. Every sentence contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple one-parameter tool with no output schema, description adequately covers return (restaurant info and menu). Lacks details on format or pagination, but sufficient for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the parameter description adds value by specifying 'from ubereats_search results', providing source context beyond the schema's basic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get full details and menu for a specific restaurant' with specific verb 'Get' and resource 'restaurant'. It differentiates from sibling tools like ubereats_search (which searches) and ubereats_view_cart (cart-related), establishing a unique purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the tool's output (restaurant info, menu) and implies usage after obtaining a restaurant ID from search, but lacks explicit when-not-to-use or alternative tool guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_loginA

Get the Uber Eats login URL for the user to authenticate. Returns a URL the user can open in their browser to log in. After logging in, call ubereats_status to verify.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description bears full burden. It explains the tool returns a URL for browser login but does not disclose potential side effects, rate limits, or the need for user interaction. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences only, no redundant information, and front-loads the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is fully complete, covering the action, result, and next step.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description doesn't need to add parameter details. The baseline score of 4 is appropriate as it adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a login URL for Uber Eats authentication, distinguishing it from sibling tools like ubereats_logout and ubereats_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly advises to call ubereats_status after login, providing a clear sequential guideline. While it doesn't elaborate on when not to use it, the purpose is self-evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_logoutA

Clear the stored Uber Eats session cookies, effectively logging out. Use this to reset authentication or switch accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries full burden. It discloses the destructive nature (clearing cookies) and purpose, but does not mention potential failures, idempotency, or side effects like invalidating ongoing orders.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded key action, no unnecessary words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple logout tool with no output schema, the description is fairly complete. Could mention return value (success indication) and error scenarios, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Has zero parameters, so schema coverage is 100%. The description adds no param info (unnecessary), meeting the baseline for a param-free tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it clears Uber Eats session cookies to log out, using a specific verb ('clear') and resource ('stored Uber Eats session cookies'). It distinctly differentiates from the sibling 'ubereats_login' tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('reset authentication or switch accounts'), providing clear context. Lacks explicit when-not-to-use or alternatives, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_set_addressA

Set the delivery address for Uber Eats orders. Must be set before searching for restaurants. Provide a full street address including city and zip code.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesFull delivery address (e.g., '123 Main St, San Francisco, CA 94102')

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description clearly indicates the action (setting address) and implies it persists for subsequent searches. For a straightforward tool, this is adequate disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous information. Purpose and usage are front-loaded, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, no output schema, and clear annotations, the description fully covers what the agent needs to know to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description adds value by specifying the required format: 'full street address including city and zip code', supplementing the schema's example.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'set' and resource 'delivery address', clearly stating its role as a prerequisite. Distinguishes from sibling tools by noting it must be used before searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Must be set before searching for restaurants', providing clear when-to-use guidance. No alternatives needed for this simple setter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_statusA

Check if the user is logged in to Uber Eats. Returns login status and setup instructions if not authenticated. Always call this before any other Uber Eats operations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that it returns login status and setup instructions, implying a read-only, safe operation. No annotations, so description carries full burden, which it meets adequately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description succinctly covers purpose, return value, and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline score of 4 applies; description correctly states no input needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it checks login status for Uber Eats, differentiating from sibling tools like ubereats_login and ubereats_logout.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call before any other Uber Eats operations, but does not mention when not to use or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_track_orderA

Track the status of an active order. Returns order status, estimated delivery time, driver info (if available), and order details.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdNoOrder ID to track (optional - defaults to the most recent active order)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that the orderId parameter defaults to the most recent active order, which is useful. However, it does not specify behavior for non-active orders, required permissions, rate limits, or error handling, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence followed by a list of return elements. Every part is informative and there is no wasted text. It is well-structured and front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 optional param, no output schema), the description covers the main purpose and return types. However, it lacks details on edge cases (e.g., invalid orderId, no active order states) and does not explain the return structure more fully. With no output schema, more context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter (orderId) with its optionality and default behavior. The tool description adds no additional semantic value beyond what the schema provides, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool tracks an active order's status, listing specific return elements (order status, estimated delivery time, driver info, order details). The verb 'track' and resource 'order status' are explicit, and the function is distinct from sibling tools like ubereats_status by focusing on active orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives such as ubereats_status, nor does it mention when not to use it (e.g., for non-active orders). The lack of usage context limits the description's helpfulness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ubereats_view_cartA

View the current cart contents, including all items, quantities, prices, and the total cost with delivery fee.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description explicitly states it is a 'View' operation, implying no modifications. Given no annotations, it adequately conveys the non-destructive, read-only nature. Could be improved by noting behavior for an empty cart, but the current description is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the core purpose ('View the current cart contents') and efficiently lists all key returned components. No filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is complete. It explains what the tool returns and is sufficient for an agent to understand its function and expected output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and 100% coverage is trivial. The description adds value by enumerating the returned information (items, quantities, prices, total cost), which is not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'View' and the resource 'current cart contents', listing specific details like items, quantities, prices, and total cost. It distinguishes from sibling tools like ubereats_add_to_cart or ubereats_checkout by focusing on read-only retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied (e.g., use to inspect cart before checkout), but no explicit guidance on when not to use it or comparison with alternatives like ubereats_status or ubereats_track_order. Lacks explicit when-to-use and when-to-avoid scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedubereats_add_to_cart
    • First observedubereats_checkout
    • First observedubereats_clear_cart
    • First observedubereats_get_restaurant
    • First observedubereats_login
    • First observedubereats_logout
    • First observedubereats_search
    • First observedubereats_set_address
    • First observedubereats_status
    • First observedubereats_track_order
    • First observedubereats_view_cart

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a distinct and non-overlapping purpose, covering authentication, search, cart management, checkout, and tracking without ambiguity.

Naming Consistency5/5

All tools follow a consistent 'ubereats_<verb>_<noun>' or 'ubereats_<verb>' pattern, making them predictable and easy to understand.

Tool Count5/5

11 tools is well-scoped for a food ordering service, covering all essential steps from login to tracking without being excessive or insufficient.

Completeness4/5

The tool set covers the full lifecycle of ordering, but lacks a tool to remove individual items or edit quantities in the cart, which is a minor gap.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI assistants to order food from TGO Yemek by browsing restaurants, managing carts, and completing checkouts. It allows users to handle address selection and order tracking directly through natural language interactions.
    13
    14
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to discover restaurants and place food delivery orders on Uber Eats and Thuisbezorgd (Just Eat Takeaway). It provides tools for restaurant discovery and order management through normalized platform APIs.
    2
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/markswendsen-code/mcp-ubereats'

If you have feedback or need assistance with the MCP directory API, please join our Discord server