Skip to main content
Glama
railyard-sh

Railyard MCP Server

by railyard-sh

Get a Stripe billing link

billing_manage_url

Create a Stripe hosted-page URL for an organization owner: subscribe opens Checkout for new subscriptions; manage opens the Customer Portal for card, plan, or cancellation changes.

Instructions

Mint a Stripe hosted-page URL for the organisation's OWNER to open in a browser: action=subscribe opens Checkout to start a subscription, action=manage opens the Customer Portal to change the card, switch plan or cancel. This only creates a link — it does not charge anything or change the subscription; the owner completes or abandons that on Stripe's page. Requires the OWNER role and Stripe configured on the server (503 otherwise). action=subscribe conflicts (409) when a live subscription already exists — manage it instead; action=manage needs an existing billing account (400 before the first subscription).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
orgNoOrganisation to target: an org id (org_…), slug, or name. Defaults to RAILYARD_ORG, or to your first (personal) org if that is unset. Use list_orgs to see the options.
actionYessubscribe = Stripe Checkout for a new subscription; manage = Customer Portal for an existing one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.6/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond annotations: it clarifies that the tool only creates a link and does not charge or alter the subscription, and it outlines specific error conditions (503, 409, 400). Annotations only indicate readOnlyHint=false, openWorldHint=true, etc., so this is valuable extra disclosure.

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 moderately long paragraph but every sentence serves a purpose: purpose, side effects, prerequisites, and error conditions. It front-loads the core action and then provides necessary caveats. The structure is effective, though slightly dense.

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 two-parameter tool with no output schema, the description covers essential aspects: what it returns (a URL), how to choose actions, prerequisites, and error behavior. It also benefits from annotations covering idempotency and destructiveness. Nothing critical is missing for an agent to call it 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%, so baseline is 3. The description adds meaningful detail for the action parameter (e.g., manage = change card, switch plan, cancel), which goes beyond the schema's 'Customer Portal for an existing one.' It also implies org selection defaults, but the schema already covers that. Overall, the description enriches parameter understanding, so a 4 is appropriate.

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 states a specific verb-resource combination: 'Mint a Stripe hosted-page URL' and specifies the owner as the intended user. It clearly distinguishes this from sibling get_billing by focusing on URL generation rather than billing information retrieval, even without naming the sibling explicitly.

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 explicit conditions for choosing between action=subscribe and action=manage: subscribe conflicts (409) when a live subscription exists, manage requires an existing billing account (400). It also states prerequisites: OWNER role and Stripe configured (503). This is clear operational guidance, though it does not name alternative sibling tools for billing viewing.

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