Pink Agentic AI Payments (by PinkWallet): lets Claude, ChatGPT, Cursor pay vendor invoices within company spending rules (budgets, caps, allow-lists, human approval). Sandbox preview, test money.
Polar Sh is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Products, customers, orders, subscriptions, benefits, revenue metrics and refunds.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http polar-sh-mcp https://polar-sh.usefulapi.io/mcp
# 2 — ask your agent for something these tools do
# polar_list_organizations, polar_list_products, polar_get_product and 23 more
Polar Sh costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http polar-sh-mcp https://polar-sh.usefulapi.io/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
26 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
List the organisations the token can act for. Start here — most other tools take an organization_id. Polar: GET /v1/organizations/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List products, optionally filtered by archived state, recurrence or a text query. Polar: GET /v1/products/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| query | string | no | Free-text search over product names. |
| is_archived | boolean | no | Only archived, or only live, products. |
| is_recurring | boolean | no | Only subscriptions, or only one-off products. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
Fetch a single product with its prices and attached benefits. Polar: GET /v1/products/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| product_id | string | yes | The product's id. |
List customers, optionally by email or a text query. Polar: GET /v1/customers/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| string | no | Only the customer with this email. | |
| query | string | no | Free-text search over name and email. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
Fetch a single customer by Polar id. Polar: GET /v1/customers/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| customer_id | string | yes | The customer's Polar id. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| customer_id | string | yes | The customer's Polar 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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| external_id | string | yes | Your own id for this customer. |
List orders, filtered by customer, product, subscription, status or a date window. Polar: GET /v1/orders/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| customer_id | string | no | Only this customer's orders. |
| product_id | string | no | Only orders for this product. |
| subscription_id | string | no | Only orders from this subscription. |
| status | string | no | Only orders in this state, e.g. paid, pending, refunded. |
| created_after | string | no | ISO-8601 lower bound on creation time. |
| created_before | string | no | ISO-8601 upper bound on creation time. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
Fetch a single order with its line items, discount and tax. Polar: GET /v1/orders/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | The order's id. |
List subscriptions, filtered by customer, product, status, active state or cancellation window. Polar: GET /v1/subscriptions/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| customer_id | string | no | Only this customer's subscriptions. |
| product_id | string | no | Only subscriptions to this product. |
| active | boolean | no | Only active, or only inactive, subscriptions. |
| status | string | no | Only subscriptions in this state. |
| cancel_at_period_end | boolean | no | Only those already set to cancel — your churn pipeline. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
Fetch a single subscription with its product, price and period. Polar: GET /v1/subscriptions/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subscription_id | string | yes | The subscription's id. |
Fetch revenue and subscription metrics over a date range, bucketed by interval — orders, revenue, MRR, active subscriptions. Polar: GET /v1/metrics/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| start_date | string | yes | Start of the window, YYYY-MM-DD. |
| end_date | string | yes | End of the window, YYYY-MM-DD. |
| interval | string | yes | Bucket size for the series. |
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| product_id | string | no | Only this product's metrics. |
| customer_id | string | no | Only this customer's metrics. |
List benefits — the things a product grants, such as licence keys, file downloads or Discord roles. Polar: GET /v1/benefits/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| type | string | no | Only benefits of this type. |
| query | string | no | Free-text search. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List who has been granted one benefit, and whether the grant is still active. Polar: GET /v1/benefits/{id}/grants.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| benefit_id | string | yes | The benefit's id. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List discount codes and their redemption limits. Polar: GET /v1/discounts/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| query | string | no | Free-text search over discount names and codes. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List refunds, filtered by order, subscription, customer or success. Polar: GET /v1/refunds/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| order_id | string | no | Only refunds against this order. |
| customer_id | string | no | Only this customer's refunds. |
| succeeded | boolean | no | Only successful, or only failed, refunds. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List issued licence keys and their status. Polar: GET /v1/license-keys/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| benefit_id | string | no | Only keys from this benefit. |
| status | string | no | Only keys in this state, e.g. granted, revoked, disabled. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List the usage meters that aggregate events into billable quantities. Polar: GET /v1/meters/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
Fetch the aggregated quantities a meter has recorded over a window — what usage-based billing will charge for. Polar: GET /v1/meters/{id}/quantities.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| meter_id | string | yes | The meter's id. |
| start_timestamp | string | yes | ISO-8601 start of the window. |
| end_timestamp | string | yes | ISO-8601 end of the window. |
| interval | string | yes | Bucket size for the series. |
| customer_id | string | no | Only this customer's usage. |
List the raw usage events ingested for metering, filtered by customer, meter, name or time. Polar: GET /v1/events/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| customer_id | string | no | Only this customer's events. |
| meter_id | string | no | Only events matching this meter. |
| name | string | no | Only events with this name. |
| start_timestamp | string | no | ISO-8601 lower bound. |
| end_timestamp | string | no | ISO-8601 upper bound. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List webhook delivery attempts with their HTTP results — the tool for 'why did my webhook not arrive?'. Polar: GET /v1/webhooks/deliveries.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| endpoint_id | string | no | Only deliveries to this endpoint. |
| succeeded | boolean | no | Only failures, or only successes. |
| event_type | string | no | Only deliveries of this event type. |
| start_timestamp | string | no | ISO-8601 lower bound. |
| end_timestamp | string | no | ISO-8601 upper bound. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
List the configured webhook endpoints and their subscribed events. Polar: GET /v1/webhooks/endpoints.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| organization_id | string | no | Restrict to this organisation id. Needed when the token spans several organisations. |
| page | integer | no | 1-based page number. |
| limit | integer | no | Page size, 1-100. |
Queue one webhook event for redelivery after your endpoint recovered. Polar: POST /v1/webhooks/events/{id}/redeliver.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| event_id | string | yes | The webhook event to resend. |
Refund an order, in full or in part. This moves real money back to the customer. Polar: POST /v1/refunds/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | The order to refund. |
| reason | string | yes | Why the refund is being issued. |
| amount | integer | no | Amount in the currency's minor unit (cents). Omit to refund the full order. |
| comment | string | no | An internal note about the refund. |
| revoke_benefits | boolean | no | Also revoke the benefits the order granted. Defaults to false. |
Cancel a subscription at the end of its current period. The customer keeps access until then. Polar: PATCH /v1/subscriptions/{id}.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| subscription_id | string | yes | The subscription to cancel. |
| customer_cancellation_reason | string | no | Why the customer is leaving, for your churn reporting. |
| customer_cancellation_comment | string | no | The customer's own words. |
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/.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| products | array | yes | Product ids the link sells. |
| label | string | no | An internal label for the link. |
| discount_id | string | no | Apply this discount automatically. |
| success_url | string | no | Where to send the buyer after payment. |
| allow_discount_codes | boolean | no | Let the buyer enter a discount code. Defaults to true. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Polar Sh or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.11.1.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Polar Sh can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.