{"name":"io.github.codespar/mcp-braintree","slug":"codespar-mcp-braintree","title":null,"description":"MCP server for Braintree (PayPal) — global card processing via GraphQL: charge, refund, vault","url":"https://mcp.market/server/codespar-mcp-braintree","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":46,"stars":271,"forks":50,"downloads_week":29,"last_push_at":"2026-08-29T02:02:48.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/codespar/mcp-dev-latam","website":null,"version":"0.2.2","remotes":[],"packages":[{"registryType":"npm","identifier":"@codespar/mcp-braintree","version":"0.2.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Braintree merchant id (from the Control Panel > API).","isRequired":true,"format":"string","name":"BRAINTREE_MERCHANT_ID"},{"description":"Braintree public API key — Basic auth username.","isRequired":true,"format":"string","name":"BRAINTREE_PUBLIC_KEY"},{"description":"Braintree private API key — Basic auth password (secret).","isRequired":true,"format":"string","isSecret":true,"name":"BRAINTREE_PRIVATE_KEY"},{"description":"Braintree environment. 'sandbox' (default, https://payments.sandbox.braintree-api.com/graphql) or 'production' (https://payments.braintree-api.com/graphql).","format":"string","name":"BRAINTREE_ENV"},{"description":"Braintree-Version header value (YYYY-MM-DD). Defaults to 2019-01-01.","format":"string","name":"BRAINTREE_API_VERSION"}]}],"tools":[{"name":"accept_dispute","description":"Accept liability for a dispute via acceptDispute — the merchant concedes and the disputed amount is refunded to the buyer. Terminal action, cannot be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"authorize_transaction","description":"Authorize a transaction (reserve funds without capturing) via Braintree GraphQL authorizePaymentMethod. Pass a paymentMethodId obtained from client-side tokenization (Drop-in / Hosted Fields / SDK nonce). Capture later with capture_transaction.","write_action":false,"price_micros":0,"input_schema":null},{"name":"capture_transaction","description":"Capture a previously authorized transaction via captureTransaction. Amount defaults to full authorized amount when omitted (partial captures allowed up to the authorized total).","write_action":false,"price_micros":0,"input_schema":null},{"name":"charge_transaction","description":"Authorize and capture a transaction atomically via Braintree GraphQL chargePaymentMethod. Use for one-step sales. For auth-now-capture-later split, use authorize_transaction + capture_transaction.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_client_token","description":"Mint a Braintree client token via createClientToken for client-side tokenization (Drop-in, Hosted Fields, mobile SDKs). Pass a customerId to scope the token to a customer for vault-aware flows.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_customer","description":"Create a Braintree customer via createCustomer. Customers group multiple vaulted payment methods and transactions under one identity.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_customer","description":"Delete a Braintree customer via deleteCustomer. Irreversible — also deletes any payment methods vaulted against the customer.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_payment_method","description":"Delete a vaulted payment method via deletePaymentMethodFromVault. Irreversible — the token cannot be used for future charges after deletion.","write_action":true,"price_micros":0,"input_schema":null},{"name":"finalize_dispute","description":"Finalize a dispute via finalizeDispute — submits previously added evidence to the card network for review. After finalization, no further evidence can be added.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_customer","description":"Search for customers via the GraphQL search.customers query. Pass one of email / firstName / lastName / company to filter; returns matching customer nodes. Leave all blank to list the first page of customers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_dispute","description":"Fetch a dispute by id via the GraphQL node(id:) query. Returns id, status, reason, amountDisputed, receivedDate, replyByDate.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_merchant_account","description":"Fetch a merchant account by id via the GraphQL node(id:) query. Returns id, status, currencyCode, and default flag — useful for multi-currency / multi-entity merchants.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_customer","description":"Fetch a customer by id via the GraphQL node(id:) query. Returns customer scalars (id, firstName, lastName, email, company, phone).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_transaction","description":"Fetch a transaction by id via the GraphQL search.transactions query. Returns id, status, amount, orderId, createdAt, and the associated payment method.","write_action":false,"price_micros":0,"input_schema":null},{"name":"refund_transaction","description":"Refund a settled transaction via refundTransaction. Amount defaults to the full settled amount when omitted. For partial refunds, pass a smaller amount.","write_action":true,"price_micros":0,"input_schema":null},{"name":"search_transactions","description":"Search transactions via the GraphQL search.transactions query. Filter by status / customerId / orderId / createdAt range. Returns a page of transaction nodes with id, status, amount, orderId, createdAt.","write_action":false,"price_micros":0,"input_schema":null},{"name":"submit_for_settlement","description":"Submit a previously authorized transaction for settlement via submitTransactionForSettlement. Unlike capture_transaction (captureTransaction), this marks the transaction for the next settlement batch and supports optional order id / descriptor overrides.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_customer","description":"Update an existing Braintree customer via updateCustomer. Only fields present in the request are updated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_payment_method","description":"Update metadata on a vaulted payment method via updatePaymentMethod. Use to change billing address, cardholder name, expiration, or set-as-default flag without re-tokenizing.","write_action":true,"price_micros":0,"input_schema":null},{"name":"vault_payment_method","description":"Permanently store a tokenized payment method in the Braintree vault via vaultPaymentMethod. The input paymentMethodId must be a single-use nonce; the mutation returns a permanent vaulted payment method id that can be reused for future charges.","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_payment_method","description":"Run a credit-card verification (zero-auth or $1 auth) on a tokenized payment method via verifyPaymentMethod. Returns a CreditCardVerification with status and processor response. Useful before vaulting or charging.","write_action":true,"price_micros":0,"input_schema":null},{"name":"void_transaction","description":"Void an unsettled transaction (reverse the authorization) via reverseTransaction. Use when funds are authorized but not yet captured — for captured/settled transactions use refund_transaction instead.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-26T21:19:09.357Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T21:19:09.261Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 29 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@codespar/mcp-braintree","version":"0.2.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-06-22T18:43:04.082Z","weeklyDownloads":29}],"repo":{"found":true,"owner":"codespar","repo":"mcp-dev-latam","archived":false,"pushedAt":"2026-08-29T02:02:48Z","stars":271,"forks":50,"openIssues":10,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/269058982?v=4","ownerCreatedAt":"2026-03-18T00:40:56Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/269058982?v=4&s=128","source":"github"},"presence":{"stars":271,"forks":50,"downloadsWeek":29,"license":"MIT","lastPushAt":"2026-08-29T02:02:48.000Z","score":46}}}},"grade_history":[],"reviews":[]}