Fine Structure MCP server
Build and host full-stack apps from a prompt, with agents that reach you on WhatsApp and email.
Little public usage data yet
Reviews
Write oneNobody has reviewed Fine Structure yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Fine Structure tools (84, 30 write)
write = sends, deletes, buys or postsadd_custom_domainFreeAttach 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.
add_file_changeFreeStage 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.
agency_create_claim_linkwrite actionFreeAgency 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.
agency_create_clientwrite actionFreeAgency 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.
agency_create_client_appwrite actionFreeAgency 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.
agency_get_claim_statusFreeAgency mode only. Inspect one handoff status without exposing the raw claim token.
agency_list_clientsFreeAgency mode only. List client records and app handoff status for the authenticated agent.
apply_change_setFreeApply a staged change set to the app. Creates a Saved Version before applying. Blocks on validation errors unless force=true.
attach_agent_whatsappFreeConnect 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.
check_domain_verificationFreeCheck Fine Structure custom-domain verification and SSL status for the configured custom domain, then save the latest status.
check_subdomain_availableFreeCheck whether a platform subdomain can be claimed before calling set_app_subdomain. Returns available plus a status of available, invalid, reserved, taken, current, or empty, with the exact reason. Pass app_id (an app you own) to have that app's own current subdomain reported as 'current' instead of 'taken'.
compare_current_to_versionFreeCompare the current app files to a Saved Version and return compact per-file diffs.
compare_saved_versionsFreeCompare two Saved Versions and return per-file additions, removals, modifications, and compact diffs.
configure_domain_redirectsFreeConfigure custom-domain redirect policy: primary domain, optional www/root redirect, and HTTPS enforcement.
configure_integrationFreeStore safe non-secret integration metadata for an app. Use set_secret for API keys/tokens.
confirm_owner_phone_verificationFreeConfirm 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.
create_ab_testwrite actionFreeCreate 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.
create_agentwrite actionFreeCreate 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_task for recurring work such as following up new leads on WhatsApp each morning, watching an app for runtime errors, or sending a weekly summary. Messaging anyone other than the verified owner requires a channel the owner connects in the Fine Structure Studio.
create_appwrite actionFreeCreate 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.
create_change_setwrite actionFreeCreate a staged file change set. Add multiple file changes, validate them as one app state, then apply atomically.
create_entity_recordswrite actionFreeCreate/insert records in one app entity. Executes directly for the authenticated app owner and returns the created record ids.
create_entity_schemawrite actionFreeCreate an entity schema file in entities/<Entity>.json. Creates a Saved Version before writing.
delete_ab_testwrite actionFreeDelete a native A/B test from an app. Creates a Saved Version before the change.
delete_entity_recordswrite actionFreeDelete 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.
delete_secretwrite actionFreeDelete one app secret by key.
detach_agent_whatsappFreeDisconnect the owner's WhatsApp route from a platform number. Removes only this account's route; other accounts sharing the number keep theirs.
discard_change_setFreeDiscard a pending staged change set without changing app files.
get_ab_test_statsFreeGet views, unique visitors, conversions, and conversion rates for an A/B test.
get_agent_whatsappFreeRead 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.
get_app_analyticsFreeTraffic 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.
get_app_detailFreeDeep introspection of an app: entities, pages, settings, integrations, environment variables, and file structure. Use this to understand what an app contains before updating it.
get_app_filesFreeGet the file tree for an app with paths and byte sizes.
get_app_linksFreeReturn 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.
get_app_security_auditFreeRead recent server-side security audit events for an app.
get_app_security_contextFreeReturn 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.
get_app_statusFreeGet app overview: files, published state, URL, active jobs.
get_domain_ssl_statusFreeReturn SSL/certificate status and pending certificate validation DNS records for the app custom domain.
get_domain_verificationFreeReturn the exact DNS records and instructions required to verify and route the app custom domain.
get_entitiesFreeGet all entity (data model) schemas for an app, with record counts. Each entity has fields, types, and relationships.
get_errorsFreeGet recent runtime errors for an app (last 20). Useful for diagnosing issues before updating.
get_job_statusFreePoll 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.
get_pagesFreeGet all pages in an app with their file paths and sizes.
get_platform_guideFreeReturn 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.
get_preview_urlFreeReturn editor preview and published/public URLs for an app.
get_recommended_workflowFreeReturn 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.
inspect_previewFreeReturn server-side preview context: URLs, persisted runtime/network errors, static clickable candidates, pages, and explicit live-browser availability.
invite_app_memberFreeProvision 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.
list_ab_testsFreeList the platform A/B tests configured for an app.
list_agent_tasksFreeList scheduled tasks for one agent (or the whole account), including schedule, status and next_run_at.
list_agentsFreeList the AI agents on the user's account with id, name, role, status and FineMail address.
list_app_domainsFreeList an app's platform path, subdomain, and configured custom domain with verification, SSL, primary-domain, redirect, publish, and login-gating status.
list_app_membersFreeList generated-app runtime users/members for an app. This is separate from Studio project collaborators.
list_appsFreeList 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.
list_integrationsFreeList supported integrations and safe connected integration metadata for an app. Tokens/secrets are never returned.
list_saved_versionsFreeList restorable Saved Versions for an app, including versions created by MCP writes.
list_secret_keysFreeList secret key names for an app. Secret values are never returned.
patch_app_filewrite actionFreePatch 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.
publish_appwrite actionFreePublish 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.
query_entityFreeQuery app data records for one entity with optional exact-match filters.
read_app_fileFreeRead 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.
read_app_filesFreeRead 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.
remove_app_memberwrite actionFreeRemove a generated-app runtime member.
remove_custom_domainwrite actionFreeRemove the configured custom domain from the app and clean up the platform-side hostname registration when possible.
rename_app_fileFreeRename 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.
restore_file_from_versionFreeRestore 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.
schedule_agent_taskwrite actionFreeCreate 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 fire time back to the user in their timezone.
seed_entityFreeCompatibility tool for starter-record creation. Inserts directly for the authenticated app owner; by default it only seeds an empty entity (skip_if_not_empty).
set_app_subdomainFreeSet or clear the app platform subdomain - the '<subdomain>.<base domain>' host Fine Structure already serves the app on. Runs the same ownership, format, reserved-name and uniqueness checks as the Studio subdomain field because it calls the same model function. Replacing a subdomain takes effect immediately and creates NO redirect: the previous name stops resolving to this app and is released for anyone to claim. Pass an empty subdomain to clear it. For a domain the user owns, use add_custom_domain instead.
set_entity_policywrite actionFreeCreate or update server-side read/write role policy for an app entity.
set_primary_domainFreeSet which app host should be treated as primary for generated links and custom-domain redirects.
set_route_policywrite actionFreeCreate or update a server-owned route policy for a generated app route.
set_secretwrite actionFreeCreate or update one encrypted app secret. The secret value is never returned.
start_owner_phone_verificationwrite actionFreeSend 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.
update_ab_testwrite actionFreeUpdate a native A/B test, including active state, variants, traffic, and conversion goal. Creates a Saved Version before the change.
update_appwrite actionFreeUpdate 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.
update_app_member_rolewrite actionFreeUpdate a generated-app runtime member role. This cannot assign owner and cannot change the Fine Structure account owner.
update_entity_metadatawrite actionFreeSet relationship/index metadata on an entity schema. This stores metadata in the schema file; DB index creation is automatic where supported by the platform.
update_entity_recordwrite actionFreeCompatibility tool that updates one record by ID. Executes directly for the authenticated app owner.
update_entity_recordswrite actionFreeUpdate 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.
update_entity_schemawrite actionFreeReplace or shallow-merge an existing entity schema file. Creates a Saved Version before writing.
validate_appwrite actionFreeRun deterministic app checks: syntax, imports, routes/pages, entity schemas, missing entities, and recorded runtime errors.
validate_change_setFreeValidate current app files plus staged change set files before applying.
validate_entity_relationshipsFreeValidate entity relationship metadata and *_id references against existing entity schemas.
write_app_filewrite actionFreeCreate 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.
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 1435ms20/20
- Tool poisoning84 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 30 write-action tools with no auth3/15
- Maintenanceno repository listed3/15
- Maintainer identityverified namespace with website, no repo4/10
Findings (2)
- highWrite-action tools reachable without authentication
auth.open-write - lowNo source repository listed
maint.no-repo
Install directly
claude mcp add --transport http fine-structure https://finestructure.ai/api/mcp
Fine Structure: common questions
- Is Fine Structure MCP server safe?
- With care: it is graded C, so read the findings first (60/100). Read the Fine Structure safety report
- How do I install Fine Structure?
- It runs remotely at finestructure.ai. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Fine Structure need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Fine Structure maintained?
- The latest release is v1.0.2.
- Is Fine Structure up?
- 100% of our last 20 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Fine Structure?
- Servers from other publishers that do the same job: Impreza Host MCP server, smbCloud Mail & Auth MCP server and Mixmax MCP server. Compare all Fine Structure alternatives.
Alternatives to Fine Structure
Same job from other publishers: the closest match first, then the best rated.
Impreza HostNo-KYC offshore hosting an AI agent runs end-to-end: no-email signup, crypto, VPS, deploy, Tor.not reviewedGrowingB
smbCloud Mail & AuthEmail infrastructure and authentication for developers: domains, inbox routes, auth apps, deploys.not reviewedGrowingA- not reviewedGrowingA
MonacloudBuy .vn/intl domains in VND, deploy apps, Postgres, email, VietQR pay — Vietnam MCP for AI agentsnot reviewedGrowingB
BirdSend and receive across email, SMS, WhatsApp, and voice. One API, one contract.not reviewedGrowingA