Docs / Developers / MCP Server Reference
Back to FastMode

MCP Server Reference

What is the MCP Server?

The Fast Mode MCP (Model Context Protocol) Server connects AI coding assistants directly to Fast Mode. This means your AI can:

  • Build websites that work perfectly with Fast Mode
  • Manage your CMS content (create, update, delete items)
  • Create collections and fields automatically
  • Deploy websites directly to your projects
  • Validate templates and manifests as it works

Available Tools

The MCP Server provides these tools to AI assistants, organized by category:

🚀 Getting Started

get_started

The intelligent entry point for working with Fast Mode. Analyzes your project state and guides you to the right next steps.

Parameters:

  • intent (optional): What you want to do - explore, add_content, update_schema, convert, or deploy
  • projectId (optional): Project ID or name to work with

Example: "Show me the schema for my project" triggers get_started(intent: "add_content", projectId: "My Site")

list_projects

List all Fast Mode projects you have access to. Returns project names, IDs, subdomains, and your role.

Triggers authentication if needed.

get_tenant_schema

Get the complete schema for a specific project, including all collections, fields, and custom configurations.

Parameters:

  • projectId (required): Project ID (UUID) or project name

📝 Content Management

create_cms_item

Create a new item in a CMS collection. Automatically shows warnings if relation fields are left empty.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlug (required): Collection to add item to (e.g., "blog", "team")
  • name (required): Item name/title
  • slug (optional): URL slug (auto-generated if not provided)
  • data (required): Object with field values
  • publishedAt (optional): ISO date string to publish immediately

Example:

create_cms_item(
  projectId: "My Blog",
  collectionSlug: "blog",
  name: "My First Post",
  data: {
    content: "<p>Hello world!</p>",
    excerpt: "A brief intro",
    author: "abc-123-uuid"  // Use item ID for relations
  },
  publishedAt: "2024-01-20T12:00:00Z"
)

list_cms_items

List all items in a collection with their IDs, names, slugs, and data.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlug (required): Collection to list
  • limit (optional): Max items to return (default: 50)
  • sort (optional): Field to sort by
  • order (optional): asc or desc

get_cms_item

Get a single item by its slug.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlug (required): Collection the item is in
  • itemSlug (required): The item's URL slug

update_cms_item

Update an existing item. Only provided fields are changed.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlug (required): Collection the item is in
  • itemSlug (required): The item's URL slug
  • name (optional): New name
  • data (optional): Updated field values
  • publishedAt (optional): New publish date, or null to unpublish

delete_cms_item

Delete an item from a collection. Requires explicit user confirmation.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlug (required): Collection the item is in
  • itemSlug (required): The item's URL slug
  • confirmDelete (required): Must be true - only set after user confirms

get_relation_options

Get available items for relation fields. Shows item IDs, names, and slugs for easy reference.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlug (required): Collection that has the relation field
  • fieldSlug (optional): Specific relation field to get options for

Why you need this: Relation fields require item IDs (UUIDs), not names. This tool shows you what IDs are available.


🏗️ Schema Management

sync_schema

Create or update collections and fields. Use this to set up your CMS structure.

Parameters:

  • projectId (required): Project ID or name
  • collectionsToCreate (optional): Array of new collections to create
  • fieldsToAdd (optional): Array of fields to add to existing collections

Example:

sync_schema(
  projectId: "My Site",
  collectionsToCreate: [{
    slug: "testimonials",
    name: "Testimonials",
    nameSingular: "Testimonial",
    fields: [
      { slug: "quote", name: "Quote", type: "richText" },
      { slug: "author", name: "Author", type: "text" },
      { slug: "company", name: "Company", type: "text" }
    ]
  }]
)

get_field_types

List all available field types with their options and configuration.

Returns: Complete list of field types (text, richText, number, date, image, relation, etc.) with descriptions and available options.

generate_sample_items

Generate realistic sample content for your collections. Great for testing templates.

Parameters:

  • projectId (required): Project ID or name
  • collectionSlugs (optional): Specific collections to generate for (default: all empty collections)

🚀 Deployment

create_site

Create a new Fast Mode project.

Parameters:

  • name (required): Site name
  • subdomain (required): Subdomain for yoursite.fastmode.ai

deploy_package

Deploy a website package (ZIP file) to a project. Validates the package before deployment.

Parameters:

  • projectId (required): Project ID or name to deploy to
  • zipPath (required): Path to the ZIP file containing your website

The package is validated before deployment: Manifest is checked, templates are validated, and any errors block the deploy.


✅ Validation

validate_manifest

Check if a manifest.json file is valid.

Parameters:

  • manifest (required): The manifest.json content as a string

validate_template

Check an HTML template for correct token usage.

Parameters:

  • html (required): The template HTML content
  • templateType (required): Type of template (blog_index, blog_post, team, etc.)
  • collectionSlug (optional): For custom collection templates

validate_package

Validate a complete website package structure.

Parameters:

  • fileList (required): Array of file paths in the package
  • manifestContent (required): The manifest.json content
  • templateContentsJson (optional): JSON mapping template paths to their content

📚 Documentation

get_example

Get working code examples for specific patterns.

Parameters:

  • exampleType (required): One of:
    • manifest_basic, manifest_custom_paths
    • blog_index_template, blog_post_template
    • team_template, downloads_template
    • custom_collection_template
    • form_handling, each_loop, conditional_if

get_conversion_guide

Get the complete guide for converting existing websites to Fast Mode format.

Parameters:

  • section (optional): Specific section - full, analysis, structure, manifest, templates, tokens, forms, assets, checklist

Working with Relation Fields

Relation fields link items between collections (e.g., a blog post's author). They require special handling:

The Key Rule

Relation fields require the item ID (UUID), not the item name.

// ❌ WRONG - Using name
data: { author: "John Smith" }

// ✅ CORRECT - Using ID
data: { author: "abc-123-def-456" }

How to Find IDs

  1. Use get_relation_options - Shows all options for a relation field
  2. Use list_cms_items - Lists items with their IDs
  3. Check get_started(intent: "add_content") - Shows relation options automatically

In Templates

To display related item data, use dot notation:

<!-- Display author name -->


<!-- Display author photo -->
<img src="">

Authentication

The MCP server uses automatic browser-based authentication:

  1. First time you use a tool requiring auth, your browser opens
  2. Go to app.fastmode.ai/device
  3. Enter the code shown in your AI tool
  4. Click Authorize
  5. Done! Credentials save to ~/.fastmode/credentials.json and auto-refresh for 90 days

Configuration

Add to your IDE's MCP configuration:

{
  "mcpServers": {
    "fastmode": {
      "command": "npx",
      "args": ["-y", "fastmode-mcp"]
    }
  }
}

Environment Variables (optional):

VariableDefaultDescription
FASTMODE_API_URLhttps://api.fastmode.aiAPI base URL
FASTMODE_AUTH_TOKEN-Manual auth token (device flow is preferred)

Related Docs

Built in Fast Mode