Skip to main content
Glama
CSOAI-ORG

Stripe Billing MCP

create_checkout_session

Generate a Stripe Checkout URL for a given price, with redirects for success and cancel, plus optional customer email. Supports subscription or one-time payment.

Instructions

Generate a Stripe Checkout URL for a price.

Args: price_id: Stripe price ID (price_...) success_url: URL to redirect after successful payment cancel_url: URL to redirect if customer cancels mode: Checkout mode — "subscription" or "payment" (one-time) customer_email: Pre-fill the customer's email in checkout

Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.

When to use: Use this tool when you need structured analysis or classification of inputs against established frameworks or standards.

When NOT to use: Not suitable for real-time production decision-making without human review of results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNosubscription
api_keyNo
price_idYes
cancel_urlNohttps://example.com/cancel
success_urlNohttps://example.com/success
customer_emailNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.2/5.0
Behavior1/5

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

The description claims 'without modifying external systems' and 'No side effects', which is false for a tool that creates a Stripe Checkout session. It also says 'No authentication required for basic usage' despite an api_key parameter in the schema. These are serious misrepresentations that would lead to incorrect invocation.

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

Conciseness2/5

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

The description contains a relevant opening and Args section, but the Behavior and When-to-use sections are bloated with irrelevant and contradictory content that adds no value. It is not concise and the structure wastes space on misinformation.

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

Completeness1/5

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

The tool has 6 parameters, no output schema, and no annotations, so the description must carry full contextual weight. It fails to explain authentication, the real side effects, what exactly is returned, or how api_key is used. Instead it provides false assertions about determinism and side effects, making the description incomplete in a way that is actively dangerous.

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?

The description provides meaningful explanations for five of six parameters (price_id, success_url, cancel_url, mode, customer_email) in the Args section. However, it completely omits api_key, which is present in the schema. With 0% schema coverage, the description partially compensates but leaves a critical parameter unexplained.

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

Purpose4/5

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

The opening sentence 'Generate a Stripe Checkout URL for a price' is a clear verb+resource statement. It doesn't explicitly differentiate from siblings like create_subscription, but the resource is distinct enough. However, the later 'When to use' section introduces unrelated structured-analysis language that muddies the purpose.

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

Usage Guidelines1/5

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

The 'When to use' section says to use this tool for 'structured analysis or classification of inputs against established frameworks' — completely unrelated to creating a Stripe Checkout session. This is actively misleading guidance that would send an agent down the wrong path. No alternative tools are mentioned.

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