usefulapi

Polar MCP server. Products, customers, orders, subscriptions, benefits, revenue metrics and refunds.

Claude

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

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "polar-sh": {
      "url": "https://polar-sh.usefulapi.io/mcp"
    }
  }
}
live26 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 26

ToolTypeWhat it does
polar_list_organizationsread
List organisations
List the organisations the token can act for. Start here — most other tools take an organization_id. Polar: GET /v1/organizations/.
polar_list_productsread
List products
List products, optionally filtered by archived state, recurrence or a text query. Polar: GET /v1/products/.
polar_get_productread
Get one product
Fetch a single product with its prices and attached benefits. Polar: GET /v1/products/{id}.
polar_list_customersread
List customers
List customers, optionally by email or a text query. Polar: GET /v1/customers/.
polar_get_customerread
Get one customer
Fetch a single customer by Polar id. Polar: GET /v1/customers/{id}.
polar_get_customer_stateread
Get a customer's full state
Fetch everything about one customer in a single call — active subscriptions, granted benefits and entitlements. The best answer to 'what does this customer currently have?'. Polar: GET /v1/customers/{id}/state.
polar_get_customer_state_by_external_idread
Get a customer's state by your own id
Same as polar_get_customer_state, but looked up by YOUR external id rather than Polar's — the usual path when you hold your own user id. Polar: GET /v1/customers/external/{external_id}/state.
polar_list_ordersread
List orders
List orders, filtered by customer, product, subscription, status or a date window. Polar: GET /v1/orders/.
polar_get_orderread
Get one order
Fetch a single order with its line items, discount and tax. Polar: GET /v1/orders/{id}.
polar_list_subscriptionsread
List subscriptions
List subscriptions, filtered by customer, product, status, active state or cancellation window. Polar: GET /v1/subscriptions/.
polar_get_subscriptionread
Get one subscription
Fetch a single subscription with its product, price and period. Polar: GET /v1/subscriptions/{id}.
polar_get_metricsread
Get revenue metrics
Fetch revenue and subscription metrics over a date range, bucketed by interval — orders, revenue, MRR, active subscriptions. Polar: GET /v1/metrics/.
polar_list_benefitsread
List benefits
List benefits — the things a product grants, such as licence keys, file downloads or Discord roles. Polar: GET /v1/benefits/.
polar_list_benefit_grantsread
List grants of a benefit
List who has been granted one benefit, and whether the grant is still active. Polar: GET /v1/benefits/{id}/grants.
polar_list_discountsread
List discounts
List discount codes and their redemption limits. Polar: GET /v1/discounts/.
polar_list_refundsread
List refunds
List refunds, filtered by order, subscription, customer or success. Polar: GET /v1/refunds/.
polar_list_license_keysread
List licence keys
List issued licence keys and their status. Polar: GET /v1/license-keys/.
polar_list_metersread
List usage meters
List the usage meters that aggregate events into billable quantities. Polar: GET /v1/meters/.
polar_get_meter_quantitiesread
Get a meter's quantities
Fetch the aggregated quantities a meter has recorded over a window — what usage-based billing will charge for. Polar: GET /v1/meters/{id}/quantities.
polar_list_eventsread
List usage events
List the raw usage events ingested for metering, filtered by customer, meter, name or time. Polar: GET /v1/events/.
polar_list_webhook_deliveriesread
List webhook deliveries
List webhook delivery attempts with their HTTP results — the tool for 'why did my webhook not arrive?'. Polar: GET /v1/webhooks/deliveries.
polar_list_webhook_endpointsread
List webhook endpoints
List the configured webhook endpoints and their subscribed events. Polar: GET /v1/webhooks/endpoints.
polar_redeliver_webhook_eventwrite
Redeliver a webhook event
Queue one webhook event for redelivery after your endpoint recovered. Polar: POST /v1/webhooks/events/{id}/redeliver.
polar_create_refundwrite
Refund an order
Refund an order, in full or in part. This moves real money back to the customer. Polar: POST /v1/refunds/.
polar_cancel_subscriptionwrite
Cancel a subscription
Cancel a subscription at the end of its current period. The customer keeps access until then. Polar: PATCH /v1/subscriptions/{id}.
polar_create_checkout_linkwrite
Create a checkout link
Create a reusable checkout URL for one or more products — the link you put in a page or an email. Polar: POST /v1/checkout-links/.

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.