SEO, GEO & AI Visibility β research, write, optimize, publish & monitor content. 120 tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
The content loop, run from your AI agent. This MCP (Model Context Protocol) server connects Claude, Cursor, Windsurf, VS Code, or any MCP client to Frase, the content operating system for AI search. Frase runs the loop content teams use to win Google rankings and AI citations, and this server puts that loop in your agent's hands:
Why run it from an agent? Stacks that research in one tool, draft in another, and publish in a third lose context at every hop. Frase keeps research, drafts, scores, and publishing in one system β so your agent works with full context instead of copy-paste.
New to Frase? The server connects to your Frase account. Start a free 7-day trial (no credit card), then grab your API key from Settings β API.
Model Context Protocol (MCP) is an open standard that allows AI assistants like Claude to securely connect to external tools and data sources. This server implements MCP to give Claude access to your Frase account.
Desktop extension bundles are published on the Releases page. If no release is listed yet, use Option B or C below β same server, two commands.
frase-x.x.x.mcpb file from Releases.mcpb file into the Settings window (or use Install Extension)Add the Frase MCP server to Claude Code with a single command:
Claude Code will automatically start the server when needed.
Get your API key from Frase Settings.
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
After saving the config, restart Claude Desktop. You should see "frase" in the MCP servers list.
Add to your project's .cursor/mcp.json:
Add to your Windsurf MCP config (~/.codeium/windsurf/mcp_config.json):
Add to your VS Code settings (.vscode/settings.json):
Once connected, ask your agent:
Run the whole loop on one topic
"Research 'ai visibility tools' in Frase, build a brief from the top competitors, draft the article in our brand voice, and publish it as a draft to our FraseCMS site."
See where AI cites you (and where it doesn't)
"Check our AI visibility for our main product queries. Which prompts cite us, which cite competitors, and what changed this week?"
Find what's decaying before it costs traffic
"Audit frase.io for content decay and cannibalization, and rank the fixes by likely traffic impact."
Turn a research session into a publishable draft
"Take my latest research session, generate an outline, and score the draft for both Google rankings and AI citations before I review it."
Your agent stays in control of nothing it shouldn't: every write goes to your account, drafts stay drafts until you publish, and the API key never leaves your local config.
Most content stacks research in one tool, write in another, optimize in a third, and publish in a fourth. Every hop loses context: the SERP data behind a brief, the reasoning behind an optimization, the research behind a page. Frase keeps the loop in one system, so an agent working through this server has the full picture at every step:
You review and approve; the agent does the legwork. That is the working model across Frase β agent-native by design, human-in-the-loop by default.
list_sites - List all sites in your accountcreate_site - Create a new site to tracklist_briefs - List content briefs with optional status filtercreate_brief - Create a new brief (with optional auto-outline generation)get_brief - Get brief details including outline and SERP dataget_brief_status - Check brief generation progressexport_brief - Export a brief in JSON or Markdown formatlist_content - List content items with optional status filterget_content - Get content details including full body textgenerate_content - Generate content from a briefupdate_content - Update content title, body, status, or meta tagsdelete_content - Delete a content item (soft delete)get_content_status - Check content generation progressexport_content - Export content in JSON, HTML, or Markdown formatregenerate_content - Regenerate or improve content with optional instructionsrescore_content - Recalculate SEO, GEO, and EEAT scores for contentlist_research - List research sessionsstart_research - Start new AI-powered research on a topic (types: topic, competitor, gap, serp)get_research - Get research details with findings and sourcesdelete_research - Delete a research sessionexport_research - Export research findings in JSON or Markdown formatget_job_status - Check status of async jobs (briefs, research, audits, content, etc.)list_audits - List site auditsstart_audit - Start a new site audit (full, technical, content, or quick)get_audit - Get audit details with pages and issuesexport_audit - Export audit data as JSON or CSVaudit_page - Audit a single page URL for E-E-A-T, GEO, and SEO scoresanalyze_serp - Analyze search engine results for a queryanalyze_competitors - Analyze competitor content for a queryget_search_intent - Get search intent classification for a queryget_ai_visibility - Get AI visibility overview metricslist_prompts - List monitored AI promptscreate_prompt - Create a new monitored promptget_prompt - Get prompt details with citations and resultsupdate_prompt - Update a monitored promptget_competitors - Get AI visibility competitorsget_alerts - Get AI visibility alertsget_insights - Get AI visibility insights and recommendationsget_crawler_logs - View AI bot crawl activity on your sitesget_gsc_overview - Get Google Search Console overview metricsget_gsc_queries - Get top search queries from GSCget_gsc_pages - Get top performing pages from GSCget_content_gaps - Get content gap opportunitieslist_performance_alerts - List performance alerts (traffic drops, ranking changes)resolve_alert - Mark a performance alert as resolvedlist_optimizations - List optimization sessionsstart_optimization - Start optimization analysis for contentget_optimization - Get optimization details with suggestionsapply_optimization - Apply optimization suggestionsget_optimization_insights - Get optimization insights across contentdismiss_optimization - Dismiss an optimizationlist_webhooks - List configured webhookscreate_webhook - Create a new webhookget_webhook - Get webhook detailsupdate_webhook - Update a webhookdelete_webhook - Delete a webhookpublish_content - Publish content to Frase CMS or connected platformslist_cms_connections - List CMS connection status for a siteBrowse your Frase data directly in Claude:
frase://sites - List all your sitesfrase://sites/{id} - View individual site detailsfrase://content - List all content itemsfrase://content/{id} - View content with full bodyfrase://briefs - List all briefsfrase://briefs/{id} - View brief with outlinePre-built workflows for common SEO tasks:
| Prompt | Description |
|---|---|
create_seo_article | Full workflow: research, brief, outline, content generation |
optimize_content | Analyze content and apply optimization suggestions |
keyword_research | Research keywords, SERP analysis, and content opportunities |
competitor_analysis | Analyze competitor content and find gaps |
content_audit | Run site audit and prioritize improvements |
content_pipeline | Full autonomous content lifecycle: research, brief, write, optimize, publish |
content_watchdog | Monitor performance, fix ranking drops, re-optimize underperforming content |
Frase issues test API keys (sk_test_...) alongside live keys. A test key lets you β or your agent β dry-run the full integration without consuming credits or touching live content: run research, create briefs, score drafts, and exercise every tool call end-to-end, then swap to your sk_live_ key when the workflow is proven. Get both key types from Settings β API Keys.
If you are building an agent workflow, start with the test key. An agent that can rehearse a request before spending money completes integrations faster and makes fewer expensive mistakes.
| Variable | Required | Description |
|---|---|---|
FRASE_API_KEY | Yes | Your Frase API key |
FRASE_API_URL | No | Override API URL (default: https://next.frase.io/api/v1) |
Verify your config file location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonCheck JSON syntax - use a validator if needed
Restart Claude Desktop completely (quit and reopen)
claude mcp listclaude mcp status fraseclaude mcp remove fraseThe server automatically retries on rate limits with exponential backoff. If you're hitting limits frequently, consider spacing out your requests.
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/frase-seo-3)<a href="https://allmcps.com/mcp/frase-seo-3"><img src="https://allmcps.com/api/badge/frase-seo-3?style=directory" alt="Frase SEO on AllMCPs" /></a>