Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Memberstack MCP server

Vendor MCP
Open markdown

The Memberstack MCP connector routes your AI agent's tool calls to Memberstack's own MCP server through Scalekit. Each user signs in to Memberstack once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 69 tools.

Tools
69
What they doRead · write · destructive
16 · 26 · 2716 read26 write27 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Memberstack MCP connection

    In AgentKit > Connections, create a Memberstack MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Memberstack MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'memberstackmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Memberstack MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'memberstackmcp_getcontentgroups',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • memberstackmcp_getcontentgroupRetrieves the full configuration for one gated content group by ID — all restricted URLs in the group, linked plans that grant access, custom content blocks (HTML/CSS/JS), and redirect settings.Read-only

    GetContentGroup

    Retrieves the full configuration for one gated content group by ID — all restricted URLs in the group, linked plans that grant access, custom content blocks (HTML/CSS/JS), and redirect settings. Use to prepare updates, validate plan-to-content assignments, or debug why members can/cannot access specific pages. Requires a Content Group ID.

    Inputs

    idstringrequired
    Unique identifier of the record to operate on.
  • memberstackmcp_getcontentgroupsLists all gated content groups (restricted URL groups) in the current app — for auditing content protection, understanding plan-to-URL access mappings, or troubleshooting member access.Read-only

    GetContentGroups

    Lists all gated content groups (restricted URL groups) in the current app — for auditing content protection, understanding plan-to-URL access mappings, or troubleshooting member access. Gated content restricts pages/sections based on member plans. Each group returns its protected URLs, linked plans that grant access, custom content blocks, and redirect settings.

    Inputs

    This tool takes no inputs.

  • memberstackmcp_getcustomfieldsLists all custom fields configured for member profiles in the current app.Read-only

    GetCustomFields

    Lists all custom fields configured for member profiles in the current app. Custom fields extend member profiles beyond email/password (e.g. company, phone, preferences) and are distinct from data tables. Returns CustomField objects with keys, labels, visibility settings, admin-only flags, and plan restrictions.

    Inputs

    This tool takes no inputs.

  • memberstackmcp_getdatarecordRetrieves a single Data Record with all field values fully resolved.Read-only

    GetDataRecord

    Retrieves a single Data Record with all field values fully resolved. Loading specific entries like member profiles, product details, blog posts, or custom content. Data records are individual rows in data tables. Returns all field values, metadata, timestamps, and relational data. Environment-specific (SANDBOX or LIVE). Data Record ID. DataRecord object with complete field data.

    Inputs

    idstringrequired
    Unique identifier of the record to operate on.
  • memberstackmcp_getdatarecordsLists Data Records from a table with filtering, sorting, and pagination — for searching records, directories, catalogs, or querying custom data by criteria.Read-only

    GetDataRecords

    Lists Data Records from a table with filtering, sorting, and pagination — for searching records, directories, catalogs, or querying custom data by criteria. Not for member accounts; use getMembers for auth/subscription data. Environment-specific (SANDBOX or LIVE). Requires a Table ID; returns a paginated connection of DataRecord objects.

    Inputs

    tableIdstringrequired
    Unique identifier of the parent data table.
    filterobject
    Filter object narrowing which records are returned.
    paginationobject
    Pagination options controlling page size and cursor.
  • memberstackmcp_getdatatableRetrieves the complete schema and settings for one Data Table by its key — field definitions, data types, validation rules, and access controls.Read-only

    GetDataTable

    Retrieves the complete schema and settings for one Data Table by its key — field definitions, data types, validation rules, and access controls. Use before creating records or validating field requirements. Data tables are custom database structures (member profiles, catalogs, posts, any structured data beyond basic auth). Requires the table key (a string, not an ID).

    Inputs

    keystringrequired
    Unique key of the data table (not its ID).
  • memberstackmcp_getdatatablefieldRetrieves detailed configuration for a specific field within a Data Table.Read-only

    GetDataTableField

    Retrieves detailed configuration for a specific field within a Data Table. Understanding field requirements before creating/updating records or validating data format compatibility. Returns data type (TEXT, NUMBER, DATE, BOOLEAN, REFERENCE, etc.), validation rules, required status, and default values. Field types determine storage format and validation behavior. Field ID. DataTableField object with complete specifications.

    Inputs

    idstringrequired
    Unique identifier of the record to operate on.
  • memberstackmcp_getdatatablesLists every Data Table in the current app.Read-only

    GetDataTables

    Lists every Data Table in the current app. Discovering available data structures or getting an overview of the app's data architecture. Takes no arguments and returns the app's complete table list. There is no pagination, no search, and no name filtering. To find a table by name, call this and filter the results yourself. An array of DataTable objects.

    Inputs

    This tool takes no inputs.