loading…
Search for a command to run...
loading…
Enables AI assistants to convert, validate, and deploy websites to the Fast Mode CMS platform while managing content collections and schemas. It provides tools
Enables AI assistants to convert, validate, and deploy websites to the Fast Mode CMS platform while managing content collections and schemas. It provides tools for template validation, CMS item management, and automated site deployment directly from the model context.
An MCP (Model Context Protocol) server that enables AI assistants to convert, validate, and deploy websites to Fast Mode.
Fast Mode is a modern CMS platform that turns static HTML websites into fully editable, content-managed sites. Unlike traditional CMSs that force you into their templates, Fast Mode works with your existing design — just add simple template tokens and your site becomes editable.
This MCP server provides tools for AI assistants (Claude, Cursor, etc.) to help you convert websites to Fast Mode format and deploy them.
The get_started tool is your entry point for any task. It automatically:
get_started(intent: "add_content", projectId: "my-project")
Available intents:
| Intent | Use Case |
|---|---|
explore |
See what projects and content exist |
add_content |
Create/edit CMS items (blog posts, team, etc.) |
update_schema |
Add collections or fields |
convert |
Build a new website from scratch |
deploy |
Push changes live |
These tools work without authentication — perfect for converting and validating websites before deploying:
| Tool | Description |
|---|---|
get_started |
CALL FIRST - Checks state and returns exact workflow |
get_field_types |
Get available field types for creating custom fields |
validate_manifest |
Validate your manifest.json file |
validate_template |
Check HTML templates for correct token usage, form handling, and schema validation |
validate_package |
Validate complete package structure |
get_example |
Get example code for common patterns |
get_conversion_guide |
Step-by-step website conversion guide |
The server also exposes static content as MCP Resources that can be browsed and fetched:
| Resource URI | Description |
|---|---|
fastmode://help |
Quick start guide |
fastmode://reference/field-types |
Available field types for creating collections |
fastmode://guide/{section} |
Conversion guide sections (full, first_steps, analysis, structure, seo, manifest, templates, tokens, forms, assets, checklist, common_mistakes) |
fastmode://examples/{type} |
Code examples (manifest_basic, blog_post_template, form_handling, etc.) |
Resources provide the same content as get_field_types, get_conversion_guide, and get_example tools but in a browsable format.
The validate_template tool performs comprehensive validation:
Token Validation:
{{#each}}, {{#if}}, {{#unless}} blocks{{{body}}})/public/ prefixForm Validation (v1.5.0+):
data-form attribute on forms (error if missing)name attributes (error if missing - data won't be captured)data-form-name attributeStatic Page Validation:
{{#each collection}} loops (e.g., featured posts on homepage)sync_schema instructionsSchema Validation (when authenticated):
sync_schema call to create themThese tools require a Fast Mode account. The MCP server will automatically open your browser for login when needed:
| Tool | Description |
|---|---|
list_projects |
List all your Fast Mode projects |
get_tenant_schema |
Get schema for a specific project (including custom fields) |
create_site |
Create a new Fast Mode project |
deploy_package |
Deploy a website package to Fast Mode |
sync_schema |
Create collections and fields in your project |
generate_sample_items |
Generate placeholder content for collections |
Manage content directly from your AI assistant:
| Tool | Description |
|---|---|
create_cms_item |
Create a new item in a collection (blog post, team member, etc.) |
list_cms_items |
List items in a collection with optional sorting/filtering |
get_cms_item |
Get a single item by its slug |
update_cms_item |
Update an existing item's name, data, or publish status |
delete_cms_item |
Delete an item (requires explicit user confirmation) |
⚠️ Delete Safety: The delete_cms_item tool requires confirmDelete: true and will prompt you to ask the user for permission before deleting anything.
The MCP server automatically downloads prebuilt binaries for your platform during installation. This eliminates Node.js PATH issues that can occur in some IDE environments.
Add to ~/.claude/settings.json:
{
"mcpServers": {
"fastmode": {
"command": "npx",
"args": ["-y", "fastmode-mcp"]
}
}
}
Add to your Cursor MCP settings (~/.cursor/mcp.json or project-level .cursor/mcp.json):
{
"mcpServers": {
"fastmode": {
"command": "npx",
"args": ["-y", "fastmode-mcp"]
}
}
}
Add to your Claude config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"fastmode": {
"command": "npx",
"args": ["-y", "fastmode-mcp"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"fastmode": {
"command": "npx",
"args": ["-y", "fastmode-mcp"]
}
}
}
If the MCP server doesn't start (especially with custom Node.js installations like nvm, volta, or homebrew):
Option 1: Use shell wrapper (macOS/Linux)
{
"mcpServers": {
"fastmode": {
"command": "/bin/zsh",
"args": ["-l", "-c", "npx -y fastmode-mcp"]
}
}
}
Option 2: Use absolute path to npx
Find your npx path with which npx, then:
{
"mcpServers": {
"fastmode": {
"command": "/path/to/your/npx",
"args": ["-y", "fastmode-mcp"]
}
}
}
After any config change: Fully quit and reopen your IDE (Cmd+Q on macOS, not just close window).
Ask your AI assistant what you want to do:
"I want to add some blog posts to my Fast Mode site"
The AI will call get_started(intent: "add_content") to see your projects and schema.
"Convert this website to Fast Mode format"
The AI will use validation tools to create a proper package structure.
Before deploying, validate your templates against the project schema:
"Validate my templates against my Fast Mode project and create any missing fields or collections"
The AI will automatically:
get_field_types to see available typessync_schema to create missing collections and fields⚠️ This step is critical! Templates won't render correctly if the fields don't exist.
Once your schema is synced:
"Deploy this to Fast Mode"
The AI will:
Your site will be available at https://your-site.fastmode.ai and you can manage content at app.fastmode.ai.
When your templates use custom fields, you must create them in the CMS before deploying. The MCP server handles this automatically.
1. "Convert my website to Fast Mode format"
2. "Validate all templates against my project and create any missing fields"
3. "Deploy to Fast Mode"
The AI will:
validate_template with your project ID to find missing fieldsget_field_types to determine the correct field type for eachsync_schema to create fields/collections before deployingWhen you validate a template with a project ID, the tool will:
sync_schema call to create themsync_schema call to create collection with fields| Type | Use For |
|---|---|
text |
Short text (titles, names, single lines) |
richText |
Long formatted content with HTML (blog bodies, bios) |
number |
Numeric values (prices, counts, order) |
boolean |
True/false toggles (featured, published) |
date |
Date picker (publishedAt, eventDate) |
datetime |
Date + time picker |
image |
Image uploads (heroImage, thumbnail, photo) |
url |
Links (website, social profiles) |
videoEmbed |
Use for video content - YouTube, Vimeo, Wistia, Loom. Template: {{#videoEmbed field}}{{/videoEmbed}} |
email |
Email addresses |
select |
Single dropdown choice (category, status) |
multiSelect |
Multiple dropdown choices (tags) |
relation |
Use for linked content (author → authors). Template: {{author.name}}, {{author.url}} |
The MCP server now provides intelligent field type suggestions when you use sync_schema:
For Video Content:
videoEmbed type (NOT url or text){{#videoEmbed videoFieldName}}{{/videoEmbed}}For Linked Content:
relation type (NOT text){{author.name}}, {{category.url}}referenceCollection parameter{
"projectId": "my-project",
"fieldsToAdd": [
{
"collectionSlug": "posts",
"fields": [
{ "slug": "heroImage", "name": "Hero Image", "type": "image" },
{ "slug": "category", "name": "Category", "type": "select", "options": "Tech,Business,Lifestyle" }
]
}
]
}
{
"projectId": "my-project",
"collections": [
{
"slug": "products",
"name": "Products",
"nameSingular": "Product",
"fields": [
{ "slug": "price", "name": "Price", "type": "number" },
{ "slug": "description", "name": "Description", "type": "richText" },
{ "slug": "image", "name": "Product Image", "type": "image" }
]
}
]
}
Features:
"Convert this website to Fast Mode, validate against my project, create any missing fields, and deploy"
# 1. Convert website
"Convert this website to Fast Mode format"
# 2. Validate and sync schema (IMPORTANT - don't skip!)
"Validate my templates against my Fast Mode project and create any missing fields or collections"
# 3. Deploy
"Deploy to my Fast Mode project"
# Check what fields you can create
"What field types are available in Fast Mode?"
# Add a specific field
"Add a heroImage field (image type) to the blogs collection"
# Create a new custom collection
"Create a 'testimonials' collection with name (text), quote (richText), and photo (image) fields"
# Validate a single template
"Validate my blog_post.html template against my project"
# List all blog posts
"Show me all items in my blog collection"
# Get details of a specific post
"Get the blog post with slug 'my-first-post'"
# Create a new blog post
"Create a new blog post titled 'AI in 2025' with content about artificial intelligence trends"
# Update an existing post
"Update the blog post 'my-first-post' to set featured to true"
# Delete a post (AI will ask for confirmation first)
"Delete the blog post 'old-draft-post'"
The MCP server uses browser-based authentication (OAuth device flow). When you run a tool that requires auth:
~/.fastmode/credentials.jsonYou can also set the FASTMODE_AUTH_TOKEN environment variable if you prefer.
Static pages (like homepages) can display content from CMS collections using {{#each}} loops:
<!-- Homepage showing 3 featured blog posts -->
<section class="featured-posts">
<h2>Latest Articles</h2>
{{#each posts featured=true limit=3}}
<article>
<h3><a href="{{url}}">{{name}}</a></h3>
<p>{{summary}}</p>
</article>
{{/each}}
</section>
The MCP validation tool will:
posts, team, products)sync_schema instructions to create themThis ensures your homepage's featured content section will work correctly after deployment.
Fast Mode automatically captures form submissions. Use the data-form attribute to identify forms:
<form data-form="contact">
<input type="text" name="name" required>
<input type="email" name="email" required>
<textarea name="message"></textarea>
<button type="submit">Send</button>
</form>
Requirements:
data-form="formname" attribute identifies the formname attributes to be capturedThe MCP validation tool will check:
data-form attributename attributes/thank-you pageNote: The legacy data-form-name attribute is deprecated. Use data-form instead.
Use get_example("form_handling") to see the full form handler script.
Fast Mode websites follow this structure:
my-site/
├── manifest.json # Site configuration
├── pages/ # HTML pages
│ ├── index.html
│ ├── about.html
│ └── contact.html
├── public/ # Static assets
│ ├── css/
│ ├── js/
│ └── images/
└── templates/ # CMS templates (optional)
├── blog_index.html
├── blog_post.html
└── team.html
Use the get_conversion_guide tool for detailed instructions.
multisite-cms-mcp to fastmode-mcp for claritycreate_cms_item, list_cms_items, get_cms_item, update_cms_item, delete_cms_itemsync_schemadeploy_package validates internally and BLOCKS deployment if there are errorsdata-form attribute, input names, submit buttons{{#each}} collection references against schemaMIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"fast-mode-mcp-server": {
"command": "npx",
"args": []
}
}
}