Fine Structure
REMOTE · FINESTRUCTURE.AI · SCANNED AUG 3
Remote MCP server for agents that create, edit, validate, and publish Fine Structure apps.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 95 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 7378 tokens (~77/item across 95 items; 95 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management26
- Stability check failed: schema churn in the 8 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 3 additions. See how to fix → Fail
Tool Coverage94
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 82% of tool parameters carry a description.Partial
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · finestructure.ai
claude mcp add --transport http ai-finestructure-fine-structure https://finestructure.ai/api/mcp
[mcp_servers.ai-finestructure-fine-structure] url = "https://finestructure.ai/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-finestructure-fine-structure": {
"type": "remote",
"url": "https://finestructure.ai/api/mcp",
"enabled": true
}
}
} openclaw mcp add ai-finestructure-fine-structure --url https://finestructure.ai/api/mcp --transport streamable-http
mcp_servers:
ai-finestructure-fine-structure:
url: "https://finestructure.ai/api/mcp" {
"mcpServers": {
"ai-finestructure-fine-structure": {
"type": "http",
"url": "https://finestructure.ai/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
- Stability: 0.23 → fail ▼ security
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “update_entity_record” rewrote its description, which is the text the model reads security
- Tool “restore_saved_version” rewrote its description, which is the text the model reads security
- Tool “seed_entity” rewrote its description, which is the text the model reads security
- “restore_saved_version” dropped the required parameter “confirm” ▼ functional
- New tool “create_entity_records” functional
- New tool “delete_entity_records” functional
- New tool “update_entity_records” functional
- “seed_entity” added an optional parameter “reason” cosmetic
- “update_entity_record” added an optional parameter “reason” cosmetic
- “restore_saved_version” reworded the description of “snapshot_id” cosmetic
- “seed_entity” reworded the description of “mode” cosmetic
- “seed_entity” reworded the description of “records” cosmetic
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 59
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://finestructure.ai/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=finestructure.ai | CN=WE1,O=Google Trust Services,C=US | 25 Jun 2026 | 23 Sept 2026 | ECDSA 256 | ECDSA-SHA256 | 66f212eab1dfc48113660350517c4ba4 |
| SANs: finestructure.ai, *.finestructure.ai | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of finestructure.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| finestructure.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(self), geolocation=() |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://finestructure.ai/api/mcp | Verified | 200 | |
| http (plaintext) | http://finestructure.ai/api/mcp | HTTPS enforced | 301 | https://finestructure.ai/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
add_custom_domain ~74
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.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| domain | string | yes | Custom domain to connect, for example example.com or app.example.com |
No output schema declared.
No examples provided.
add_file_change ~97
Stage one file upsert or delete inside a change set. Does not modify the live app until apply_change_set.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| change_set_id | string | yes | Change set ID |
| content | string | — | Complete file contents for upsert |
| file_type | string | — | Optional file type override |
| operation | string | — | — |
| path | string | yes | Virtual file path |
No output schema declared.
No examples provided.
agency_create_claim_link ~130
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.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | Existing app ID owned by the agent |
| claim_expires_in_days | integer | — | Claim link lifetime, 1-90 days |
| client_email | string | yes | Client email allowed to claim ownership |
| client_full_name | string | — | Optional client display name |
| keep_agent_collaborator | boolean | — | Invite agent as editor after claim |
| note | string | — | Optional internal note |
No output schema declared.
No examples provided.
agency_create_client ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| client_email | string | yes | Client email that will be allowed to claim projects |
| client_full_name | string | — | Optional client display name |
| note | string | — | Optional internal note for the agency |
No output schema declared.
No examples provided.
agency_create_client_app ~176
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 | Type | Req | Description |
|---|---|---|---|
| claim_expires_in_days | integer | — | Claim link lifetime, 1-90 days |
| client_email | string | yes | Client email allowed to claim ownership |
| client_full_name | string | — | Optional client display name |
| description | string | — | Optional short app description |
| keep_agent_collaborator | boolean | — | After claim, invite the agent back as an editor collaborator |
| name | string | yes | Name for the app (1-100 chars) |
| note | string | — | Optional internal client/project note |
| prompt | string | yes | Detailed description of the app to build |
No output schema declared.
No examples provided.
agency_get_claim_status ~49
Agency mode only. Inspect one handoff status without exposing the raw claim token.
| Name | Type | Req | Description |
|---|---|---|---|
| handoff_id | string | yes | Handoff ID returned by agency_create_claim_link or agency_create_client_app |
No output schema declared.
No examples provided.
agency_list_clients ~43
Agency mode only. List client records and app handoff status for the authenticated agent.
| Name | Type | Req | Description |
|---|---|---|---|
| include_handoffs | boolean | — | Include claim links status without raw tokens |
No output schema declared.
No examples provided.
apply_change_set ~69
Apply a staged change set to the app. Creates a Saved Version before applying. Blocks on validation errors unless force=true.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| change_set_id | string | yes | Change set ID |
| force | boolean | — | Apply even if validation has errors |
No output schema declared.
No examples provided.
check_domain_verification ~64
Check Fine Structure custom-domain verification and SSL status for the configured custom domain, then save the latest status.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| domain | string | — | Optional configured custom domain. If omitted, uses the app's current custom domain. |
No output schema declared.
No examples provided.
compare_current_to_version ~59
Compare the current app files to a Saved Version and return compact per-file diffs.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| max_diff_chars | integer | — | — |
| snapshot_id | string | yes | Saved Version snapshot ID |
No output schema declared.
No examples provided.
compare_saved_versions ~77
Compare two Saved Versions and return per-file additions, removals, modifications, and compact diffs.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| base_snapshot_id | string | yes | Older/base snapshot ID |
| max_diff_chars | integer | — | — |
| target_snapshot_id | string | yes | Newer/target snapshot ID |
No output schema declared.
No examples provided.
configure_domain_redirects ~87
Configure custom-domain redirect policy: primary domain, optional www/root redirect, and HTTPS enforcement.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| force_https | boolean | — | Redirect HTTP custom-domain requests to HTTPS |
| primary_domain | string | yes | Canonical primary domain, for example example.com |
| redirect_www | boolean | — | Redirect the www/root counterpart to primary_domain |
No output schema declared.
No examples provided.
configure_integration ~81
Store safe non-secret integration metadata for an app. Use set_secret for API keys/tokens.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| config | object | yes | Safe metadata only, such as workspace/team/name/email |
| is_active | boolean | — | Set false to disconnect this integration metadata |
| provider | string | yes | Integration provider ID |
No output schema declared.
No examples provided.
create_ab_test ~152
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 | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| goal_event_filter | object | — | Optional goal filter, for example {'entity_name': 'Lead'} |
| goal_event_type | string | — | Optional conversion goal type: entity_create, any, form_submit |
| is_active | boolean | — | Whether to activate the test immediately |
| name | string | yes | Experiment name |
| page_name | string | yes | Base route page that triggers the experiment |
| variants | array | yes | At least two variants. Traffic must total 100. |
No output schema declared.
No examples provided.
create_app ~100
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 | Type | Req | Description |
|---|---|---|---|
| description | string | — | Optional short description |
| name | string | yes | Name for the app (1-100 chars) |
| prompt | string | yes | Detailed description of the app to build |
No output schema declared.
No examples provided.
create_change_set ~54
Create a staged file change set. Add multiple file changes, validate them as one app state, then apply atomically.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| label | string | — | Optional short label |
No output schema declared.
No examples provided.
create_entity_records ~99
Propose creating/inserting records in one app entity. No records are written until the app owner explicitly approves the frozen request in Studio chat.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| entity | string | yes | Entity name |
| expected_count | integer | — | Optional safety check for the number of proposed records |
| reason | string | — | Why these records should be created |
| records | array | yes | Records to create after approval |
No output schema declared.
No examples provided.
create_entity_schema ~86
Create an entity schema file in entities/<Entity>.json. Creates a Saved Version before writing.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| entity | string | yes | Entity name |
| indexes | array | — | — |
| metadata | object | — | — |
| overwrite | boolean | — | — |
| relationships | array | — | — |
| schema | object | yes | JSON schema object |
No output schema declared.
No examples provided.
delete_ab_test ~50
Delete a native A/B test from an app. Creates a Saved Version before the change.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| test_id | string | yes | A/B test ID |
No output schema declared.
No examples provided.
delete_entity_records ~123
Propose deleting exact records by ID or exact-match filters. It freezes the matched IDs and returns a pending approval; zero records are deleted until the app owner approves in Studio chat.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| entity | string | yes | Entity name |
| expected_count | integer | — | Required match count safety check, when known |
| filters | — | — | One exact-match selector or a list of exact-match selectors |
| reason | string | — | Why these records should be deleted |
| record_ids | array | — | Exact record IDs to delete |
No output schema declared.
No examples provided.
delete_secret ~36
Delete one app secret by key.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| key | string | yes | Secret key name |
No output schema declared.
No examples provided.
discard_change_set ~44
Discard a pending staged change set without changing app files.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| change_set_id | string | yes | Change set ID |
No output schema declared.
No examples provided.
email_marketing_app_configure ~120
Configure isolated Email Marketing settings for a generated app. Can be used by Studio/chat agents.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| default_contact_entity | string | — | Entity to sync as contacts, e.g. Customer or Lead |
| default_email_field | string | — | Field containing contact email |
| default_name_field | string | — | Field containing contact name |
| is_enabled | boolean | — | — |
| reply_to | string | — | — |
| sender_email | string | — | — |
| sender_name | string | — | — |
No output schema declared.
No examples provided.
email_marketing_app_contact_profile ~56
Read a contact profile with email delivery, tracking, app-event, workflow, suppression, and unsubscribe timeline.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| contact | string | yes | Contact id or email address |
No output schema declared.
No examples provided.
email_marketing_app_create_broadcast ~110
Create an app-scoped broadcast to contacts synced from that generated app, optionally scheduled or sent now.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| body_html | string | yes | — |
| filters | object | — | App contact filters such as source_entity, search, tags, field_equals |
| name | string | — | — |
| scheduled_at | string | — | — |
| send_now | boolean | — | — |
| subject | string | yes | — |
| timezone | string | — | — |
No output schema declared.
No examples provided.
email_marketing_app_create_event_trigger ~121
Create an app-scoped email rule that sends when an app event is recorded, for example entity_created or Customer.created.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| body_html | string | yes | — |
| enabled | boolean | — | — |
| entity_name | string | — | Optional entity filter |
| event_name | string | yes | Event name, e.g. entity_created, Customer.created, order_paid |
| filters | object | — | Optional app contact filters |
| name | string | — | — |
| subject | string | yes | — |
No output schema declared.
No examples provided.
email_marketing_app_create_segment ~80
Create an app-scoped saved audience segment using field, tag, and behavior filters.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| filters | object | yes | Segment filters. Supports rules with field/operator/value plus opened/clicked/sent behavior fields. |
| name | string | yes | — |
| sample_limit | integer | — | — |
No output schema declared.
No examples provided.
email_marketing_app_create_sequence ~115
Create an app-scoped email sequence using fixed dates or day offsets between emails.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| filters | object | — | App contact filters |
| name | string | — | — |
| schedule_mode | string | — | — |
| start_at | string | — | Sequence start date/time for day_offsets mode |
| steps | array | yes | Emails in order. Each step supports subject, body_html, scheduled_at, day_offset, or gap_days. |
| timezone | string | — | — |
No output schema declared.
No examples provided.
email_marketing_app_create_workflow ~133
Create an app-scoped automation workflow with email, wait, condition, split, and goal steps.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| definition | object | — | Optional full workflow definition; steps can also be supplied here. |
| enabled | boolean | — | — |
| name | string | — | — |
| steps | array | — | Ordered workflow steps. Supported type values: email, wait, condition, split, goal. |
| trigger_entity_name | string | — | Optional entity filter |
| trigger_event_name | string | yes | Event that enrolls a contact, e.g. Customer.created |
No output schema declared.
No examples provided.
email_marketing_app_deliverability ~44
Read provider readiness, bounce/complaint rates, suppression reasons, and recent deliverability risk events.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
No output schema declared.
No examples provided.
email_marketing_app_process_queue ~52
Process due app-scoped automation workflow runs and email queue jobs with locks, retries, and suppression checks.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| max_jobs | integer | — | — |
No output schema declared.
No examples provided.
email_marketing_app_queue_status ~54
Inspect app-scoped Email Marketing queue jobs and per-status counts.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| limit | integer | — | — |
| status | string | — | Optional queue status filter |
No output schema declared.
No examples provided.
email_marketing_app_record_event ~110
Record an app event and send matching app-scoped Email Marketing triggers.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| contact_id | string | — | — |
| string | — | Contact email if no contact_id is known | |
| entity_name | string | — | — |
| event_name | string | yes | — |
| properties | object | — | Extra event properties |
| record | object | — | Entity record fields for template variables and contact extraction |
| record_id | string | — | — |
No output schema declared.
No examples provided.
email_marketing_app_report ~66
Read app-scoped Email Marketing reporting: delivery counts, open/click rates, and recent tracking events.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| include_events | boolean | — | — |
| limit | integer | — | — |
| segment_limit | integer | — | — |
No output schema declared.
No examples provided.
email_marketing_app_status ~54
Inspect app-scoped Email Marketing for one generated app: settings, contacts, campaigns, event triggers, and recent events.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| include_logs | boolean | — | — |
No output schema declared.
No examples provided.
email_marketing_app_suppress_contact ~73
Suppress an app contact email after a bounce, complaint, manual block, provider block, or unsubscribe.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| string | yes | — | |
| metadata | object | — | — |
| reason | string | — | — |
| source | string | — | — |
No output schema declared.
No examples provided.
email_marketing_app_sync_contacts ~84
Sync an app entity table into app-scoped Email Marketing contacts. Records without a valid email are skipped.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| email_field | string | — | — |
| entity_name | string | yes | Entity name, e.g. Customer or Lead |
| limit | integer | — | — |
| name_field | string | — | — |
No output schema declared.
No examples provided.
email_marketing_configure_sender ~127
Admin only. Configure global Email Marketing sender details and module enabled state. Unsubscribe footer remains mandatory.
| Name | Type | Req | Description |
|---|---|---|---|
| default_timezone | string | — | Default timezone for scheduling |
| is_enabled | boolean | — | Enable or disable the module at settings level |
| organization_name | string | — | Organization name used in unsubscribe footer |
| postal_address | string | — | Optional postal/contact address for compliance |
| reply_to | string | — | Reply-To email address |
| sender_email | string | — | Sender email address used by the email provider |
| sender_name | string | — | Display sender name |
No output schema declared.
No examples provided.
email_marketing_create_broadcast ~142
Admin only. Create a filtered broadcast campaign, optionally scheduled or sent now.
| Name | Type | Req | Description |
|---|---|---|---|
| body_html | string | yes | HTML body. Unsubscribe is appended automatically. |
| filters | object | — | Recipient filters: plans, roles, active_status, email_verified, min_apps, max_apps, has_published_app, search |
| name | string | — | Internal campaign name |
| scheduled_at | string | — | Optional ISO datetime. If no timezone is included, timezone is used. |
| send_now | boolean | — | Send immediately after creating the campaign |
| subject | string | yes | Email subject |
| timezone | string | — | Timezone for naive scheduled_at |
No output schema declared.
No examples provided.
email_marketing_create_sequence ~129
Admin only. Create a scheduled email sequence using fixed dates or day offsets. Each generated email keeps mandatory unsubscribe.
| Name | Type | Req | Description |
|---|---|---|---|
| filters | object | — | Recipient filters |
| name | string | yes | Sequence name |
| schedule_mode | string | yes | fixed_dates uses each step.scheduled_at; day_offsets uses start_at + step day offsets |
| start_at | string | — | ISO datetime for day_offsets mode |
| steps | array | yes | Steps with subject, body_html, and either scheduled_at (fixed_dates) or day_offset/gap_days (day_offsets). |
| timezone | string | — | — |
No output schema declared.
No examples provided.
email_marketing_create_variable_trigger ~133
Admin only. Create an email rule that sends when a named variable changes from one value to another. Empty from_value/to_value acts as wildcard.
| Name | Type | Req | Description |
|---|---|---|---|
| body_html | string | yes | HTML body. Unsubscribe is appended automatically. |
| enabled | boolean | — | — |
| filters | object | — | Optional recipient filters |
| from_value | string | — | Previous value or empty wildcard |
| name | string | — | Trigger name |
| subject | string | yes | Email subject |
| to_value | string | — | New value or empty wildcard |
| variable_name | string | yes | Variable name, e.g. plan |
No output schema declared.
No examples provided.
email_marketing_status ~50
Admin only. Inspect the isolated Email Marketing module: enabled state, sender settings, templates, sequences, variable triggers, and recent campaign status.
| Name | Type | Req | Description |
|---|---|---|---|
| include_logs | boolean | — | Include recent delivery logs |
No output schema declared.
No examples provided.
email_marketing_trigger_variable ~85
Admin only. Manually fire variable-transition email rules for one user. Useful for MCP/agent workflows and tests.
| Name | Type | Req | Description |
|---|---|---|---|
| context | object | — | Extra template variables |
| from_value | string | — | Previous value |
| to_value | string | — | New value |
| user_id | string | yes | Platform user id |
| variable_name | string | yes | Variable name |
No output schema declared.
No examples provided.
email_marketing_update_template ~95
Admin only. Update an automatic Email Marketing template, such as user_joined welcome email. The unsubscribe block is still appended by the server.
| Name | Type | Req | Description |
|---|---|---|---|
| body_html | string | — | HTML body with {{variables}} |
| enabled | boolean | — | Whether this automatic template is active |
| subject | string | — | Email subject with {{variables}} |
| template_id | string | yes | Template/event id, e.g. user_joined |
No output schema declared.
No examples provided.
get_ab_test_stats ~50
Get views, unique visitors, conversions, and conversion rates for an A/B test.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| test_id | string | yes | A/B test ID |
No output schema declared.
No examples provided.
get_app_detail ~54
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.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
No output schema declared.
No examples provided.
get_app_files ~33
Get the file tree for an app with paths and byte sizes.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
No output schema declared.
No examples provided.
get_app_links ~56
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.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
No output schema declared.
No examples provided.
get_app_security_audit ~40
Read recent server-side security audit events for an app.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| limit | integer | — | — |
No output schema declared.
No examples provided.
get_app_security_context ~74
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.
| Name | Type | Req | Description |
|---|---|---|---|
| app_id | string | yes | The app ID |
| audit_limit | integer | — | — |
No output schema declared.
No examples provided.