Back to Browse

Payport MCP Server

Developer ToolsModerate5.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Customers, products, prices, invoices, and payments through the Stripe API.

About

Customers, products, prices, invoices, and payments through the Stripe API.

Security Report

5.2
Moderate5.2Moderate Risk

payport is a Stripe API wrapper that requires STRIPE_SECRET_KEY, sends it only as a Bearer token to api.stripe.com, and makes no other network calls, with no evidence of exfiltration, obfuscation, or shell execution. The main concerns are that the agent can trigger irreversible financial actions such as refunds, dispute submissions, and subscription cancellations without a confirmation step, and that create operations send no idempotency keys, so retries could duplicate money movements. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

STRIPE_SECRET_KEYRequired

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-payport": {
      "env": {
        "STRIPE_SECRET_KEY": "your-stripe-secret-key-here"
      },
      "args": [
        "-y",
        "@reneturcios/payport"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

payport

payport gives an agent a working doorway into a Stripe account: open a customer record, put a product and a price in the catalog, hand a buyer a hosted payment link, draft an invoice and finalize it, check the balance, refund a payment, issue a coupon, answer a dispute, and manage subscriptions. Each operation is one call against the Stripe REST API, and the API's JSON answer comes back as-is. It runs from the command line or as an MCP server for agents.

A Stripe secret key is required. Put it in the STRIPE_SECRET_KEY environment variable; the key is sent to the API as a Bearer token and never appears in output. When the variable is missing, every operation fails with an error that names it.

Install

npx @reneturcios/payport list-customers --limit 5

Or run the container image:

docker run -i -e STRIPE_SECRET_KEY ghcr.io/cloudcorprecords/payport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

export STRIPE_SECRET_KEY="your secret key"

payport create-customer --name "Ada Lovelace" --email ada@example.com
payport list-customers --email ada@example.com --limit 5
payport create-product --name "Trail Guide" --description "A field guide"
payport list-products --limit 10
payport retrieve-balance

payport --version

Exit codes: 0 on success, 1 when an API call fails (including a missing STRIPE_SECRET_KEY), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/payport mcp

MCP client configuration:

{
  "mcpServers": {
    "payport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/payport", "mcp"],
      "env": { "STRIPE_SECRET_KEY": "your secret key" }
    }
  }
}

Tools

ToolInputWhat it does
create_customername (string, required), email (string, optional)Create a customer.
list_customersemail (string, optional), limit (integer, optional)List customers, optionally filtered by exact email.
create_productname (string, required), description (string, optional)Create a catalog product.
list_productslimit (integer, optional)List products.
create_priceproduct, currency, unit_amount (all required)Create a price for a product; unit_amount is in the smallest currency unit.
list_pricesproduct (optional), limit (optional)List prices, optionally for one product.
create_payment_linkprice, quantity (required), redirect_url (optional)Create a hosted payment link.
list_payment_intentscustomer (optional), limit (optional)List payment intents.
create_invoicecustomer (required), days_until_due (optional)Create a draft invoice sent by email (send_invoice).
create_invoice_itemcustomer, price, invoice (all required)Add a priced line item to a draft invoice.
list_invoicescustomer (optional), limit (optional)List invoices.
finalize_invoiceinvoice (required)Finalize a draft invoice.
retrieve_balance—Retrieve the account balance.
create_refundpayment_intent (required), amount (optional)Refund a payment intent, in full or in part.
create_couponduration (required), percent_off, amount_off, currency, name, duration_in_months (optional)Create a coupon.
list_couponslimit (optional)List coupons.
list_disputescharge, payment_intent, limit (all optional)List disputes.
update_disputedispute (required), evidence (object, optional), submit (boolean, optional)Add evidence to a dispute and optionally submit it.
list_subscriptionscustomer, status, limit (all optional)List subscriptions.
cancel_subscriptionsubscription (required)Cancel a subscription.
update_subscriptionsubscription (required), price, cancel_at_period_end (optional)Update a subscription.

This is the documented core subset of the Stripe agent toolkit's 22-tool MCP set: search_stripe_documentation (a hosted documentation search, not a Stripe API operation) is not implemented.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!