Early bird discounts live! Claim your offer
MemberPass Logo

create_project

Register a new MemberPass project on behalf of the authenticated creator.

Purpose

Scaffold a new project. Enforces the creator tier's project limit, handle uniqueness, the tier-level custom_handle capability, and the platform-type availability check before the row lands.

Required ability

project:create

Input schema

{
  "type": "object",
  "required": ["name"],
  "properties": {
    "name": { "type": "string", "minLength": 5, "maxLength": 255 },
    "description": {
      "type": "string",
      "maxLength": 1000,
      "description": "HTML is filtered to a safe subset before storage."
    },
    "handle": {
      "type": "string",
      "pattern": "^[a-z0-9-]{5,255}$",
      "description": "Requires Starter / Growth tier (custom_handle capability). Free tier tokens receive TEAM_TIER_REQUIRED when a handle is supplied."
    },
    "type": {
      "type": "string",
      "description": "Platform type. Defaults to telegram. Read memberpass://enums/platform-type for the live + available set."
    },
    "terms": { "type": "string", "format": "uri", "maxLength": 255 },
    "privacy": { "type": "string", "format": "uri", "maxLength": 255 },
    "metrics": { "type": "boolean" },
    "active": {
      "type": "boolean",
      "description": "Defaults to true. Set false to create in draft state."
    },
    "bot_id": {
      "type": "string",
      "description": "UUID of a telegram_bot row to attach at creation."
    },
    "team_id": {
      "type": "string",
      "description": "UUID of the owning team. Defaults to the token's scoped team."
    }
  }
}

banner and photo are not MCP inputs. Banner + avatar are uploaded as multipart image files via the REST API or through the creator dashboard so the server can resize and host them on S3 — MCP clients have no multipart channel, so they can create a project without artwork and add it later through either of those paths.

Output shape

{
  "data": {
    "id": "prj_01HX...",
    "name": "Research Premium",
    "handle": "research-premium-abc123",
    "team_id": "tem_01HX...",
    "active": true,
    "created_at": "2026-05-18T10:05:00Z"
  }
}

Example prompts

"Create a MemberPass project called 'Research Premium'."

"Scaffold a project with handle 'weekend-deep-dives' and a one-paragraph description." (requires Starter+ tier)

Failure modes

  • TEAM_TIER_REQUIRED — creator has hit their plan's project limit, or they passed a handle while on a tier that does not include custom_handle. Error context carries required_capability.
  • VALIDATION_FAILED — name too short, handle malformed / taken, type is not a valid or not-yet-available platform.

How is this guide?

On this page

MemberPass is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request