Braintree MCP by usefulapi
Search Braintree transactions, customers and payment methods, and refund or void charges.
Should I use this
Quality & Safety
Findings (1)
- LOWin braintree_customer_payment_methods
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"braintree": {
"url": "https://braintree.usefulapi.io/mcp"
}
}
}Remote endpoints
https://braintree.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢braintree_find_transaction(id)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "GraphQL global transaction ID (opaque, base64-looking), e.g. from a search result's `node.id`."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢braintree_search_transactions(customerId, status, createdAfter, createdBefore, first)
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 }`.
Input Schema
{
"type": "object",
"properties": {
"customerId": {
"description": "GraphQL global Customer ID to filter to one customer's transactions.",
"type": "string"
},
"status": {
"description": "One or more transaction statuses to match (e.g. [\"SETTLED\",\"VOIDED\"]).",
"type": "array",
"items": {
"type": "string",
"enum": [
"AUTHORIZATION_EXPIRED",
"AUTHORIZING",
"AUTHORIZED",
"GATEWAY_REJECTED",
"FAILED",
"PROCESSOR_DECLINED",
"SETTLED",
"SETTLING",
"SETTLEMENT_CONFIRMED",
"SETTLEMENT_DECLINED",
"SETTLEMENT_PENDING",
"SUBMITTED_FOR_SETTLEMENT",
"VOIDED"
]
}
},
"createdAfter": {
"description": "Only transactions created at or after this ISO-8601 timestamp.",
"type": "string"
},
"createdBefore": {
"description": "Only transactions created at or before this ISO-8601 timestamp.",
"type": "string"
},
"first": {
"description": "Max transactions to return (page size). Default 25.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢braintree_find_customer(id)
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.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "GraphQL global Customer ID (opaque). Legacy numeric ids differ — resolve them via a transaction search or the id-conversion query first."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢braintree_customer_payment_methods(id, first)
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 } }`.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "GraphQL global Customer ID (opaque)."
},
"first": {
"description": "Max payment methods to return. Default 50.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢braintree_list_subscriptions(customerId, first)
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.
Input Schema
{
"type": "object",
"properties": {
"customerId": {
"type": "string",
"description": "GraphQL global Customer ID whose recurring/subscription charges to list."
},
"first": {
"description": "Max transactions to return. Default 50.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"customerId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴braintree_refund_transaction(transactionId, amount)
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.
Input Schema
{
"type": "object",
"properties": {
"transactionId": {
"type": "string",
"description": "GraphQL global transaction ID to refund."
},
"amount": {
"description": "Partial-refund amount as a decimal string (e.g. \"10.00\"). Omit for a full refund.",
"type": "string",
"pattern": "^\\d+(\\.\\d{1,2})?$"
}
},
"required": [
"transactionId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴braintree_void_transaction(transactionId)
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.
Input Schema
{
"type": "object",
"properties": {
"transactionId": {
"type": "string",
"description": "GraphQL global transaction ID to void."
}
},
"required": [
"transactionId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence