Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PATREON_ALLOW_PIINoSet to 1 to enable patron email, creator notes, and shipping addresses. Disabled by default.0
PATREON_CLIENT_IDNoOAuth client ID. Required for OAuth mode.
PATREON_TOKEN_URLNoToken endpoint; defaults to https://www.patreon.com/api/oauth2/token.https://www.patreon.com/api/oauth2/token
PATREON_TOKEN_FILENoPersist refreshed tokens as JSON (0600).
PATREON_USER_AGENTNoBrowser User-Agent for the web session; match the browser that issued the cookie if Cloudflare rejects it.
PATREON_ACCESS_TOKENNoBearer token for API calls. Required for one auth mode.
PATREON_API_BASE_URLNoAPI base; defaults to https://www.patreon.com/api/oauth2/v2.https://www.patreon.com/api/oauth2/v2
PATREON_WEB_BASE_URLNoWeb API base; defaults to https://www.patreon.com.https://www.patreon.com
PATREON_CLIENT_SECRETNoOAuth client secret. Required for OAuth mode.
PATREON_REFRESH_TOKENNoRefresh token. Required for OAuth mode.
PATREON_SESSION_COOKIENoRaw Cookie header from a logged-in patreon.com session. Required for web post tools.
PATREON_TIMEOUT_SECONDSNoHTTP timeout; defaults to 30.30
PATREON_HTTP_BEARER_TOKENNoRequire Authorization: Bearer <token> on streamable-HTTP requests. Minimum 16 characters.
PATREON_SESSION_COOKIE_FILENoFile containing the raw Cookie header. Required for web post tools.
PATREON_WEBHOOK_ALLOWED_HOSTSNoRequired 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 20 tools

Disambiguation3/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues