Prior
Server Details
Spend gate agents call before money moves. Buy with Stripe Checkout. Paid only when Stripe says so.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- bret1976/prior
- GitHub Stars
- 0
TDQS
Scored across 3 tools
buy initiates a Stripe checkout, confirm_payment verifies payment status, and decide is a policy pre-check. They target distinct actions, though the relationship between decide and buy (order of operations) could be clearer.
All names are snake_case verbs, but two are bare verbs (buy, decide) while one follows verb_noun (confirm_payment). This is a mixed convention, though still readable.
Three tools is on the low side but appropriate for a focused payment-approval server; each tool has a clear role. It could arguably benefit from one or two more (e.g., cancel/refund).
Covers initiation, confirmation, and pre-approval, but lacks refund/cancel, transaction listing, and any human-approval override for spends over $100. Notable gaps for a payment lifecycle.
Available Tools
3 toolsbuyBInspect
Open a Stripe Checkout for Prior. Money is collected only after the returned URL is paid.
| Name | Required | Description | Default |
|---|---|---|---|
| amountUsd | No | Dollars. Defaults to 1. Minimum 0.50. | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses deferred payment semantics ('Money is collected only after the returned URL is paid'), which is genuinely non-obvious. However it omits auth requirements, idempotency, and whether calling it reserves anything before payment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, and the deferred-payment behavior is front-loaded after the purpose. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a payment-initiating tool with no annotations and no output schema, the description partially fills the gap by explaining the returned URL and when money moves. It still leaves returns, failure modes, and the second parameter unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema description coverage and two parameters, the description adds no parameter meaning at all. amountUsd is documented in the schema (dollars, default 1, min 0.50) but 'description' is undocumented in both schema and description, and the description never compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Open a Stripe Checkout for Prior.' It distinguishes itself from siblings like confirm_payment by describing the checkout-creation step, though 'for Prior' adds little product context for an agent unfamiliar with the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the note that money is collected only after the returned URL is paid hints at a create-then-confirm flow with confirm_payment, but no explicit when-to-use or alternative-selection guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_paymentBInspect
Ask Stripe whether a checkout session has been paid.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Ask Stripe whether' usefully signals a read-only, external network query rather than a mutation, which is the key behavioral fact here. It stops short of disclosing edge behavior such as what happens for an unknown or expired session ID, or whether the call is rate-limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero filler. The purpose is delivered in the first clause and nothing is repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool this is close to adequate: the phrase 'whether ... has been paid' implies a boolean-style answer, partially covering the absent output schema. Missing details about error conditions for invalid session IDs and the exact response shape leave a small but real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'sessionId' parameter; the only type hint (string) comes from the schema itself. The description's mention of a 'checkout session' gives implicit context that sessionId is a Stripe checkout session identifier, which partially compensates but does not supply a format or example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: querying Stripe about the payment status of a checkout session. An agent can distinguish this from the sibling 'buy' (which presumably initiates payment) and 'decide'. It does not, however, explicitly contrast itself with either sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus 'buy' or 'decide' is provided. The description implies it is a post-checkout verification step, but that inference is left entirely to the agent. No prerequisites, exclusions, or ordering hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decideBInspect
Allow or deny a spend before money moves. Over $100 is denied. Nobody is asked to approve it.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | Yes | ||
| vendor | Yes | ||
| category | Yes | ||
| amountUsd | Yes | Whole dollars. | |
| idempotencyKey | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses a hard policy rule (spend over $100 is denied) and that no human approval step occurs, which is real behavioral value. However it does not state whether calling decide commits or reserves the spend, whether it is side-effect free, or what the allow/deny response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core rule front-loaded and no filler; the amount threshold and no-approval policy are stated up front. Only the slightly ambiguous final sentence is borderline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 5 parameters at 20% coverage, the description is thin for a policy-decision tool. It explains the deny rule but omits the return shape, the role of idempotencyKey, and whether an allow result actually authorizes a subsequent buy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (just amountUsd: 'Whole dollars'), leaving vendor, category, agent, and idempotencyKey undocumented. The description adds one meaningful semantic — the $100 threshold on the amount — but contributes nothing for the other four parameters, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb pair and resource: 'Allow or deny a spend before money moves.' An agent can tell this is a pre-authorization decision tool, not a payment executor. It does not differentiate itself from the siblings buy and confirm_payment, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'before money moves' implies this is a gate to call prior to a purchase, and 'Nobody is asked to approve it' implies automation, but neither names buy or confirm_payment nor states explicit when-not conditions. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
buy - First observed
confirm_payment - First observed
decide
Related MCP Connectors
United States payments for AI agents — Stripe checkout via Stripe. Never holds funds.
Agent-native service discovery and purchase-intent routing to Stripe-hosted checkout.
Human $1 Stripe checkout and $0.05 Base USDC agent verify over HTTP 402. Self-pay rejected.
United Kingdom payments for AI agents — Stripe checkout via Stripe. Never holds funds.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAgentPay is the authorization layer between an AI agent and real spending. You define the rules — spending caps, allowed merchants, time windows — and every purchase attempt the agent makes is checked against them in real time. Approved transactions go through. Anything outside the mandate is blocked and logged. No more babysitting every agent action. No more runaway charges.MIT
- AlicenseNot gradedqualityBmaintenanceLets AI agents accept US payments (cards, Apple Pay, Google Pay) via Stripe hosted checkout. Includes tools to create payment links and query payment status.MIT
- AlicenseNot gradedqualityBmaintenanceLets AI agents accept payments in Slovakia via Stripe hosted checkout. Supports cards, Apple Pay, and Google Pay through a stateless translation layer.MIT

paas-buildofficial
AlicenseAqualityBmaintenanceYour agent takes a business live on payments: go_live creates a real merchant account (sandbox + production) the same day; create_checkout returns a payable link. Payments for AI builders, 3.9% flat.353 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.