Server definition
- Hash
- sha256:3dc5cd6010d1deda35caca51ccd59bf4a566ee8b4d44117e050fbbaab0802f16
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "MUTATES Memberful data: change WHEN a subscription expires (extend or shorten access). expiresAt is a Unix timestamp in SECONDS (Int). Memberful GraphQL: subscriptionChangeExpirationTime(id, expiresAt).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"expiresAt": {
"description": "New expiration as a Unix timestamp in SECONDS (Int, required).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"id": {
"description": "The subscription id (required).",
"type": "string"
}
},
"required": [
"id",
"expiresAt"
],
"type": "object"
},
"name": "change_subscription_expiration",
"outputSchema": null
},
{
"description": "MUTATES Memberful data: create one or more coupon codes for a discount. Provide the discount id (discountId) and the coupon code strings. Memberful GraphQL: createCoupons(discountId, coupons).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"codes": {
"description": "Coupon code strings to create (at least one, required).",
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"discountId": {
"description": "The discount id to attach the coupons to.",
"type": "string"
}
},
"required": [
"codes"
],
"type": "object"
},
"name": "create_coupons",
"outputSchema": null
},
{
"description": "MUTATES Memberful data: create a new member with an email (and optional full name). Memberful GraphQL: memberCreate(email, fullName).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"email": {
"description": "The new member's email (required).",
"type": "string"
},
"fullName": {
"description": "The new member's full name.",
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "create_member",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "The member id.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_member",
"outputSchema": null
},
{
"description": "Fetch one subscription by id: status, activated/expires/trial timestamps, plan, member, orders, coupon. Memberful GraphQL: subscription(id).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "The subscription id.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_subscription",
"outputSchema": null
},
{
"description": "List members (Relay connection): each edge has a cursor + node (profile, Stripe customer id, unrestricted-access flag, total spend, and their subscriptions). Paginate with `first` + `after` (pass the last edge's `cursor`); `first` defaults to 50. Set `activeOnly` to return only members with an ACTIVE membership state. For member-state filters beyond active, use memberful_query. Memberful GraphQL: members connection.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"activeOnly": {
"description": "Only return members with an ACTIVE membership state.",
"type": "boolean"
},
"after": {
"description": "Cursor for the next page (the `cursor` of the last edge from a prior call).",
"type": "string"
},
"before": {
"description": "Cursor for the previous page.",
"type": "string"
},
"first": {
"description": "Max members to return, from the start (page size).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"last": {
"description": "Max members to return, from the end.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_members",
"outputSchema": null
},
{
"description": "List all passes (Memberful dashboard 'Plans' — the access groups a member subscribes to): id, name. Memberful GraphQL: passes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_passes",
"outputSchema": null
},
{
"description": "List all plans (Memberful dashboard 'Prices'): name, interval, price (cents), for-sale flag, plan group. Memberful GraphQL: plans.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_plans",
"outputSchema": null
},
{
"description": "List subscriptions (Relay connection): each edge has a cursor + node (status, expires/created timestamps, plan, member). Paginate with `first` + `after` (pass the last edge's `cursor`); `first` defaults to 50. NOTE: this uses the top-level `subscriptions` connection, which is sourced from the community SDK — validate against a live account. Memberful GraphQL: subscriptions connection.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"after": {
"description": "Cursor for the next page (the `cursor` of the last edge from a prior call).",
"type": "string"
},
"before": {
"description": "Cursor for the previous page.",
"type": "string"
},
"first": {
"description": "Max subscriptions to return, from the start (page size).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"last": {
"description": "Max subscriptions to return, from the end.",
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_subscriptions",
"outputSchema": null
},
{
"description": "MUTATES Memberful data (potentially): escape hatch to run an arbitrary Memberful GraphQL operation — including any mutation — against your account's /api/graphql endpoint with optional variables. Prefer memberful_query for read-only calls.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"description": "A GraphQL query or mutation document.",
"type": "string"
},
"variables": {
"additionalProperties": {},
"description": "Variables object for the operation.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "memberful_graphql",
"outputSchema": null
},
{
"description": "Escape hatch: run an arbitrary Memberful GraphQL QUERY (read-only) against your account's /api/graphql endpoint with optional variables. Mutations are REJECTED — use the dedicated write tools or memberful_graphql for those. Useful for fields not covered by the curated read tools (e.g. member-state filters beyond active).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"description": "A GraphQL query document (must be a query, not a mutation).",
"type": "string"
},
"variables": {
"additionalProperties": {},
"description": "Variables object for the query.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "memberful_query",
"outputSchema": null
},
{
"description": "MUTATES Memberful data: update a member's metadata (a JSON string; max 50 keys, 40-char keys, 500-char values). Only metadata is supported here; for other inline member fields use memberful_graphql. Memberful GraphQL: memberUpdate(id, metadata).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "The member id (required).",
"type": "string"
},
"metadata": {
"description": "Metadata as a JSON string (max 50 keys, 40-char keys, 500-char values).",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "update_member",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:3dc5cd6010d1deda35caca51ccd59bf4a566ee8b4d44117e050fbbaab0802f16 | sha256sum