Patreon MCP by usefulapi
Read campaigns, tiers, patrons, posts and profile details in Patreon.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- LOWin patreon_get_identity
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"patreon": {
"url": "https://patreon.usefulapi.io/mcp"
}
}
}Remote endpoints
https://patreon.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢patreon_get_identity
Return the signed-in Patreon user: name, profile URL and id. If the user owns a creator campaign, the campaign is included. Good first call to find the campaign id. Patreon: GET /identity.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢patreon_list_campaigns(page_count, cursor)
List the creator campaigns the signed-in user owns, with their tiers (price levels) and patron counts. Patreon: GET /campaigns (needs the campaigns scope).
Input Schema
{
"type": "object",
"properties": {
"page_count": {
"description": "Items per page (default 25, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"description": "Pagination cursor: meta.pagination.cursors.next from the previous page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢patreon_get_campaign(campaign_id)
Return one campaign by id: name, summary, patron count, pay-per-name and its tiers. Patreon: GET /campaigns/{campaign_id}.
Input Schema
{
"type": "object",
"properties": {
"campaign_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Patreon id: a campaign id (patreon_list_campaigns) or a post id (patreon_list_posts)."
}
},
"required": [
"campaign_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢patreon_list_members(campaign_id, page_count, cursor)
List the patrons (members) of a campaign: patron status, lifetime support, current entitlement, last and next charge dates and their tiers. Names can be empty when a patron hides them. Email and address are not returned. Patreon: GET /campaigns/{campaign_id}/members (needs campaigns.members).
Input Schema
{
"type": "object",
"properties": {
"campaign_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Patreon id: a campaign id (patreon_list_campaigns) or a post id (patreon_list_posts)."
},
"page_count": {
"description": "Items per page (default 25, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"description": "Pagination cursor: meta.pagination.cursors.next from the previous page.",
"type": "string"
}
},
"required": [
"campaign_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢patreon_get_member(member_id)
Return one membership by member id (a UUID, not the user id): patron status, charge history fields and current tiers. Patreon: GET /members/{member_id} (needs campaigns.members).
Input Schema
{
"type": "object",
"properties": {
"member_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Member UUID from patreon_list_members."
}
},
"required": [
"member_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢patreon_list_posts(campaign_id, page_count, cursor)
List the posts of a campaign with title, URL, publish date and access flags (public, paid). Post bodies are not included: use patreon_get_post. Patreon: GET /campaigns/{campaign_id}/posts (needs campaigns.posts).
Input Schema
{
"type": "object",
"properties": {
"campaign_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Patreon id: a campaign id (patreon_list_campaigns) or a post id (patreon_list_posts)."
},
"page_count": {
"description": "Items per page (default 25, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"cursor": {
"description": "Pagination cursor: meta.pagination.cursors.next from the previous page.",
"type": "string"
}
},
"required": [
"campaign_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢patreon_get_post(post_id)
Return one post by id, including its HTML content and access flags. Patreon: GET /posts/{id} (needs campaigns.posts).
Input Schema
{
"type": "object",
"properties": {
"post_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Patreon id: a campaign id (patreon_list_campaigns) or a post id (patreon_list_posts)."
}
},
"required": [
"post_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence