Apito MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "APITO_API_KEY=${APITO_API_KEY}" apito-mcp -- npx -y mcp-remote https://apito-mcp.apito.workers.dev/sse --header "X-Apito-Key:${APITO_API_KEY}"
Required:APITO_API_KEY
README.md

An API builder and headless CMS MCP server for LLMs

Apito MCP Server

A Model Context Protocol (MCP) server for Apito - an API builder and headless CMS. This server enables LLMs like Claude to interact with Apito's system GraphQL API to create models, manage fields, and build schemas.

Features

  • Model Management: Create, list, query, and delete models in your Apito project
  • Field Management: Add, update, rename, and delete fields with explicit type specification
  • Relation Management: Create relations between models (has_one, has_many)
  • Full Field Type Support: All Apito field types including text, multiline, number, date, boolean, media, object, repeated, list (with sub-types), and geo
  • Resources: Expose model schemas as MCP resources for easy access
  • Error Handling: Comprehensive error handling with detailed messages
  • Cloudflare Workers: Deploy as a remote MCP server for use with any MCP client
  • Project-Dependent API Keys: API keys are passed per-request, allowing different projects to use the same worker

MCP Client Configuration (Cursor / mcp-remote)

Add the apito-mcp server to your MCP client config (e.g. Cursor ~/.cursor/mcp.json or project .cursor/mcp.json):

{
  "mcpServers": {
    "apito-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://apito-mcp.apito.workers.dev/sse",
        "--header",
        "X-Apito-Key:${APITO_API_KEY}"
      ],
      "env": {
        "APITO_API_KEY": "ak_your-api-key-here"
      }
    }
  }
}

Replace ak_your-api-key-here with your Apito API key. The X-Apito-Key header is sent with each request to the remote worker.

MCP Tools

`create_model`

Create a new model in Apito.

Arguments:

  • model_name (required): Name of the model
  • single_record (optional): Whether this is a single-record model

`add_field`

Add a field to an existing model. You must specify field_type and input_type explicitly.

Arguments:

  • model_name (required): Name of the model
  • field_label (required): Label/name of the field
  • field_type (required): Field type (see valid combinations below)
  • input_type (required): Input type (see valid combinations below)
  • field_sub_type (optional): Required for list fields. Valid values: dynamicList, dropdown, multiSelect
  • parent_field (optional): Parent field name for nested fields
  • is_object_field (optional): Whether this field can contain nested fields (auto-set for object and repeated types)
  • field_description (optional): Field description
  • validation (optional): Validation rules (see below for requirements)
  • serial (optional): Serial number for field ordering

Valid Field Type Combinations:

  • Text Field: field_type="text", input_type="string" - Single line text input
  • Rich Text Field: field_type="multiline", input_type="string" - Multiline editor with formatting
  • DateTime Field: field_type="date", input_type="string" - Date & Time input
  • Dynamic Array: field_type="list", field_sub_type="dynamicList", input_type="string" - Flexible list allowing multiple items
  • Dropdown Menu: field_type="list", field_sub_type="dropdown", input_type="string" - Predefined list for single selection
    • REQUIRES: validation.fixed_list_elements (array of strings) and validation.fixed_list_element_type="string"
  • Multi-Checkbox Selector: field_type="list", field_sub_type="multiSelect", input_type="string" - Allows selecting multiple options
    • REQUIRES: validation.fixed_list_elements (array of strings) and validation.fixed_list_element_type="string"
  • Boolean Field: field_type="boolean", input_type="bool" - True or False toggle
  • File Upload: field_type="media", input_type="string" - Upload images or files
  • Integer Field: field_type="number", input_type="int" - Whole numbers only
  • Decimal Field: field_type="number", input_type="double" - Decimal numbers
  • GeoPoint Field: field_type="geo", input_type="geo" - Latitude & Longitude
  • Object Schema: field_type="object", input_type="object", is_object_field=true - Single object with multiple fields
  • Array Schema: field_type="repeated", input_type="repeated", is_object_field=true - List of objects with multiple fields

Example - Simple Field:

{
  "model_name": "dentalAssessment",
  "field_label": "Date",
  "field_type": "date",
  "input_type": "string"
}

Example - Dropdown Field:

{
  "model_name": "dentalAssessment",
  "field_label": "Status",
  "field_type": "list",
  "field_sub_type": "dropdown",
  "input_type": "string",
  "validation": {
    "fixed_list_elements": ["active", "inactive", "pending"],
    "fixed_list_element_type": "string"
  }
}

Example - Nested Object Field:

{
  "model_name": "dentalAssessment",
  "field_label": "Chief Complaint",
  "field_type": "object",
  "input_type": "object",

Tools (2)

create_modelCreate a new model in Apito.
add_fieldAdd a field to an existing model with specific type configurations.

Environment Variables

APITO_API_KEYrequiredThe API key for your Apito project

Configuration

claude_desktop_config.json
{"mcpServers": {"apito-mcp": {"command": "npx", "args": ["-y", "mcp-remote", "https://apito-mcp.apito.workers.dev/sse", "--header", "X-Apito-Key:${APITO_API_KEY}"], "env": {"APITO_API_KEY": "ak_your-api-key-here"}}}}

Try it

Create a new model called 'Product' in my Apito project.
Add a text field named 'Description' to the 'Product' model.
Create a dropdown field named 'Category' for the 'Product' model with options: electronics, home, and garden.
Add a boolean field named 'isAvailable' to the 'Product' model.

Frequently Asked Questions

What are the key features of Apito MCP Server?

Create, list, query, and delete models in your Apito project. Add, update, and manage fields with explicit type support. Create relations between models including has_one and has_many. Support for diverse field types including media, geo, and nested objects. Deployable as a remote MCP server via Cloudflare Workers.

What can I use Apito MCP Server for?

Automating the creation of complex CMS schemas from natural language requirements. Rapidly prototyping data models for new applications. Managing headless CMS content structures without leaving the IDE. Standardizing field configurations across multiple Apito projects.

How do I install Apito MCP Server?

Install Apito MCP Server by running: npx -y mcp-remote https://apito-mcp.apito.workers.dev/sse --header X-Apito-Key:${APITO_API_KEY}

What MCP clients work with Apito MCP Server?

Apito MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Apito MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare