Search Braintree transactions, customers and payment methods, and refund or void charges.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 } }`.
GraphQL global Customer ID (opaque).
Max payment methods to return. Default 50.
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 } }`.
| Argument | Type | Description |
|---|---|---|
| id* | string | GraphQL global Customer ID (opaque). |
| first | integer | Max payment methods to return. Default 50. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "GraphQL global Customer ID (opaque)."
},
"first": {
"type": "integer",
"maximum": 100,
"description": "Max payment methods to return. Default 50.",
"exclusiveMinimum": 0
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | GraphQL global Customer ID (opaque). Legacy numeric ids differ — resolve them via a transaction search or the id-conversion query first. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | GraphQL global transaction ID (opaque, base64-looking), e.g. from a search result's `node.id`. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "GraphQL global transaction ID (opaque, base64-looking), e.g. from a search result's `node.id`."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| first | integer | Max transactions to return. Default 50. |
| customerId* | string | GraphQL global Customer ID whose recurring/subscription charges to list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customerId"
],
"properties": {
"first": {
"type": "integer",
"maximum": 100,
"description": "Max transactions to return. Default 50.",
"exclusiveMinimum": 0
},
"customerId": {
"type": "string",
"description": "GraphQL global Customer ID whose recurring/subscription charges to list."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| amount | string | Partial-refund amount as a decimal string (e.g. "10.00"). Omit for a full refund. |
| transactionId* | string | GraphQL global transaction ID to refund. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"transactionId"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^\\d+(\\.\\d{1,2})?$",
"description": "Partial-refund amount as a decimal string (e.g. \"10.00\"). Omit for a full refund."
},
"transactionId": {
"type": "string",
"description": "GraphQL global transaction ID to refund."
}
}
}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 }`.
| Argument | Type | Description |
|---|---|---|
| first | integer | Max transactions to return (page size). Default 25. |
| status | array | One or more transaction statuses to match (e.g. ["SETTLED","VOIDED"]). |
| customerId | string | GraphQL global Customer ID to filter to one customer's transactions. |
| createdAfter | string | Only transactions created at or after this ISO-8601 timestamp. |
| createdBefore | string | Only transactions created at or before this ISO-8601 timestamp. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"first": {
"type": "integer",
"maximum": 100,
"description": "Max transactions to return (page size). Default 25.",
"exclusiveMinimum": 0
},
"status": {
"type": "array",
"items": {
"enum": [
"AUTHORIZATION_EXPIRED",
"AUTHORIZING",
"AUTHORIZED",
"GATEWAY_REJECTED",
"FAILED",
"PROCESSOR_DECLINED",
"SETTLED",
"SETTLING",
"SETTLEMENT_CONFIRMED",
"SETTLEMENT_DECLINED",
"SETTLEMENT_PENDING",
"SUBMITTED_FOR_SETTLEMENT",
"VOIDED"
],
"type": "string"
},
"description": "One or more transaction statuses to match (e.g. [\"SETTLED\",\"VOIDED\"])."
},
"customerId": {
"type": "string",
"description": "GraphQL global Customer ID to filter to one customer's transactions."
},
"createdAfter": {
"type": "string",
"description": "Only transactions created at or after this ISO-8601 timestamp."
},
"createdBefore": {
"type": "string",
"description": "Only transactions created at or before this ISO-8601 timestamp."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| transactionId* | string | GraphQL global transaction ID to void. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"transactionId"
],
"properties": {
"transactionId": {
"type": "string",
"description": "GraphQL global transaction ID to void."
}
}
}