usefulapi

Memberful MCP server. Manage Memberful members, subscriptions, plans, passes and coupons via the GraphQL API.

Claude

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

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "memberful": {
      "url": "https://memberful.usefulapi.io/mcp"
    }
  }
}
live14 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 14

ToolTypeWhat it does
get_memberread
Get a member
Fetch one Memberful member by id: profile, Stripe customer id, unrestricted-access flag, total spend, metadata, address, and their subscriptions (each with plan). Memberful GraphQL: member(id).
list_membersread
List members
List members as a Relay connection (profile, Stripe customer id, unrestricted-access flag, total spend, subscriptions); paginate with first + after, or set activeOnly for members with an ACTIVE membership. Memberful GraphQL: members connection.
get_subscriptionread
Get a subscription
Fetch one subscription by id: status, activated/expires/trial timestamps, plan, member, orders, and coupon. Memberful GraphQL: subscription(id).
list_subscriptionsread
List subscriptions
List subscriptions as a Relay connection (status, expires/created timestamps, plan, member); paginate with first + after. Memberful GraphQL: subscriptions connection.
list_plansread
List plans
List all plans (the Memberful dashboard 'Prices'): name, interval, price in cents, for-sale flag, and plan group. Memberful GraphQL: plans.
list_passesread
List passes
List all passes (the access groups a member subscribes to): id and name. Memberful GraphQL: passes.
memberful_queryread
Run a GraphQL query (read-only)
Escape hatch to run an arbitrary read-only Memberful GraphQL query with optional variables; mutations are rejected. Useful for fields the curated read tools don't cover.
create_memberwrite
Create a member
Create a new member with an email and optional full name. Memberful GraphQL: memberCreate(email, fullName).
update_memberwrite
Update a member
Update a member's metadata (a JSON string; max 50 keys, 40-char keys, 500-char values). Memberful GraphQL: memberUpdate(id, metadata).
change_subscription_expirationwrite
Change subscription expiration
Change when a subscription expires (extend or shorten access); expiresAt is a Unix timestamp in seconds. Memberful GraphQL: subscriptionChangeExpirationTime(id, expiresAt).
create_couponswrite
Create coupons
Create one or more coupon codes for a discount, given the discount id and the code strings. Memberful GraphQL: createCoupons(discountId, coupons).
memberful_graphqlwrite
Run a GraphQL operation (query or mutation)
Escape hatch to run an arbitrary Memberful GraphQL operation, including any mutation, with optional variables. Prefer memberful_query for read-only calls.
memberful_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
memberful_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Memberful tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

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.