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.
输入参数name必填prompt必填description
agency_create_client
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.
输入参数noteclient_email必填client_full_name
agency_list_clients
Agency: List Clients
Agency mode only. List client records and app handoff status for the authenticated agent.
输入参数include_handoffs
agency_create_client_app
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.
输入参数name必填noteprompt必填descriptionclient_email必填client_full_nameclaim_expires_in_dayskeep_agent_collaborator
agency_create_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.
输入参数noteapp_id必填client_email必填client_full_nameclaim_expires_in_dayskeep_agent_collaborator
agency_get_claim_status
Agency: Get Claim Status
Agency mode only. Inspect one handoff status without exposing the raw claim token.
输入参数handoff_id必填
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.
输入参数app_id必填prompt必填
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.
输入参数app_id必填access_modemake_publicauth_required
get_platform_guide
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.
输入参数app_idsectionstask_type
get_recommended_workflow
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.
输入参数goalapp_idtask_type
get_job_status
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.
输入参数job_id必填
get_app_status
Get App Status
Get app overview: files, published state, URL, active jobs.
输入参数app_id必填
get_app_links
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.
输入参数app_id必填
list_app_domains
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.
输入参数app_id必填
set_app_subdomain
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 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.
输入参数app_id必填subdomain必填
check_subdomain_available
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 that app's own current subdomain reported as 'current' instead of 'taken'.
输入参数app_idsubdomain必填
add_custom_domain
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.
输入参数app_id必填domain必填
get_domain_verification
Get Domain Verification
Return the exact DNS records and instructions required to verify and route the app custom domain.
输入参数app_id必填domain
check_domain_verification
Check Domain Verification
Check Fine Structure custom-domain verification and SSL status for the configured custom domain, then save the latest status.
输入参数app_id必填domain
set_primary_domain
Set Primary Domain
Set which app host should be treated as primary for generated links and custom-domain redirects.
输入参数app_id必填domain必填
remove_custom_domain
Remove Custom Domain
Remove the configured custom domain from the app and clean up the platform-side hostname registration when possible.
输入参数app_id必填domain
get_domain_ssl_status
Get Domain SSL Status
Return SSL/certificate status and pending certificate validation DNS records for the app custom domain.
输入参数app_id必填domain
configure_domain_redirects
Configure Domain Redirects
Configure custom-domain redirect policy: primary domain, optional www/root redirect, and HTTPS enforcement.
输入参数app_id必填force_httpsredirect_wwwprimary_domain必填
List owned and accepted Studio-shared applications, newest activity first. Returns up to `limit` apps per call plus the total count; page with `offset` when the account has more. Accepted editors can edit shared source; viewers can read it. Publishing, records, domains and security administration remain owner-only.
输入参数limitoffset
get_app_files
Get App Files
Get the file tree for an app with paths and byte sizes.
输入参数app_id必填
read_app_file
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.
输入参数path必填app_id必填max_chars
read_app_files
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.
输入参数paths必填app_id必填max_chars_per_file
write_app_file
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.
输入参数path必填app_id必填content必填file_type
patch_app_file
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.
输入参数path必填app_id必填new_text必填old_text必填replace_all
rename_app_file
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.
输入参数forceapp_id必填new_path必填old_path必填overwrite
get_app_detail
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.
输入参数app_id必填
Get all entity (data model) schemas for an app, with record counts. Each entity has fields, types, and relationships.
输入参数app_id必填
Query app data records for one entity with optional exact-match filters.
输入参数sortlimitapp_id必填entity必填offsetfilters
seed_entity
Seed Entity Records
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).
输入参数modeapp_id必填entity必填reasonrecords必填
create_entity_records
Create Entity Records
Create/insert records in one app entity. Executes directly for the authenticated app owner and returns the created record ids.
输入参数app_id必填entity必填reasonrecords必填expected_count
update_entity_record
Update Entity Record
Compatibility tool that updates one record by ID. Executes directly for the authenticated app owner.
输入参数data必填app_id必填entity必填reasonrecord_id必填
update_entity_records
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.
输入参数app_id必填entity必填reasonchangesfiltersupdatesrecord_idsexpected_count
delete_entity_records
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.
输入参数app_id必填entity必填reasonfiltersrecord_idsexpected_count
Get all pages in an app with their file paths and sizes.
输入参数app_id必填
Get recent runtime errors for an app (last 20). Useful for diagnosing issues before updating.
输入参数limitapp_id必填
get_app_analytics
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.
输入参数daysapp_id必填
get_preview_url
Get Preview URL
Return editor preview and published/public URLs for an app.
输入参数app_id必填
list_saved_versions
List Saved Versions
List restorable Saved Versions for an app, including versions created by MCP writes.
输入参数app_id必填
create_change_set
Create Change Set
Create a staged file change set. Add multiple file changes, validate them as one app state, then apply atomically.
输入参数labelapp_id必填
add_file_change
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.
输入参数path必填app_id必填contentfile_typeoperationchange_set_id必填
validate_change_set
Validate Change Set
Validate current app files plus staged change set files before applying.
输入参数app_id必填change_set_id必填include_runtime_errors
apply_change_set
Apply Change Set
Apply a staged change set to the app. Creates a Saved Version before applying. Blocks on validation errors unless force=true.
输入参数forceapp_id必填change_set_id必填
discard_change_set
Discard Change Set
Discard a pending staged change set without changing app files.
输入参数app_id必填change_set_id必填
Run deterministic app checks: syntax, imports, routes/pages, entity schemas, missing entities, and recorded runtime errors.
输入参数app_id必填include_runtime_errors
inspect_preview
Inspect Live Preview
Return server-side preview context: URLs, persisted runtime/network errors, static clickable candidates, pages, and explicit live-browser availability.
输入参数routeapp_id必填auth_asauth_as_role
get_app_security_context
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 access to other apps.
输入参数app_id必填audit_limit
set_route_policy
Set Route Policy
Create or update a server-owned route policy for a generated app route.
输入参数route必填app_id必填redirect_torequire_auth必填allowed_roles必填
set_function_policy
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 inbound webhook/IPN -> require_auth=false; signed-in members -> require_auth=true + allowed_roles (e.g. ['authenticated'] or ['admin','staff']); webhook with a shared secret -> require_secret=true + secret_name (an app secret) that the caller sends in secret_header. allowed_hosts fences the function's outbound network to those hosts plus the platform backend; omit it for open egress.
输入参数app_id必填function必填secret_namerequire_auth必填sdk_identityallowed_hostsallowed_rolessecret_headerrequire_secret
invoke_function
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 decision without running when access would be denied. Use it to verify a function (secrets, outbound calls, policy) before wiring it into the app.
输入参数app_id必填callerparamsheadersfunction必填
create_platform_request
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 reproduction the team can run (invoke_function / curl / the exact tool call and result), what you expected, and how the team will know it is closed. Credential-looking values are redacted. Returns request_id and a Studio URL; the team's replies, status changes and deployments come back through get_platform_request / list_platform_requests. Limits: 20 per account per day, 32 KB.
输入参数body必填type必填title必填app_idexpectedseverityacceptanceattachmentsreproduction
get_platform_request
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.
输入参数sincerequest_id必填
list_platform_requests
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: app_id, status.
输入参数limitscopesinceapp_idstatus
reply_platform_request
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).
输入参数body必填as_teamrequest_id必填
update_platform_request
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.
输入参数replystatusrequest_id必填deployed_commit
set_entity_policy
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.
输入参数read必填ruleswrite必填app_id必填entity必填
list_app_members
List App Members
List generated-app runtime users/members for an app. This is separate from Studio project collaborators.
输入参数app_id必填
invite_app_member
Invite App Member
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.
输入参数role必填email必填app_id必填password必填full_name
update_app_member_role
Update App Member Role
Update a generated-app runtime member role. This cannot assign owner and cannot change the Fine Structure account owner.
输入参数role必填app_id必填user_id必填
remove_app_member
Remove App Member
Remove a generated-app runtime member.
输入参数app_id必填user_id必填
get_app_security_audit
Get App Security Audit
Read recent server-side security audit events for an app.
输入参数limitapp_id必填
compare_saved_versions
Compare Saved Versions
Compare two Saved Versions and return per-file additions, removals, modifications, and compact diffs.
输入参数app_id必填max_diff_charsbase_snapshot_id必填target_snapshot_id必填
compare_current_to_version
Compare Current To Version
Compare the current app files to a Saved Version and return compact per-file diffs.
输入参数app_id必填snapshot_id必填max_diff_chars
restore_file_from_version
Restore File From Version
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.
输入参数path必填app_id必填confirm必填snapshot_id必填
create_entity_schema
Create Entity Schema
Create an entity schema file in entities/<Entity>.json. Creates a Saved Version before writing.
输入参数app_id必填entity必填schema必填indexesmetadataoverwriterelationships
update_entity_schema
Update Entity Schema
Replace or shallow-merge an existing entity schema file. Creates a Saved Version before writing.
输入参数mergeapp_id必填entity必填schema必填indexesmetadatarelationships
validate_entity_relationships
Validate Entity Relationships
Validate entity relationship metadata and *_id references against existing entity schemas.
输入参数app_id必填
update_entity_metadata
Update Entity Metadata
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.
输入参数app_id必填entity必填indexesmetadatarelationships
list_secret_keys
List Secret Keys
List secret key names for an app. Secret values are never returned.
输入参数app_id必填
Create or update one encrypted app secret. The secret value is never returned.
输入参数key必填value必填app_id必填
delete_secret
Delete Secret
Delete one app secret by key.
输入参数key必填app_id必填
list_integrations
List Integrations
List supported integrations and safe connected integration metadata for an app. Tokens/secrets are never returned.
输入参数app_id必填
configure_integration
Configure Integration
Store safe non-secret integration metadata for an app. Use set_secret for API keys/tokens.
输入参数app_id必填config必填provider必填is_active
list_ab_tests
List A/B Tests
List the platform A/B tests configured for an app.
输入参数app_id必填
create_ab_test
Create A/B Test
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.
输入参数name必填app_id必填variants必填is_activepage_name必填goal_event_typegoal_event_filter
update_ab_test
Update A/B Test
Update a native A/B test, including active state, variants, traffic, and conversion goal. Creates a Saved Version before the change.
输入参数nameapp_id必填test_id必填variantsis_activepage_namegoal_event_typegoal_event_filter
delete_ab_test
Delete A/B Test
Delete a native A/B test from an app. Creates a Saved Version before the change.
输入参数app_id必填test_id必填
get_ab_test_stats
Get A/B Test Stats
Get views, unique visitors, conversions, and conversion rates for an A/B test.
输入参数app_id必填test_id必填
get_app_metadata
Get App Metadata
Read the saved public HTML-shell identity: name, description, language and image URLs/dimensions. Same settings as Studio SEO/GEO.
输入参数app_id必填
set_app_metadata
Set App Metadata
Update public HTML-shell metadata immediately, without AI, code edits, publishing or Saved Versions. Upload social_image/icon as base64 PNG/JPEG/WebP (max 5 MB, 4096px); null clears an image. Language sets HTML lang/dir and OG locale. For per-page cards, write optional seo.json and publish it; dynamic entries may read only explicitly public entity records.
输入参数iconnameapp_id必填languagedescriptionsocial_imagestructured_data
preview_saved_version
Preview Saved Version
Prepare an isolated read-only Saved Version preview, if enabled by the deployment. Returns compiled files for an offline sandbox, never restores files or reads live records. Never execute the returned program with host credentials. Requires app access and versions:read.
输入参数app_id必填snapshot_id必填
set_agent_owner_relay
Set Agent Owner Relay
Set the owner's consent for one owned agent to relay reports from another owned agent (or all sources with '*'). Uses the same preference as the agent screen. Does not send a message or grant access to customer conversations.
输入参数enabled必填source_agent_idreceiving_agent_id必填
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_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.
输入参数namerole必填app_idpersonadescription必填
List the AI agents on the user's account with id, name, role, status and FineMail address.
输入参数app_id
schedule_agent_task
Schedule Agent Task
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 fire time back to the user in their timezone.
输入参数title必填activateagent_id必填max_runsschedule必填instructions必填
list_agent_tasks
List Agent Tasks
List scheduled tasks for one agent (or the whole account), including schedule, status and next_run_at.
输入参数limitstatusagent_id
get_agent_whatsapp
Get Agent Whatsapp
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.
输入参数agent_id
start_owner_phone_verification
Start Owner Phone Verification
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.
输入参数phone必填region
confirm_owner_phone_verification
Confirm Owner Phone Verification
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.
输入参数code必填phone必填region
attach_agent_whatsapp
Attach Agent Whatsapp
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.
输入参数agent_id必填phone_number_id必填
detach_agent_whatsapp
Detach Agent Whatsapp
Disconnect the owner's WhatsApp route from a platform number. Removes only this account's route; other accounts sharing the number keep theirs.
输入参数phone_number_id必填
list_agent_conversations
List Agent Conversations
List recent visible conversations belonging to one of your agents. Use get_agent_conversation to read replies and results.
输入参数limitagent_id必填
send_agent_message
Send Agent Message
Talk to an existing agent or assign it work using its normal tools, memory, permissions and team. Omit conversation_id to start a new owner conversation; supply it to continue one. Returns acceptance and a durable task_id immediately, NOT a completed answer. Poll get_agent_task and read get_agent_conversation for the actual response. Work continues after MCP disconnects. A follow-up in a busy conversation uses the normal queue. Customer conversations are readable but cannot be impersonated by this tool.
输入参数message必填agent_id必填conversation_id
get_agent_conversation
Get Agent Conversation
Read visible messages, answers and result links in an owned agent's conversation. Returns the newest page in chronological order. For older history, pass next_before_id as before_id. For new replies, omit before_id.
输入参数limitagent_id必填before_idconversation_id必填
get_agent_task
Get Agent Task
Check a durable task returned by send_agent_message or list_agent_tasks. Includes the latest execution status and pending approvals, including before a run starts. Task scheduling state is separate from run outcome. Read the conversation for the actual answer; accepted/queued is not completed. Approvals must still be decided by the owner in Fine Structure.
输入参数task_id必填agent_id必填