Developers
MCP Server
Frontpage MCP setup, availability, OAuth consent, tools, safe edits, People/email permissions and connection support.
The hosted Frontpage MCP server connects a compatible AI client to existing Frontpage services. Public beta is available for eligible Frontpage customers. Scale eligibility, current site membership and approved permissions apply to every operation. See the MCP Server feature page for client availability.
Client availability
- Claude Code and hosted Claude: public beta; bounded source/edit/preview and sample group/draft workflows passed. Both directory submissions are separate from direct setup.
- Codex: direct OAuth setup tested. ChatGPT: custom MCP connection tested where account permissions allow it. The shared OpenAI plugin was submitted; public directory approval is not claimed.
- Cursor CLI: public beta; all 14 tools passed the bounded workflow, and read-only write denials and disconnect were verified. The public package is available; its marketplace application was submitted. Cursor IDE and hosted/background agents have not passed separate acceptance.
- Grok web and interactive Grok Build: use the Grok account connector. Setup, source/preview and sample group/draft checks apply to these named paths, not every Grok surface. No public Grok marketplace listing is claimed.
These tests cover sample workflows, not every People/Mail operation. Your client's own plan and workspace rules still apply.
Connect Claude Code
For the plugin, download the ZIP and SHA256SUMS from the public package release and follow its README. For a direct connection, use the steps below. Choose one path to avoid duplicate server entries.
- Use your existing Frontpage account and an existing Scale or eligible Internal site. Viewer membership can read; Editor/Admin can edit. Complete normal signup and first-site setup in Frontpage if needed.
- Run the commands below. For a package install instead, follow the Claude Code setup guide; choose one path to avoid duplicate entries.
- Sign in on
app.frontpage.host. Check the account, coverage and requested access before allowing the connection. Keep codes and callback URLs private. - Ask: “List my Frontpage sites and show the pages on the site I choose. Do not edit or publish.”
claude mcp add --transport http --scope user frontpage https://app.frontpage.host/api/mcp
claude mcp login frontpage Canonical Streamable HTTP endpoint: https://app.frontpage.host/api/mcp. The service runs in Frontpage; no local MCP server or CLI API key is required. A package installation does not grant site access.
Connect Codex or ChatGPT
OpenAI uses the same Frontpage server, login, site permissions and separate source/People/email consent. For a direct Codex CLI connection, run:
codex mcp add frontpage --url https://app.frontpage.host/api/mcp
codex mcp login frontpage Complete Frontpage login and consent, then start a new Codex session. Use one installation path to avoid duplicate entries. See OpenAI's MCP setup reference for client settings.
- For ChatGPT, open Plugins. Where your workspace permits custom MCP servers, select the plus button → Add custom MCP server.
- Name it Frontpage and enter
https://app.frontpage.host/api/mcp. Choose OAuth with Client ID Metadata Documents (CIMD) and public-client authentication (none) when those options appear. No client secret or API key is needed. - Review the warning and create/install the custom plugin. Connect it, complete normal Frontpage login, and approve your chosen sites and permissions.
- Open a new chat, select Frontpage from your installed plugins, and ask it to list your sites without making changes.
If custom MCP is unavailable, your account or workspace policy may restrict it. Follow OpenAI's current custom-server guide. The submitted public listing is a separate path and is not yet claimed as approved.
An OpenAI connection that requests openid and email also shares your Frontpage email address and its actual verification status for workspace account restrictions. The consent page explains this before approval. These identity scopes do not grant site editing or People/email access.
For OAuth implementers, OpenID discovery is https://app.frontpage.host/.well-known/openid-configuration and UserInfo is https://app.frontpage.host/api/oauth/userinfo. UserInfo accepts a current bearer token with explicit OpenAI identity consent. Existing Claude OAuth discovery and grants retain their current permissions. Never include tokens, login codes or reviewer credentials in public configuration.
Connect Cursor CLI
The tested package is Frontpage for Cursor. Its marketplace application is submitted. For direct setup, merge this entry into your project's .cursor/mcp.json; keep any other server entries:
{
"mcpServers": {
"frontpage": {
"url": "https://app.frontpage.host/api/mcp",
"auth": {
"CLIENT_ID": "frontpage-cursor",
"scopes": [
"sites:read",
"sites:write",
"crm:read",
"crm:write",
"offline_access"
]
}
}
}
} - In that project, run
agent mcp enable frontpage, thenagent mcp login frontpage. - Keep the client running while its browser page opens. Sign in to Frontpage, choose site coverage, source access and separate People/email access, then allow the connection.
- Start a new agent session and ask it to list your Frontpage sites. Review tool requests before allowing edits.
Acceptance used Cursor CLI 2026.10.22-27dcf5f. The package includes no local server, hooks, background tasks or secrets. Its fixed public client ID is not a secret. IDE and hosted-agent setup need their own client tests; the registered hosted callback alone does not prove those paths.
Connect Grok web or interactive Grok Build
- Open Grok Connectors in your existing Grok account. Choose New Connector → Custom Connector.
- Name it Frontpage and enter
https://app.frontpage.host/api/mcp, then add it. Complete Frontpage login and consent in the popup promptly. Select the account, site coverage, source access and separate People/email access you want. - Wait until Frontpage appears under Connected. In a new Grok chat, open Attach → Connectors and enable Frontpage. Ask it to list your sites without making changes.
- For Grok Build, sign in with
grok loginusing the same Grok account, startgrok, then open/mcps. Frontpage should appear under Managed by grok.com. Reuse that account connection; no local MCP config, copied token or separate API key is needed.
Acceptance covers Grok web and the interactive Grok Build 1.0.70 workflow. A headless run did not load the managed connector in our test; direct local OAuth and headless use are not claimed as supported here. If the popup expires, cancel the old request and start a fresh connection in Grok. Do not reuse an old callback URL.
Official MCP Registry
Frontpage's active remote-server record is io.github.mkmccarty3/frontpage, version 0.1.0. The public Registry API returns its identity and hosted URL. This is a discovery record, not a provider endorsement or a claim that every MCP client works.
Coverage and permissions
All current and future eligible sites avoids reconnecting each time you add a site. Selected sites covers only the chosen sites. Each request checks current membership, role and plan. An ineligible site can appear with limited availability metadata; its source operations deny access.
Source scopes are sites:read and sites:write. People and email use separate crm:read/crm:write consent, defaulting to none. Existing source-only grants gain no CRM access. The client must request the needed scopes and the consent page must show the matching choice. More coverage or a different credential cannot bypass a plan or role denial.
Shared tool interface
| Tool | Purpose |
|---|---|
frontpage_list_sites | Covered sites and current availability |
frontpage_get_site_context | Current permissions, authoring rules and limits |
frontpage_list_pages | Pages at the returned source revision |
frontpage_list_files | Allowed source paths |
frontpage_read_file | Bounded UTF-8 source |
frontpage_search_files | Literal text search |
frontpage_list_history | Revision history, without revert |
frontpage_get_deploy_status | The exact saved revision's preview |
frontpage_apply_file_changes | Text creates/updates and preview build |
frontpage_get_crm_docs | Paged People/Mail operation reference, without records |
frontpage_people_read | Contacts, groups, stages, rules and activity |
frontpage_people_write | Supported People mutations with CRM write consent |
frontpage_mail_read | Drafts, templates, series and delivery history |
frontpage_mail_write | Drafts, campaigns, series and supported sends/schedules |
Claude, Cursor and Grok use these 14 tools. People and Mail tools accept an explicit operation enum and payload. See People operations and Email operations, or page frontpage_get_crm_docs. Those guides also describe CLI/API capabilities; only operations in the MCP schema are callable here. The CLI has a broader command set.
OpenAI tool interface
Codex and ChatGPT use the same nine source tools listed above. Each People or email action has its own named tool and published payload schema. For example, groups use frontpage_people_groups_create, frontpage_people_groups_get and frontpage_people_groups_archive. An unsent email draft uses frontpage_save_mail_editor, frontpage_get_mail_email and frontpage_delete_mail_email. Choose a named tool; do not send an operation field.
These tools run through the same Frontpage services and separate CRM consent. Their inputs include the chosen slug and the action's payload; read tools also publish paging fields. Read the tool's current schema before calling it. Do not substitute a CLI key, shell command or hidden API for a missing operation. Articles records, media uploads, analytics, inbox, Store, billing and team administration remain outside this MCP release.
Read, edit, preview
- List sites and get the chosen site's context. Inspect relevant source and retain its revision.
- Create/update allowed text files with
frontpage_apply_file_changes, the observedexpectedRevisionand a freshoperationIdfor that distinct change. Limits: 20 files, 256 KiB each, 1 MiB total UTF-8 content. - After a lost response, retry only the same operation ID and exact payload. A stale revision or active agent task must not be forced through.
- Poll
frontpage_get_deploy_statusfor the saved revision. Only ready for that exact revision proves the preview. Failed, superseded and unknown are different results. - Open the returned preview/editor link. Browser login may be required. Review and publish in Frontpage.
Example: “Read the About page, shorten its opening paragraph without changing the layout, and check the matching preview. Do not publish.” For a new page, ask the client to reuse the site's current Astro components and design tokens.
People and email
Read the operation contract before composing a payload. Use stable IDs, current versions, review tokens and request keys. Page arrays through resultPage.nextOffset; native service cursors stay inside the payload. Source continuation uses the returned offset and revision.
Example: “Create a paused draft email for the sample group, then show me the content and audience. Do not send, activate or enroll anyone.” Saving with save_mail_editor never sends. Confirming a campaign requires a fresh preview of content, recipients, eligible count and timing. A dated draft remains a draft until sending is confirmed. Sent means provider acceptance, not delivery.
Keep the original request key and payload for retryable saves and campaign operations. Read saved state or send history after an uncertain result; never repeat an uncertain action with a new key. Direct sends do not accept a campaign retry key. Enrollment and active rules can cause email sends; they need explicit direction too.
What is outside this release?
No production publish, source-file deletion, first-site creation, Articles record management, media upload, analytics, inbox, Store/orders, billing/team administration or vendor credentials. The Frontpage CLI offers a broader command set through its separate API-key connection. MCP does not change CLI, customer UI or internal agent behavior.
Troubleshooting and support
- Temporarily unavailable: the service may be paused for maintenance; follow retry guidance.
- SITE_PLAN_REQUIRED: the selected site needs Scale eligibility. Account-wide coverage does not remove that check.
- Permission/scope denial: check your role and consent. Reconnect only if you choose to approve additional access.
- Stale revision or active agent: wait for existing work, reread source and prepare a new edit. Do not force or automatically cancel it.
- OPERATION_PENDING: wait as directed. For unknown/expired outcomes, inspect source/history or contact support before another mutation.
- Failed/superseded preview: inspect the reported revision; another ready build is not proof of this change.
- Rate limit: follow the returned wait guidance. If login expires, start a fresh connection from the client rather than reusing an old consent URL.
Email support@frontpage.host with the client/version, site slug, action, error and correlation ID if returned. Never include passwords, codes, tokens, callback URLs or private source. Support can check permissions and the recorded operation state without your credentials.
Disconnect and privacy
Open Workspace → Developers → Connected Apps. Disconnect the whole app or expand its details to disconnect one grant. Future requests and refreshes stop. Already admitted work may finish; disconnect does not undo edits or erase data already returned to the client.
Signing out, removing local configuration or uninstalling a plugin alone does not revoke a connection. Review connection privacy and the Frontpage privacy policy. Unpublished source and CRM records may contain personal data; approve only the access you intend.