Model Context Protocol (MCP) server for Strapi CMS - AI-powered content management with natural language. Create, manage, and publish blog
Create a new application from a natural language prompt. The AI generates a complete web app with pages, components, styling, and data models. Returns a job_id - poll get_job_status to track progress. When the job is done, the app is ready.
ArgumentsA call is made on an account: it counts against an allowance and the publisher sees it, which is why this one asks who you are first.
What it does
Remote MCP server for agents that create, edit, validate, and publish Fine Structure apps.
Quickstart
# 1 — install (mcprush login holds a key from your dashboard)
npx mcprush@latest add fine-structure-mcp
# 2 — ask your agent something
> Remote MCP server for agents that create, edit, validate, and publish Fine Structure apps.
Fine Structure is free: there is no plan to choose, no cap to set and nothing that can bill you.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine — this server runs on the publisher’s own infrastructure behind our gateway, and what you install is the connection to it.
This is a public server: you run it yourself and this marketplace is not in the path. Claude Code registers it in one command.
claude mcp add --transport http fine-structure-mcp https://finestructure.ai/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing at the gateway. The server itself runs on the publisher’s own infrastructure, so nothing from this listing executes on your machine.
82 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Create a new application from a natural language prompt. The AI generates a complete web app with pages, components, styling, and data models. Returns a job_id - poll get_job_status to track progress. When the job is done, the app is ready.
Takes no parameters.
Agency mode only. Create or update a client record for an account-level agent. This does not create a verified Fine Structure user account and does not transfer ownership.
Takes no parameters.
Agency mode only. List client records and app handoff status for the authenticated agent.
Takes no parameters.
Agency mode only. Create a new app owned by the agent, start generation, and create a claim link for the client. Ownership transfers only when the invited client logs in with the same email and accepts the claim link.
Takes no parameters.
Agency mode only. Create a client claim link for an existing app owned by the agent. The client must log in with the invited email before ownership transfers.
Takes no parameters.
Agency mode only. Inspect one handoff status without exposing the raw claim token.
Takes no parameters.
Update an existing application with a new prompt. The AI modifies the app based on your instructions. Creates a Saved Version before the update. Returns a job_id - poll get_job_status to track progress.
Takes no parameters.
Publish an app - freeze current state and make it live at a URL. Also configures whether the public URL is open, app-login gated, private, or inferred from the app.
Takes no parameters.
Return a machine-readable Fine Structure / FSe2 guide for AI agents. Call this at the start of an MCP session to learn app files, entities, safe edit workflows, validation, publishing, A/B testing, secrets, and platform rules.
Takes no parameters.
Return the recommended MCP tool sequence for a task type. Use this before creating apps, editing files, seeding data, publishing, setting up A/B tests, restoring versions, or configuring secrets/integrations.
Takes no parameters.
Poll the status of an async generation job. Use this after create_app or update_app to know when the job is done. Returns status ('running' or 'done'), progress events, and result summary when complete.
Takes no parameters.
Get app overview: files, published state, URL, active jobs.
Takes no parameters.
Return editor, preview, published path, subdomain, and custom-domain links plus whether each works for anonymous visitors, app users, or Studio users based on publish and auth settings.
Takes no parameters.
List an app's platform path, subdomain, and configured custom domain with verification, SSL, primary-domain, redirect, publish, and login-gating status.
Takes no parameters.
Attach or replace the app custom domain through the same Fine Structure Studio custom-domain flow. Returns exact DNS verification and routing records for the user to configure at their DNS provider.
Takes no parameters.
Return the exact DNS records and instructions required to verify and route the app custom domain.
Takes no parameters.
Check Fine Structure custom-domain verification and SSL status for the configured custom domain, then save the latest status.
Takes no parameters.
Set which app host should be treated as primary for generated links and custom-domain redirects.
Takes no parameters.
Remove the configured custom domain from the app and clean up the platform-side hostname registration when possible.
Takes no parameters.
Return SSL/certificate status and pending certificate validation DNS records for the app custom domain.
Takes no parameters.
Configure custom-domain redirect policy: primary domain, optional www/root redirect, and HTTPS enforcement.
Takes no parameters.
List applications owned by the authenticated user, newest activity first. Returns up to `limit` apps per call plus the total count; page with `offset` when the account has more.
Takes no parameters.
Get the file tree for an app with paths and byte sizes.
Takes no parameters.
Read one source file from an app's virtual filesystem. Paths follow the Fine Structure app file API, documented at https://finestructure.ai/api/mcp/docs.
Takes no parameters.
Read several source files from an app's virtual filesystem. Paths follow the Fine Structure app file API, documented at https://finestructure.ai/api/mcp/docs.
Takes no parameters.
Create or replace one file in an app's virtual filesystem. Creates a Saved Version before changing content. Paths and file model follow the Fine Structure app file API, documented at https://finestructure.ai/api/mcp/docs.
Takes no parameters.
Patch one file by replacing exact text. Safer than full overwrite for targeted edits. Creates a Saved Version before changing content. Paths follow the Fine Structure app file API, documented at https://finestructure.ai/api/mcp/docs.
Takes no parameters.
Rename or move one app source file atomically. Internally stages an upsert at new_path and a delete at old_path, validates the resulting app state, and creates a Saved Version before applying.
Takes no parameters.
Deep introspection of an app: entities, pages, settings, integrations, environment variables, and file structure. Use this to understand what an app contains before updating it.
Takes no parameters.
Get all entity (data model) schemas for an app, with record counts. Each entity has fields, types, and relationships.
Takes no parameters.
Query app data records for one entity with optional exact-match filters.
Takes no parameters.
Compatibility tool for starter-record creation. Inserts directly for the authenticated app owner; by default it only seeds an empty entity (skip_if_not_empty).
Takes no parameters.
Create/insert records in one app entity. Executes directly for the authenticated app owner and returns the created record ids.
Takes no parameters.
Compatibility tool that updates one record by ID. Executes directly for the authenticated app owner.
Takes no parameters.
Update exact records. Select explicit record_ids or exact-match filters and provide shared changes, or provide per-record updates. Executes directly for the authenticated app owner; expected_count aborts the write on a mismatch.
Takes no parameters.
Delete exact records by ID or exact-match filters. Executes directly for the authenticated app owner; pass expected_count as a safety check to abort on a mismatch.
Takes no parameters.
Get all pages in an app with their file paths and sizes.
Takes no parameters.
Get recent runtime errors for an app (last 20). Useful for diagnosing issues before updating.
Takes no parameters.
Traffic analytics for an app's published site over a chosen window: total views, unique visitors, daily series, top pages, top referrer domains and device split.
Takes no parameters.
Return editor preview and published/public URLs for an app.
Takes no parameters.
List restorable Saved Versions for an app, including versions created by MCP writes.
Takes no parameters.
Create a staged file change set. Add multiple file changes, validate them as one app state, then apply atomically.
Takes no parameters.
Stage one file upsert or delete inside a change set. Does not modify the live app until apply_change_set. Paths follow the Fine Structure app file API, documented at https://finestructure.ai/api/mcp/docs.
Takes no parameters.
Validate current app files plus staged change set files before applying.
Takes no parameters.
Apply a staged change set to the app. Creates a Saved Version before applying. Blocks on validation errors unless force=true.
Takes no parameters.
Discard a pending staged change set without changing app files.
Takes no parameters.
Run deterministic app checks: syntax, imports, routes/pages, entity schemas, missing entities, and recorded runtime errors.
Takes no parameters.
Return server-side preview context: URLs, persisted runtime/network errors, static clickable candidates, pages, and explicit live-browser availability.
Takes no parameters.
Return safe security context for one owned app: owner id/email, Studio collaborators, generated-app members, route policies, entity policies, and recent security audit entries. Does not return secrets and does not grant access to other apps.
Takes no parameters.
Create or update a server-owned route policy for a generated app route.
Takes no parameters.
Create or update server-side read/write role policy for an app entity.
Takes no parameters.
List generated-app runtime users/members for an app. This is separate from Studio project collaborators.
Takes no parameters.
Provision a generated-app runtime member with a role. This does not create a Studio collaborator, and the owner role cannot be assigned. password is required: ask the account owner which password the member should get. This tool never generates one, because a generated password would come back in the result and that is a live credential in the conversation transcript.
Takes no parameters.
Update a generated-app runtime member role. This cannot assign owner and cannot change the Fine Structure account owner.
Takes no parameters.
Remove a generated-app runtime member.
Takes no parameters.
Read recent server-side security audit events for an app.
Takes no parameters.
Compare two Saved Versions and return per-file additions, removals, modifications, and compact diffs.
Takes no parameters.
Compare the current app files to a Saved Version and return compact per-file diffs.
Takes no parameters.
Restore one file from a Saved Version instead of restoring the entire app. Creates a Saved Version before changing the file. Paths follow the Fine Structure app file API, documented at https://finestructure.ai/api/mcp/docs.
Takes no parameters.
Create an entity schema file in entities/<Entity>.json. Creates a Saved Version before writing.
Takes no parameters.
Replace or shallow-merge an existing entity schema file. Creates a Saved Version before writing.
Takes no parameters.
Validate entity relationship metadata and *_id references against existing entity schemas.
Takes no parameters.
Set relationship/index metadata on an entity schema. This stores metadata in the schema file; DB index creation is automatic where supported by the platform.
Takes no parameters.
List secret key names for an app. Secret values are never returned.
Takes no parameters.
Create or update one encrypted app secret. The secret value is never returned.
Takes no parameters.
Delete one app secret by key.
Takes no parameters.
List supported integrations and safe connected integration metadata for an app. Tokens/secrets are never returned.
Takes no parameters.
Store safe non-secret integration metadata for an app. Use set_secret for API keys/tokens.
Takes no parameters.
List the platform A/B tests configured for an app.
Takes no parameters.
Create a native Fine Structure A/B test between existing app pages. Use update_app first if a variant page still needs to be generated. Creates a Saved Version before the change.
Takes no parameters.
Update a native A/B test, including active state, variants, traffic, and conversion goal. Creates a Saved Version before the change.
Takes no parameters.
Delete a native A/B test from an app. Creates a Saved Version before the change.
Takes no parameters.
Get views, unique visitors, conversions, and conversion rates for an A/B test.
Takes no parameters.
Create an autonomous AI agent on the user's Fine Structure account: a standing worker, not a chat session. It gets the platform's default safe tool policy and its own email address, it can read and write the app database, and once the owner phone is verified (see get_agent_whatsapp) it can message its owner on WhatsApp and by email through the platform system channels. Pair it with schedule_agent_
Takes no parameters.
List the AI agents on the user's account with id, name, role, status and FineMail address.
Takes no parameters.
Create a scheduled task for one of the user's agents. Supported schedule types: once (run_at ISO local time + timezone), interval (interval_minutes 5-1440), hourly, daily (time HH:MM + timezone), weekly (time + timezone + days_of_week 0=Sunday..6), cron (5-field expression + timezone), manual (only runs on demand). Returns the normalized schedule and the computed next_run_at so you can read the fi
Takes no parameters.
List scheduled tasks for one agent (or the whole account), including schedule, status and next_run_at.
Takes no parameters.
Read the WhatsApp state of the connected account: whether the owner's phone is verified, which platform numbers they can connect, and which conversations already route to which agent. Call this first whenever the user asks to talk to an agent on WhatsApp, and repeat its next_step to them.
Takes no parameters.
Send a 6-digit code over WhatsApp to the ACCOUNT OWNER's own phone. This is the one-time ownership proof required before a platform number can be connected, and it also unlocks agents messaging the owner. Ask the user for their own WhatsApp number first and send only to that. No WhatsApp Business account is involved.
Takes no parameters.
Confirm the 6-digit code the owner received on WhatsApp from start_owner_phone_verification. On success the owner is verified: agents can message them, and platform numbers become connectable.
Takes no parameters.
Connect a platform WhatsApp number to one of the account's agents, so the owner can message that number and reach that agent. Requires the owner to be verified first. Take phone_number_id from get_agent_whatsapp. A number already used by another account is still valid to connect: it answers only this owner's verified phone.
Takes no parameters.
Disconnect the owner's WhatsApp route from a platform number. Removes only this account's route; other accounts sharing the number keep theirs.
Takes no parameters.
- Every tool, no call limit
- No card, no account needed
- Source published under a licence you can read
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because nothing bills
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable. Fine Structure costs nothing to install and nothing to call, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is a hosted endpoint: the publisher runs it and we connect to it. The scanner reads packages and source, and neither exists to read here, so there is no grade — not a withheld one, an unmeasured one. What can be checked instead is on Installation: what it asks to reach and what it writes.
Release history
Pinned to 1.0.0 — the install command below asks for that release. A pin is part of an install, so it is kept for this visit and written down when you install.
No release note was published with this version.
Only accounts with at least 50 real tool calls against this server in the last 90 days can post. Ratings are weighted by how much the reviewer actually uses it, and publishers can reply once per review.
Writing one takes an account with at least 50 real tool calls against Fine Structure in the last 90 days. That is the whole gate — there is no other way to post, which is why the counts beside each review are worth reading.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes an account with 50 real tool calls against it.