MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Communication & messaging

Fine Structure

Build and host full-stack apps from a prompt, with agents that reach you on WhatsApp and email.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
890 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
184

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
310
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 890 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name fine-structure-mcp.

  • Pass
    Lists tools

    tools/list returned 184 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 890 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 890 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    414 of 576 parameters have a description (72%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-08-17T09:17:40.729239Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Fine Structure

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http fine-structure https://finestructure.ai/api/mcp

Capabilities

Tools 184

Showing 100 of 184 tools.

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.

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

Discovered
add_knowledge_document

Add a document to a notebook: plain text, or a file (PDF, Word, a spreadsheet, an image or audio) as base64. It is processed in the background (audio is transcribed); list_knowledge_documents shows when it is ready. The same file twice is recognised.

Discovered
add_knowledge_note

Write a note into a notebook; agents and apps answer from it like from a document.

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

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

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

Discovered
agency_get_claim_status

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

Discovered
agency_list_clients

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

Discovered
apply_change_set

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

Discovered
apply_knowledge_redaction

Redact the chosen findings of a scan: approved maps each document id to the finding ids to replace. The original text is kept, so revert_knowledge_redaction can undo it.

Discovered
archive_agent_goal

Retire a goal: its runner stops and never runs again, and the goal stays readable. Use this when the owner asks to delete a goal.

Discovered
archive_agent_task

Remove a scheduled task from the agent's schedule. It never runs again and stays readable in the history. Use this when the owner asks to delete or cancel a task.

Discovered
archive_agent_trigger

Retire a trigger: it never starts the agent again and stays readable. Use this when the owner asks to delete a trigger.

Discovered
ask_knowledge_notebook

Ask a notebook a question; the answer comes from its documents, with sources. Waits up to 25 seconds for the answer, otherwise returns the query_job_id for get_knowledge_answer. Without chat_session_id a new conversation starts.

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

Discovered
cancel_agent_run

Cancel one run in progress, for example a reply the agent is still working on. Work it handed to other agents is cancelled with it. Take run_id from list_agent_activity or get_agent_task.

Discovered
check_domain_verification

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

Discovered
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'.

Discovered
compare_current_to_version

Compare the current app files to a Saved Version and return compact per-file diffs.

Discovered
compare_saved_versions

Compare two Saved Versions and return per-file additions, removals, modifications, and compact diffs.

Discovered
configure_domain_redirects

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

Discovered
configure_integration

Store safe non-secret integration metadata for an app. Use set_secret for API keys/tokens.

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

Discovered
create_ab_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.

Discovered
create_agent

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.

Discovered
create_agent_goal

Give an agent a goal to pursue on its own. It works on it every interval_minutes, at most max_iterations times, under its own permissions, so a step can message people the agent is allowed to reach. Each step uses agent credits.

Discovered
create_agent_team

Create a whole team of agents from a template, wired to work together, optionally adapted to the owner's requirements and company name. The new agents start active with the platform's default safe permissions and can message only their verified owner until channels are connected in Fine Structure.

Discovered
create_agent_trigger

Add a trigger that starts the agent with these instructions: event (event_type such as lead.created, with an optional source), schedule (a schedule object) or watch. Each start is a run under the agent's permissions and uses agent credits. Its approval rules stay as set in Fine Structure, and a webhook trigger, whose URL is a secret, is made on the agent's screen.

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

Discovered
create_change_set

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

Discovered
create_entity_records

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

Discovered
create_entity_schema

Create an entity schema file in entities/<Entity>.json. Creates a Saved Version before writing.

Discovered
create_knowledge_folder

Create a folder for notebooks, optionally inside another folder.

Discovered
create_knowledge_notebook

Create an empty notebook, optionally inside a folder.

Discovered
create_org_goal

Add a company-wide goal for the whole agent team to align to.

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

Discovered
create_whatsapp_trigger

Save a WhatsApp trigger for record-created events. It is saved switched off and messages no one. Switching it on is done by the owner on the app's Automations screen in Fine Structure.

Discovered
delete_ab_test

Delete a native A/B test from an app. Creates a Saved Version before the change.

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

Discovered
delete_secret

Delete one app secret by key.

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

Discovered
disable_whatsapp_trigger

Switch a WhatsApp trigger off: new records no longer send its message. It stays saved.

Discovered
discard_change_set

Discard a pending staged change set without changing app files.

Discovered
get_ab_test_stats

Get views, unique visitors, conversions, and conversion rates for an A/B test.

Discovered
get_agent

Read one agent: name, role, description, persona (its standing instructions), status, email address, WhatsApp number and which capability groups are switched on.

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

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

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

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

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

Discovered
get_app_files

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

Discovered
get_app_knowledge_access

Which of the owner's notebooks an app's AI may answer from, and the ones it could be given.

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

Discovered
get_app_metadata

Read the saved public HTML-shell identity: name, description, language and image URLs/dimensions. Same settings as Studio SEO/GEO.

Discovered
get_app_security_audit

Read recent server-side security audit events for an app.

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

Discovered
get_app_status

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

Discovered
get_connection_access

Which of the owner's agents and apps may use one connection (from list_connections).

Discovered
get_connection_status

Status of the account-level connections: Facebook, Google Drive, TikTok and the social accounts connected through Zernio (Instagram, LinkedIn and others), including any that need to be reconnected. refresh true asks Zernio for the live state.

Discovered
get_credit_balance

The account's plan and both balances: build credits, which pay for creating and editing apps, and agent credits, which pay for agent runs.

Discovered
get_domain_ssl_status

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

Discovered
get_domain_verification

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

Discovered
get_entities

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

Discovered
get_errors

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

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

Discovered
get_knowledge_access_log

Who opened, asked or changed the notebooks, newest first: people, apps and agents.

Discovered
get_knowledge_answer

The state and, once ready, the answer of a question asked with ask_knowledge_notebook.

Discovered
get_knowledge_chat

One conversation with a notebook: the questions and the answers with their sources.

Discovered
get_knowledge_notebook_access

Who can use a notebook: the apps that answer from it and the owner's agents it is connected to.

Discovered
get_knowledge_notebook_overview

A notebook's overview: the summary written from its sources, document counts by state, and which sources are ready.

Discovered
get_knowledge_redaction_log

What was redacted in one document, by category and count, and whether the original was kept.

Discovered
get_knowledge_redaction_policy

A notebook's automatic redaction policy for new uploads.

Discovered
get_knowledge_redaction_run

A sensitive-data scan: per document its state and what was found (category, the text, the suggested replacement, confidence), and what was applied.

Discovered
get_make_migration_report

Read every scenario in the owner's connected Make account and grade what moves to Fine Structure fully, partly or by hand. Read-only.

Discovered
get_pages

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

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

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

Discovered
get_preview_url

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

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

Discovered
get_whatsapp_trigger_options

What a WhatsApp trigger can use in this app: the owner's WhatsApp numbers and flows, and the pages, entities and fields that create records.

Discovered
import_knowledge_audio_url

Download a public audio file (a recording, a podcast episode) into a new notebook and transcribe it there.

Discovered
inspect_preview

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

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

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

Discovered
list_ab_tests

List the platform A/B tests configured for an app.

Discovered
list_agent_activity

What the account's agents did, newest first: each run with its agent, status, the tools it called, agent credits used and any error. Read the run's conversation with get_agent_conversation for the full answer.

Discovered
list_agent_approvals

Actions the agents are holding until the owner approves them, such as a message to a customer or a payment. Each comes with a plain description and a review link. The owner approves or rejects them in Fine Structure.

Discovered
list_agent_conversations

List recent visible conversations belonging to one of your agents. Use get_agent_conversation to read replies and results.

Discovered
list_agent_goals

An agent's goals: objective, success criteria, plan, status, progress, current step and the background runner task that works on it.

Discovered
list_agent_memories

What an agent has learned and kept: long-term facts and insights, newest first, optionally only those about one customer.

Discovered
list_agent_tasks

List scheduled tasks for one agent (or the whole account), including schedule, status and next_run_at.

Discovered
list_agent_templates

Ready-made single agent templates: role, description and suggested persona, for create_agent.

Discovered
list_agent_triggers

What starts an agent on its own: event, schedule, watch and webhook triggers, with their instructions, status and last fire. A webhook's URL carries its secret and is shown only on the agent's screen.

Discovered
list_agents

List the AI agents on the user's account with id, name, role, status and FineMail address.

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

Discovered
list_app_members

List generated-app runtime users/members for an app. This is separate from Studio project collaborators.

Discovered
list_apps

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.

Discovered
list_connectable_app_tools

What an agent could do with one third-party app once it is connected: its actions.

Discovered
list_connection_catalog

Every service the platform can connect, with whether this account has connected it, whether one-click sign-in is available, and its connections.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected890 ms184