usefulapi

Braintree MCP server. Search Braintree transactions, customers and payment methods, and refund or void charges.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://braintree.usefulapi.io/mcp
  3. Authenticate with Braintree when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "braintree": {
      "url": "https://braintree.usefulapi.io/mcp"
    }
  }
}
live9 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 9

ToolTypeWhat it does
braintree_find_transactionread
Find a transaction
Fetch one transaction by its GraphQL global ID (the opaque `id` returned by braintree_search_transactions, NOT the short legacy id). Uses the GraphQL `node` query. Returns amount, status, timestamps, order id, and the linked customer.
braintree_search_transactionsread
Search transactions
Search transactions by created-at date range, status, and/or customer. Builds a TransactionSearchInput (operators: status `in`, createdAt `greaterThanOrEqualTo`/`lessThanOrEqualTo`, customer.id `is`). Returns a page of transaction nodes (id, legacyId, amount, status, createdAt). GraphQL `search { transactions }`.
braintree_find_customerread
Find a customer
Fetch one customer by GraphQL global Customer ID via the `node` query. Returns id, legacyId, name, company, and created-at. To also enumerate stored cards/PayPal accounts use braintree_customer_payment_methods.
braintree_customer_payment_methodsread
List a customer's payment methods
List the vaulted payment methods (credit cards, PayPal accounts, etc.) for one customer, by GraphQL global Customer ID. Returns each method's id, legacyId, usage, created-at, and detail type. GraphQL `node { ... on Customer { paymentMethods } }`.
braintree_list_subscriptionsread
List a customer's subscription activity
List a customer's recurring / subscription payment activity. IMPORTANT: Braintree's GraphQL API does NOT expose native Subscription objects (recurring-billing management is still legacy-API only — see braintree/graphql-api issue #1). This tool therefore returns the customer's transactions (the observable evidence of subscription charges) via a TransactionSearchInput scoped to the customer; inspect each node's status/amount/createdAt to trace recurring charges. For full subscription CRUD you must use Braintree's legacy server SDK / REST API.
braintree_refund_transactionwrite
Refund a transaction
DESTRUCTIVE. Refund a SETTLED (or settling) transaction, returning money to the customer. Use the GraphQL global transaction ID. Omit `amount` for a full refund, or pass a decimal string for a partial refund. GraphQL mutation `refundTransaction`. For transactions not yet settled, use braintree_void_transaction instead.
braintree_void_transactionwrite
Void a transaction
DESTRUCTIVE. Void (cancel) a transaction that has NOT yet settled — e.g. an authorization or one submitted-for-settlement. Use the GraphQL global transaction ID. GraphQL mutation `voidTransaction`. For already-settled transactions use braintree_refund_transaction instead.
braintree_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
braintree_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Braintree tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.