Frase MCP Server
OfficialFetch Google Search Console analytics data such as overview metrics, top queries, and top pages.
Publish content directly to Sanity CMS from Frase.
Publish content directly to Webflow from Frase.
Publish content directly to Wix from Frase.
Publish content directly to WordPress sites from Frase.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Frase MCP ServerResearch 'ai visibility tools' and build a brief."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@frase/mcp-server
About this repository — the public home of the Frase MCP server: documentation, registry metadata (server.json), changelog, and desktop-extension releases. The server is developed in the Frase private monorepo and ships as @frase/mcp-server on npm; a hosted remote (OAuth) runs at https://next.frase.io/api/mcp. Issues and feature requests are welcome here.
Use Claude to interact with your Frase account. This MCP (Model Context Protocol) server exposes Frase's API as tools that Claude can use to help you with SEO/GEO content creation, research, optimization, AI Visibility tracking, and much more. Works with both Claude Desktop and Claude Code.
What is MCP?
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.
Related MCP server: WordPress MCP Server
Hosted Remote Server (OAuth)
Prefer zero setup? Frase runs a hosted MCP server at https://next.frase.io/api/mcp (streamable HTTP with OAuth). Clients that support remote MCP servers connect by URL and sign in with your Frase account in the browser. No API key, no local install, and updates ship automatically.
Claude.ai / Claude Desktop: add Frase from the Connectors directory, or add a custom connector with the URL above.
Claude Code:
claude mcp add --transport http frase https://next.frase.io/api/mcpThe options below run the server locally over stdio with an API key.
Quick Start
Option A: One-Click Install (Desktop Extension)
Download the latest extension bundle: frase-mcp.mcpb (sign in to Frase first)
Open Claude Desktop and go to Settings
Drag the
.mcpbfile into the Settings window (or use Install Extension)Enter your Frase API key when prompted (get it from Frase Settings)
Done — Claude can now access your Frase account
Option B: Claude Code (CLI)
Add the Frase MCP server to Claude Code with a single command:
claude mcp add frase -- npx -y @frase/mcp-server --api-key sk_live_your_api_key_hereClaude Code will automatically start the server when needed.
Option C: Manual Setup (npx)
1. Get your API key
Get your API key from Frase Settings.
2. Configure Claude Desktop
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"frase": {
"command": "npx",
"args": ["-y", "@frase/mcp-server"],
"env": {
"FRASE_API_KEY": "sk_live_your_api_key_here"
}
}
}
}3. Restart Claude Desktop
After saving the config, restart Claude Desktop. You should see "frase" in the MCP servers list.
Option D: Cursor
Add to your project's .cursor/mcp.json:
{
"mcpServers": {
"frase": {
"command": "npx",
"args": ["-y", "@frase/mcp-server"],
"env": {
"FRASE_API_KEY": "sk_live_your_api_key_here"
}
}
}
}Option E: Windsurf
Add to your Windsurf MCP config (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"frase": {
"command": "npx",
"args": ["-y", "@frase/mcp-server"],
"env": {
"FRASE_API_KEY": "sk_live_your_api_key_here"
}
}
}
}Option F: VS Code with GitHub Copilot
Add to your VS Code settings (.vscode/settings.json):
{
"github.copilot.chat.mcpServers": {
"frase": {
"command": "npx",
"args": ["-y", "@frase/mcp-server"],
"env": {
"FRASE_API_KEY": "sk_live_your_api_key_here"
}
}
}
}Available Tools
Sites
list_sites- List all sites in your accountcreate_site- Create a new site to track
Briefs
list_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 format
Content
list_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 content
Research
list_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 format
Jobs
get_job_status- Check status of async jobs (briefs, research, audits, content, etc.)
Audits
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 scores
SERP Analysis
analyze_serp- Analyze search engine results for a queryanalyze_competitors- Analyze competitor content for a queryget_search_intent- Get search intent classification for a query
AI Visibility
get_ai_visibility- Get AI visibility overview metricslist_prompts- List monitored AI promptscreate_prompt- Create a new monitored prompt. Location defaults to the site's country when omitted (passsite_id); the same prompt can be tracked once per site.get_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 sites
Analytics
get_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 resolved
Optimizations
list_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 optimization
Webhooks
list_webhooks- List configured webhookscreate_webhook- Create a new webhookget_webhook- Get webhook detailsupdate_webhook- Update a webhookdelete_webhook- Delete a webhook
CMS Publishing
publish_content- Publish content to Frase CMS or connected platformslist_cms_connections- List CMS connection status for a site
Example Conversations
List your sites
You: What sites do I have connected?
Claude: [Uses list_sites tool]
Here are your connected sites:
| ID | Name | Domain | GSC | Created |
|----|------|--------|-----|---------|
| site_abc | Main Blog | example.com | Yes | Jan 15, 2024 |
| site_def | Product Site | product.example.com | No | Feb 20, 2024 |Create a brief from research
You: Create a brief about React performance optimization
Claude: [Runs start_research, waits for completion, then uses create_brief with the research_session_id]
## Brief Created
- **ID:** brief_abc123
- **Topic:** React performance optimization
- **Status:** pending
**Outline generation started.** Let me check the status...
[Uses get_job_status]
The outline is ready! Let me get the details...
[Uses get_brief]
## Brief: React performance optimization
### Outline
- Introduction to React Performance
- Common Performance Bottlenecks
- Optimization Techniques
- Measuring Performance
- ...Research a topic
You: Research best practices for Next.js SEO
Claude: [Uses start_research]
## Research Started
- **ID:** res_xyz789
- **Query:** best practices for Next.js SEO
- **Type:** topic
- **Status:** pending
I'll check on the progress...MCP Resources
Browse 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 outline
MCP Prompts
Pre-built workflows for common SEO tasks:
Prompt | Description |
| Full workflow: research, brief, outline, content generation |
| Analyze content and apply optimization suggestions |
| Research keywords, SERP analysis, and content opportunities |
| Analyze competitor content and find gaps |
| Run site audit and prioritize improvements |
| Full autonomous content lifecycle: research, brief, write, optimize, publish |
| Monitor performance, fix ranking drops, re-optimize underperforming content |
Configuration
Variable | Required | Description |
| Yes | Your Frase API key |
| No | Override API URL (default: |
Troubleshooting
Server not appearing in Claude Desktop
Verify your config file location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Check JSON syntax - use a validator if needed
Restart Claude Desktop completely (quit and reopen)
Server not working in Claude Code
Verify the server is registered:
claude mcp listCheck server status:
claude mcp status fraseRemove and re-add if needed:
claude mcp remove frase
Authentication errors
Verify your API key is correct
Ensure the key has not expired
Check that the key has the required permissions
Rate limiting
The server retries on rate limits with exponential backoff, which resolves short per-minute bursts.
Three limits apply independently: a per-minute burst, a sustained hourly ceiling, and a monthly request budget. Retrying only helps with the first — the 429 for the hourly ceiling carries a Retry-After of up to an hour, and retrying sooner cannot succeed. Check the error code to tell them apart: rate_limit_exceeded (burst, retry shortly), hourly_limit_exceeded (wait for Retry-After), monthly_budget_exceeded (upgrade or wait for the cycle).
Support
Privacy Policy
This server connects to your Frase account and sends the requests you make to the Frase API. It collects no data of its own beyond the tool-invocation telemetry described below, and it does not read your conversation history, files, or memory.
What is collected — for each tool call: your Frase organization ID and user ID (or API key ID), the tool name, a SHA-256 hash of the arguments (not the arguments themselves), the argument size in bytes, how long the call took, whether it succeeded, an error type if it failed, and a timestamp. This is used for auditing and reliability.
What is not collected — conversation content, prompts, or any argument values in readable form.
Storage and retention — telemetry is stored against your Frase organization and retained per the retention terms in the privacy policy above.
Third-party sharing — none beyond the subprocessors named in the privacy policy.
Deletion — email support@frase.io to request deletion of your data.
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create, manage, publish, and analyze Inblog content through AI agents.
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- AlicenseCqualityBmaintenanceEnables AI agents to manage WordPress sites with 190+ tools for content management, theme/plugin customization, file system operations, WooCommerce, and complete site control through natural language.1002656MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage WordPress sites through natural conversation, supporting post creation, content updates, site queries, and draft-to-publish workflows via the WordPress REST API.9MIT
- AlicenseBqualityDmaintenanceEnables AI agents to manage the end-to-end content pipeline on the Balzac AI platform, covering keyword research, SEO article generation, and CMS publishing. It provides structured tools for workspace management, competitor tracking, and integration with platforms like WordPress, Webflow, and Wix.4512MIT
- AlicenseAqualityDmaintenanceEnables AI agents to connect and interact with common business platforms like Shopify, WordPress, and Calendly via pre-built connectors for tasks such as product management, content operations, and scheduling.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/frase-io/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server