patreonmcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PATREON_ALLOW_PII | No | Set to 1 to enable patron email, creator notes, and shipping addresses. Disabled by default. | 0 |
| PATREON_CLIENT_ID | No | OAuth client ID. Required for OAuth mode. | |
| PATREON_TOKEN_URL | No | Token endpoint; defaults to https://www.patreon.com/api/oauth2/token. | https://www.patreon.com/api/oauth2/token |
| PATREON_TOKEN_FILE | No | Persist refreshed tokens as JSON (0600). | |
| PATREON_USER_AGENT | No | Browser User-Agent for the web session; match the browser that issued the cookie if Cloudflare rejects it. | |
| PATREON_ACCESS_TOKEN | No | Bearer token for API calls. Required for one auth mode. | |
| PATREON_API_BASE_URL | No | API base; defaults to https://www.patreon.com/api/oauth2/v2. | https://www.patreon.com/api/oauth2/v2 |
| PATREON_WEB_BASE_URL | No | Web API base; defaults to https://www.patreon.com. | https://www.patreon.com |
| PATREON_CLIENT_SECRET | No | OAuth client secret. Required for OAuth mode. | |
| PATREON_REFRESH_TOKEN | No | Refresh token. Required for OAuth mode. | |
| PATREON_SESSION_COOKIE | No | Raw Cookie header from a logged-in patreon.com session. Required for web post tools. | |
| PATREON_TIMEOUT_SECONDS | No | HTTP timeout; defaults to 30. | 30 |
| PATREON_HTTP_BEARER_TOKEN | No | Require Authorization: Bearer <token> on streamable-HTTP requests. Minimum 16 characters. | |
| PATREON_SESSION_COOKIE_FILE | No | File containing the raw Cookie header. Required for web post tools. | |
| PATREON_WEBHOOK_ALLOWED_HOSTS | No | Required to enable webhook creation. Comma-separated hostname allowlist; * explicitly allows any public host. Private/loopback IP targets are rejected. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_identityA | Get the authenticated Patreon user (the creator behind the token). |
| list_campaignsB | List campaigns owned by the authenticated creator. |
| get_campaignB | Get one campaign with its tiers and optionally its creator. |
| list_membersB | List patrons for a campaign with cursor pagination. |
| get_memberB | Get one patron by member UUID. |
| list_postsB | List posts for a campaign with cursor pagination. |
| get_postB | Get one post, including its full HTML content. |
| create_postA | Create a text post through Patreon's web editor API. Requires PATREON_SESSION_COOKIE or PATREON_SESSION_COOKIE_FILE. This uses Patreon's undocumented browser API, not the official OAuth API, and can break when Patreon changes its web app. Only text posts are supported. |
| update_postA | Update or publish an existing post through Patreon's web editor API. Requires a web session. Pass publish=true to publish now, or publish=true plus scheduled_for to schedule. Omitting publish saves without changing publication state. |
| publish_postB | Publish an existing draft through Patreon's web editor API. |
| delete_postA | Delete a post through Patreon's web editor API. This is destructive and cannot be undone. |
| get_managed_postB | Get a post/draft via the web API; content is capped at 100,000 characters. |
| list_draftsB | List unpublished drafts for a campaign through the web editor API. |
| list_webhooksA | List this API client's webhooks. Signing secrets are redacted by default. |
| create_webhookA | Create a webhook. The response includes the HMAC signing secret. Disabled unless PATREON_WEBHOOK_ALLOWED_HOSTS permits the target host. This is a persistent data-export channel; clients should require approval. |
| update_webhookA | Update a webhook's URI, triggers, or paused state. Changing the URI requires PATREON_WEBHOOK_ALLOWED_HOSTS to permit the host. Unpausing can redeliver queued patron events. |
| delete_webhookB | Delete a webhook created by this API client. |
| create_liveB | Create an early-access Patreon Live livestream. The stream key is redacted by default. |
| get_liveA | Get a livestream's state and RTMP connection details. The stream key is redacted unless include_stream_key is true. |
| update_liveB | Start or end a livestream. The stream key is redacted by default. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Most tools target distinct resources, but the server mixes two APIs (official OAuth vs. the web editor API), creating genuine overlap: get_post vs get_managed_post both fetch a post, and update_post (which can publish) overlaps with publish_post. The post/draft lifecycle (list_posts, list_drafts, create_post, get_managed_post) requires careful reading to select the right tool.
Every tool follows a clean verb_noun snake_case pattern (get_identity, list_campaigns, create_post, update_webhook, publish_post). No deviation in style or casing across all 20 tools.
20 tools is borderline heavy for the domain. A few are arguably redundant (get_post vs get_managed_post, update_post vs publish_post), and the dual-API split inflates the surface beyond a strictly minimal set.
Coverage is broad: posts have create/update/delete/list/get plus drafts, webhooks have full CRUD, and live has create/update/get. Minor gaps remain (no list/delete for live streams, no update/delete for campaigns or members), but core workflows are covered.