Skip to main content
Glama

Start Rental Tool

start-rental-tool

Order phones by returning a Stripe Checkout link. Nothing is charged there: the link saves the user's card and holds one month per phone on it. The order then waits for an admin to assign concrete phones, and the held amount is charged when they are assigned, or earlier if an admin confirms the order can be fulfilled. Ask for one country with phones (plus an optional country), or spread the order across several with items. Requires accept_terms: true — before calling, show the user https://0bull.net/terms and https://0bull.net/privacy and get their agreement to them and to monthly renewal charges per assigned phone. Give the link to the user, then poll get-billing-tool to see the order and the phones arrive.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsNoPhones per country, for an order spanning several: a list of {country, quantity} objects with any ISO 3166-1 alpha-2 country, at most 10 rows, 50 phones in total. Give this or `phones`.
phonesNoHow many phones to order in one country, 1 to 50. Give this or `items`.
countryNoISO-2 country for `phones`, e.g. ES, US or JP. Any ISO 3166-1 alpha-2 code. Defaults to ES.
accept_termsYesRequired, must be true. Before calling, show the user https://0bull.net/terms and https://0bull.net/privacy and get their agreement to them and to monthly renewal charges for each assigned phone until they cancel it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations are empty, so the description carries the full burden — and it does so well. It discloses that nothing is charged at link creation (card saved, one month per phone held), that charging happens later either when an admin assigns phones or when an admin confirms fulfillment, and that monthly renewal charges apply until cancellation. It also surfaces the consent requirement. Minor undisclosed aspects: behavior on cancellation, refunds, or a stale/expired checkout link.

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 dense at roughly 130 words, but every sentence is load-bearing for a financial tool: flow, parameter routing, consent prerequisite, and follow-up. It is front-loaded with the core purpose in the first sentence. The length is justified by the monetary side effects it must disclose, and there is no filler.

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 four-parameter tool with no output schema and no annotations, this description covers the full lifecycle: what happens at call time, the payment hold, the admin-assignment delay, the prerequisite, and the recommended polling follow-up. The output is at least identified as a link to hand to the user. A residual gap is the absence of explicit error/edge-case behavior (invalid country, failed checkout, cancellation), but nothing critical for correct invocation is missing.

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 the baseline is 3. The description adds value beyond the schema by explaining the either/or relationship between `phones` and `items` ('Ask for one country with `phones`... or spread the order across several with `items`'), and by clarifying the financial semantics of quantity ('holds one month per phone'). This routing logic and the per-phone cost implication are genuinely useful.

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 description opens with a specific verb+resource+outcome: 'Order phones by returning a Stripe Checkout link.' It then explains the asynchronous flow (admin assigns phones, held amount charged on assignment), which makes the tool's role unmistakable. It does not explicitly distinguish itself from siblings like request-phones-tool or create-submission-tool, though its payment/Stripe Checkout framing makes it identifiable.

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 gives explicit routing guidance: use `phones` (+ optional `country`) for a one-country order versus `items` to spread across several countries. It states the mandatory prerequisite (accept_terms must be true, with the exact terms URLs and the consent requirement) and the follow-up action ('poll get-billing-tool'). It lacks explicit when-not-to-use guidance against sibling tools, but the parameter-selection and prerequisite guidance is concrete and actionable.

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