Skip to main content
Glama

Get Live Payments (Read-Only)

get_live_payments
Read-only

Look up your Floot Payments records in Stripe across all your projects: one record by id, or a list of one record type. Read-only. Reads LIVE mode unless mode is "test", which reads the test payments made in the preview (those never appear in the user's Stripe dashboard). Refunds, cancels and every other change are not possible here; for those the user logs in at stripe.com. Read get_guides('live-payments') before your first call. Responses follow Stripe API version 2026-08-26.dahlia.

Input Schema

NameRequiredDescriptionDefault
idNoA Stripe object id (pi_…, ch_…, cs_…, sub_…, in_…, cus_…, re_…) to read that one record. Omit to list.
modeNo"live" (default): the published app's real payments. "test": test payments made in the preview.
pageNoProject-limited list paging: next_page from the previous result.
limitNo
queryNoStripe search query for a project-limited list, e.g. status:"succeeded".
expandNoStripe expand, e.g. ["latest_charge"].
objectYesThe record type to read.
statusNoList filter (without projectId): a status.
customerNoList filter (without projectId): a customer id.
projectIdNoLimit a list to one project (runs as a Stripe search on that project)
created_gteNoList filter: created at or after (unix seconds).
created_lteNoList filter: created at or before (unix seconds).
starting_afterNoList paging: the last id of the previous page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • addedInput schema / properties / created_gte
      Added value: +{
      +  "description": "List filter: created at or after (unix seconds).",
      +  "type": "integer"
      +}
    • addedInput schema / properties / created_lte
      Added value: +{
      +  "description": "List filter: created at or before (unix seconds).",
      +  "type": "integer"
      +}
    • addedInput schema / properties / customer
      Added value: +{
      +  "description": "List filter (without projectId): a customer id.",
      +  "type": "string"
      +}
    • addedInput schema / properties / expand
      Added value: +{
      +  "description": "Stripe expand, e.g. [\"latest_charge\"].",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / id
      Added value: +{
      +  "description": "A Stripe object id (pi_…, ch_…, cs_…, sub_…, in_…, cus_…, re_…) to read that one record. Omit to list.",
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / object
      Added value: +{
      +  "description": "The record type to read.",
      +  "enum": [
      +    "payment_intents",
      +    "charges",
      +    "refunds",
      +    "disputes",
      +    "checkout_sessions",
      +    "customers",
      +    "subscriptions",
      +    "invoices",
      +    "products",
      +    "prices",
      +    "payouts",
      +    "balance_transactions",
      +    "balance"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / page
      Added value: +{
      +  "description": "Project-limited list paging: next_page from the previous result.",
      +  "type": "string"
      +}
    • removedInput schema / properties / params
      Removed value: -{
      -  "additionalProperties": {},
      -  "type": "object"
      -}
    • removedInput schema / properties / path
      Removed value: -{
      -  "description": "Stripe API path, e.g. /v1/payment_intents or /v1/payment_intents/pi_123",
      -  "type": "string"
      -}
    • changedInput schema / properties / projectId / description
      Previous value: -"Limit a list to one project: /v1/<family> becomes a Stripe search on that project"New value: +"Limit a list to one project (runs as a Stripe search on that project)"
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Stripe search query for a project-limited list, e.g. status:\"succeeded\".",
      +  "type": "string"
      +}
    • addedInput schema / properties / starting_after
      Added value: +{
      +  "description": "List paging: the last id of the previous page.",
      +  "type": "string"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "List filter (without projectId): a status.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "path"
      -]New value: +[
      +  "object"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / mode
      Added value: +{
      +  "description": "\"live\" (default): the published app's real payments. \"test\": test payments made in the preview.",
      +  "enum": [
      +    "live",
      +    "test"
      +  ],
      +  "type": "string"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description still adds non-obvious behavior: live mode is the default, mode='test' reads preview payments that 'never appear in the user's Stripe dashboard,' and the pinned Stripe API version 2026-08-26.dahlia. These are traits the agent cannot derive from the annotations or schema.

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?

Roughly four sentences, front-loaded with the core lookup behavior, then scope constraints, then the guide prerequisite and API version. Nothing is padded, though the trailing API-version sentence is low value for tool selection.

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 13-parameter, high-complexity read tool with no output schema, the description covers the two invocation modes, the live/test distinction, mutation exclusions, and the guide prerequisite. It does not describe the shape of returned records beyond citing the Stripe API version, which is a minor gap given the external API contract.

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 92%, so the schema already documents id, mode, object, paging, and filters in detail. The description adds only the high-level id-vs-list distinction and mode semantics, which the schema largely restates. Baseline 3 is appropriate when the schema carries the parameter burden.

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 names a specific verb and resource ('Look up your Floot Payments records in Stripe') and explicitly splits the two supported shapes: 'one record by id, or a list of one record type.' That is enough for an agent to distinguish it from data-access siblings like query_database, search, or execute_sql.

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?

It states when this tool applies (reads of payments across projects), when it does not ('Refunds, cancels and every other change are not possible here; for those the user logs in at stripe.com'), and adds a prerequisite: 'Read get_guides("live-payments") before your first call.' Alternative and exclusion are both explicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources