Skip to main content
Glama
tmedford

ubereats-order-history-mcp

by tmedford

get_ubereats_transactions

Fetch Uber Eats card charges and refunds to reconcile bank statements with orders, including late tips and refunds.

Instructions

Every card charge and refund Uber Eats made, one row each - the shape of a card statement: charge time, amount, card brand + last 4, the order and store it paid for, and whether it is a tip billed after delivery. Use this to match bank/card transactions to orders. Charges are kept by their own date, so a tip or refund that posted days after the order is included.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
storeNoOnly orders from stores whose name contains this, e.g. "home depot" or "mcdonalds" (case and symbols ignored).
end_dateNoInclusive YYYY-MM-DD.
max_pagesNoSafety cap on order-history pages. Default 60.
card_last4NoOnly charges on this card (last 4 digits).
start_dateYesInclusive YYYY-MM-DD (charge date).
lookback_daysNoAlso scan orders placed this many days before start_date (late tips/refunds). Default 7.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that tips or refunds posted days after the order are included (behavioral nuance). It also states that charges are kept by their own date. This is useful behavioral context. However, it does not mention pagination behavior, rate limits, or what happens when no transactions exist. It's reasonable but not exhaustive.

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

Conciseness4/5

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

The description is a single, information-dense paragraph with clear structure: it explains what the tool returns, its purpose, and a key behavioral detail. It's not overly long and front-loads the core value. Minor redundancy (e.g., 'one row each' and 'the shape of a card statement') but overall 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?

For a read-only lookup tool with 100% schema coverage and no output schema, the description sufficiently orients an agent: what data is returned, why to use it, and a caveat about timing. It lacks details on pagination or output format, but since it's a list tool and the schema covers parameters, this is acceptable. Slightly more on response shape could be added, but it's near-complete.

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 all parameters. The description adds some context: it explains the significance of lookback_days (late tips/refunds) and store filtering case sensitivity, but most parameter semantics are already covered. Baseline 3 is appropriate since the description adds marginal value 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 that the tool returns every card charge and refund from Uber Eats, one row each, with specific fields (charge time, amount, card brand + last 4, order and store, tip flag). It distinguishes itself from sibling get_ubereats_orders by focusing on financial transactions rather than order details. The purpose is specific and unambiguous.

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 says 'Use this to match bank/card transactions to orders,' which is a clear use case. It doesn't explicitly name alternatives or state when not to use it, but it implies a distinct purpose from get_ubereats_orders (which likely focuses on order content rather than charges). It could be stronger by explicitly contrasting with sibling tools, but the context is adequate.

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