MCP tools reference
The MCP server has 12 tools. Your AI tool calls them to read and write the pages of one website.
- One MCP token = one website. No tool takes a website id.
- Auth:
Authorization: Bearer <token>, or the token in the URL path (https://mcp.flocon-ai.com/<token>). Only themcptoken works. A bad token gives401. - Tools see drafts and published pages.
- Every tool returns JSON as text, except
list_docsandread_doc(plain text). Errors come back as a tool error with one plain sentence.
See Connect the MCP server to set it up. See the blocks reference for the blocks field.
Read tools
get_website
Call this first. No inputs.
Returns:
name,locales,defaultLocaleplanlimits:publishedandmaxPagescounts:published,drafts,total
list_pages
Lists pages, drafts included. No blocks.
| Input | Type | Required |
|---|---|---|
locale | string | no |
status | draft or published | no |
pathPrefix | string, e.g. /vs/ | no |
Returns { pages }. Each page has path, locale, title, status, updatedAt.
search_pages
Searches the title, SEO description, path and block text. Case-insensitive. Drafts included.
| Input | Type | Required |
|---|---|---|
query | string, 1 character or more | yes |
locale | string | no |
Returns { pages }, same fields as list_pages.
get_page
| Input | Type | Required |
|---|---|---|
locale | string | yes |
path | string | yes |
Returns the full page (seo and blocks included), draft or published.
Error: No page at <path> in locale "<locale>".
get_setup
Returns ready-to-paste code for the website.
| Input | Type | Required |
|---|---|---|
framework | nextjs (default) | no |
Returns framework, files (each with path and code), env and notes.
list_docs
Lists the Flocon AI docs: the title, URL and summary of every page. No inputs.
Returns https://flocon-ai.com/llms.txt as plain text. Your AI tool uses it to answer questions about Flocon AI itself (plans, drafts, setup, blocks).
read_doc
Returns one docs page as Markdown.
| Input | Type | Required |
|---|---|---|
url | a docs URL from list_docs | yes |
Error: Not a Flocon AI docs URL. Only flocon-ai.com/docs/... URLs work.
Write tools
create_page
Creates a page. It is published if there is room, else saved as a draft. The message says which.
| Input | Type | Required |
|---|---|---|
locale | string | yes |
path | string | yes |
title | string, the H1 | yes |
seo | object | yes |
blocks | array of blocks | yes |
publish | boolean, default true. false saves a draft | no |
publishAt | ISO date-time. Schedules the page. It uses a published slot now | no |
seo fields: title, description (required), keywords, author, schemas (optional).
Returns path, locale, status, publishAt, message, warnings.
Errors:
- Path exists: use
update_page. - Page limit reached: nothing is saved.
- Published limit reached: the page is saved as a draft instead (not an error). The message says so.
- Validation failed:
Not saved. Fix this and try again:plus a list.
update_page
Changes a page. The status does not change.
| Input | Type | Required |
|---|---|---|
locale | string | yes |
path | string | yes |
title | string | no |
seo | partial object, merged with the current seo | no |
blocks | array of blocks, replaced whole | no |
publishAt | ISO date-time. Only applies to a published page | no |
Returns path, locale, status, publishAt, message, warnings. On a draft, publishAt is ignored and the message says so.
Errors: page not found, validation failed.
publish_page
Publishes a draft.
| Input | Type | Required |
|---|---|---|
locale | string | yes |
path | string | yes |
Returns path, locale, status, message.
Errors: page not found, published limit reached.
unpublish_page
Turns a published page back into a draft. It frees a published slot.
| Input | Type | Required |
|---|---|---|
locale | string | yes |
path | string | yes |
Returns path, locale, status (draft), message.
Error: page not found.
delete_page
Deletes a page for good. This cannot be undone.
| Input | Type | Required |
|---|---|---|
locale | string | yes |
path | string | yes |
Returns path, locale, message.
Error: page not found.
Validation rules
A write is refused if:
- the
localeis not enabled on the website - the
path:- does not start with
/ - ends with
/ - contains
// - uses anything but lowercase
a-z,0-9,-and/ - starts with a locale
- is longer than 200 characters
- does not start with
- there are more than 100 blocks
- the blocks are bigger than 50 KB
titleis empty
These give warnings, not errors (the page is still saved):
seo.titleis longer than 60 charactersseo.descriptionis not between 140 and 160 characters
Limits
| Plan | Published pages | Total pages (published + drafts) |
|---|---|---|
| Free | 10 | 20 |
| Pro | 50 | 100 |
| Business | 500 | 1000 |
- Published limit: blocks
publish_pageand a publishedcreate_page. - Page limit: blocks any
create_page, draft or not. - Errors show the counts, for example
Published limit reached (10/10 on free).
Updated