Skip to content
Fine Structure logo

Fine Structure MCP server

Which servers in the official MCP registry are Fine Structure's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-12

← Back to Fine Structure

Whose server it is
  • Registry nameai.finestructure/fine-structureverified in the MCP registry

The registry name sits under finestructure.ai. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-12
  • Stateanswerschecked 2026-10-12
  • Tools93
  • Server calls itselffine-structure-mcp
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-12 the server answered initialize and tools/list without a sign-in. First answer in 100 ms.

Tools it offers93 tools · read 2026-10-12
  • create_app

    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.

  • agency_create_client

    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.

  • agency_list_clients

    Agency mode only. List client records and app handoff status for the authenticated agent.

  • agency_create_client_app

    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.

  • agency_create_claim_link

    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.

  • agency_get_claim_status

    Agency mode only. Inspect one handoff status without exposing the raw claim token.

  • update_app

    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.

  • publish_app

    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.

  • get_platform_guide

    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.

  • get_recommended_workflow

    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.

  • get_job_status

    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.

  • get_app_status

    Get app overview: files, published state, URL, active jobs.

  • get_app_links

    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.

  • list_app_domains

    List an app's platform path, subdomain, and configured custom domain with verification, SSL, primary-domain, redirect, publish, and login-gating status.

  • set_app_subdomain

    Set 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…

  • check_subdomain_available

    Check 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…

  • add_custom_domain

    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.

  • get_domain_verification

    Return the exact DNS records and instructions required to verify and route the app custom domain.

  • check_domain_verification

    Check Fine Structure custom-domain verification and SSL status for the configured custom domain, then save the latest status.

  • set_primary_domain

    Set which app host should be treated as primary for generated links and custom-domain redirects.

  • remove_custom_domain

    Remove the configured custom domain from the app and clean up the platform-side hostname registration when possible.

  • get_domain_ssl_status

    Return SSL/certificate status and pending certificate validation DNS records for the app custom domain.

  • configure_domain_redirects

    Configure custom-domain redirect policy: primary domain, optional www/root redirect, and HTTPS enforcement.

  • list_apps

    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.

  • get_app_files

    Get the file tree for an app with paths and byte sizes.

  • read_app_file

    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.

  • read_app_files

    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.

  • write_app_file

    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.

  • patch_app_file

    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.

  • rename_app_file

    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.

  • get_app_detail

    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.

  • get_entities

    Get all entity (data model) schemas for an app, with record counts. Each entity has fields, types, and relationships.

  • query_entity

    Query app data records for one entity with optional exact-match filters.

  • seed_entity

    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).

  • create_entity_records

    Create/insert records in one app entity. Executes directly for the authenticated app owner and returns the created record ids.

  • update_entity_record

    Compatibility tool that updates one record by ID. Executes directly for the authenticated app owner.

  • update_entity_records

    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.

  • delete_entity_records

    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.

  • get_pages

    Get all pages in an app with their file paths and sizes.

  • get_errors

    Get recent runtime errors for an app (last 20). Useful for diagnosing issues before updating.

  • get_app_analytics

    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.

  • get_preview_url

    Return editor preview and published/public URLs for an app.

  • list_saved_versions

    List restorable Saved Versions for an app, including versions created by MCP writes.

  • create_change_set

    Create a staged file change set. Add multiple file changes, validate them as one app state, then apply atomically.

  • add_file_change

    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.

  • validate_change_set

    Validate current app files plus staged change set files before applying.

  • apply_change_set

    Apply a staged change set to the app. Creates a Saved Version before applying. Blocks on validation errors unless force=true.

  • discard_change_set

    Discard a pending staged change set without changing app files.

  • validate_app

    Run deterministic app checks: syntax, imports, routes/pages, entity schemas, missing entities, and recorded runtime errors.

  • inspect_preview

    Return server-side preview context: URLs, persisted runtime/network errors, static clickable candidates, pages, and explicit live-browser availability.

  • get_app_security_context

    Return safe security context for one owned app: owner id/email, Studio collaborators, generated-app members, route policies, entity policies, function policies, and recent security audit entries. Does not return secrets and does not grant…

  • set_route_policy

    Create or update a server-owned route policy for a generated app route.

  • set_function_policy

    Create or update the server-owned access policy of a backend function (functions/<name>.js). Without a policy a function answers only to the app owner's Studio token (401 for app visitors and webhooks). Recipes: anonymous checkout step or…

  • invoke_function

    Run a backend function of an owned app exactly like the HTTP route and return its status and JSON. caller='owner' runs as the app owner; caller='anonymous' first evaluates the function policy as a public visitor and returns the 401/403…

  • create_platform_request

    Open a request to the Fine Structure platform team: a bug, a feature request or a question about the platform itself (not about the user's app). Use it when something in the platform blocks you instead of working around it. Give a…

  • get_platform_request

    One platform request with its full history: team replies, status changes (open | triaged | in_progress | needs_info | deployed | wont_fix) and what was deployed (commit, time). Pass since=<ISO timestamp> to get only the events after it.

  • list_platform_requests

    Your account's platform requests, newest activity first. Call it at the start of a session with since=<the updated_date you last saw> to learn what changed: replies, needs_info questions to answer, deployments with their commit. Filters…

  • reply_platform_request

    Add a reply or a finding to one of your platform requests without opening a new one, e.g. to answer a needs_info question (that reopens it).

  • update_platform_request

    Platform team only: set the status of a request (open | triaged | in_progress | needs_info | deployed | wont_fix), attach the deployed commit and/or reply. deployed and needs_info mail the requester.

  • set_entity_policy

    Replace server-side entity access policy. Optional action rules override read/write roles and can allow public create without public read, update, or delete. Omitting rules replaces any existing action rules with read/write role behavior.

The first 60 of 93, as the server listed them.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "fine-structure": {
      "type": "http",
      "url": "https://finestructure.ai/api/mcp"
    }
  }
}

OpenAPI spec

130 paths, read 2026-10-12. Open the spec ↗

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.