Skip to content

Latest commit

 

History

History

mcp

README.md

FerrGrowth MCP

FerrGrowth as Model Context Protocol server, so an AI assistant can drive it.

npm @ferrgrowth/mcp

Quick start

Add to your MCP client configuration (Claude Code, Cursor, etc.):

{
  "mcpServers": {
    "ferrgrowth": { "command": "npx", "args": ["-y", "@ferrgrowth/mcp"] }
  }
}

The first tool call that needs auth opens a browser for an OAuth loopback flow and saves the token. To skip it (CI, headless), set FERRLABS_API_TOKEN. Details in the FerrLabs MCP README.

Tools

Tools marked destructive are irreversible or high-impact. MCP clients should gate them behind a confirmation.

@ferrgrowth/mcp

Every tool takes an optional org_id (UUID) that selects the organization for that call, sent as x-ferrgrowth-org. Unset sends no header and the organization comes from the token. Find ids with list_orgs from @ferrlabs/mcp. A non-member gets a 403, reported with the organization id.

Tool Notes
list_sites, get_site, create_site, update_site, archive_site archive_site is destructive
attach_domain, detach_domain, verify_domain custom domains
list_pages, get_page, create_page, update_page, publish_page, discover_pages, import_pages pages
list_page_revisions, get_page_revision, restore_page_revision page history; restore_page_revision overwrites the current draft (itself recorded, so undoable)
schedule_page, unschedule_page, create_preview_link, list_preview_links, revoke_preview_link scheduled publishing, shareable (optionally password-protected) preview links; revoke_preview_link is destructive
list_forms, get_form, create_form, update_form, delete_form, list_form_submissions delete_form is destructive
list_releases, get_release, activate_release activate_release is destructive (switches live serving)
get_analytics_summary, get_seo_overview, run_seo_audit, list_seo_audits read / audit
run_site_seo_audits, get_site_seo_queue_status, cancel_site_seo_audits queued bulk audits for one site
run_workspace_seo_audits, get_workspace_seo_queue_status, get_workspace_seo_overview queued bulk audits across the token's organisation
get_realtime_analytics, get_tracking_status, get_page_heatmap read
list_funnels, create_funnel, update_funnel, delete_funnel, get_funnel_analytics delete_funnel is destructive
list_goals, create_goal, delete_goal, get_goal_stats delete_goal is destructive
list_contacts, get_contact read, org-wide personal data
verify_external_url, discover_external_pages external sites
list_site_members, update_site_member, remove_site_member remove_site_member is destructive
list_server_tokens, create_server_token, revoke_server_token create_server_token is disabled unless FERRLABS_MCP_ALLOW_TOKEN_REVEAL=1; revoke_server_token is destructive
list_integrations, disconnect_integration disconnect_integration is destructive
list_blog_posts, create_blog_post, update_blog_post, delete_blog_post delete_blog_post is destructive
list_email_templates, create_email_template, update_email_template, delete_email_template delete_email_template is destructive
list_redirects, create_redirect, delete_redirect 301/302/307/308 redirects served before page rendering; delete_redirect is destructive
get_robots, update_robots custom robots.txt; null restores the default
list_schema_org, set_schema_org, delete_schema_org per-page JSON-LD injected into the page head; delete_schema_org is destructive
list_media, upload_media, import_media, delete_media upload_media takes base64, 10 MB cap; import_media fetches a public https image by URL; delete_media is destructive

Configuration

Variable Description Default
FERRGROWTH_API_URL Base URL for the FerrGrowth API (@ferrgrowth/mcp). https://api.ferrgrowth.com
FERRGROWTH_API_VERSION Contract version sent as x-ferrgrowth-api-version by @ferrgrowth/mcp. 2026-08-04

Shared variables (token, OAuth, host allowlist, HTTP transport, output cap) are read by @ferrlabs/mcp-core and documented in the FerrLabs MCP README.

Development

cd mcp
pnpm install
pnpm build
pnpm test
pnpm smoke

pnpm smoke boots each server over stdio and checks the handshake and the advertised tools.

License

Mozilla Public License 2.0, see LICENSE.