Frase SEO

io.frasePublished by frase.ioOfficial publisherv0.12.0Updated Nov 7, 2026

SEO, GEO & AI Visibility — research, write, optimize, publish & monitor content. 121 tools.

Overview

AI-generated overview

Connects an assistant to a Frase account for SEO/GEO research, content briefs and generation, site audits, AI visibility tracking and CMS publishing.

What you can do
  • Manage sites: list and create tracked sites, and list CMS connections
  • Briefs and content: create, read, export, generate, update, regenerate, rescore and soft-delete articles, plus AI hero images
  • Research and SERP: start topic, competitor, gap or SERP research, analyze SERPs and competitors, classify search intent
  • Audits and optimization: run site or single-page audits, start and apply optimization suggestions
  • AI visibility and analytics: monitor prompts, citations, competitors, alerts and crawler logs, and read Google Search Console metrics and content gaps
  • Publishing and webhooks: publish content to Frase CMS or connected platforms and list webhooks
When to use it
Useful when you want an assistant to run SEO and AI-search visibility work inside an existing Frase account: drafting briefs and articles, auditing pages, tracking how AI assistants cite your site, or publishing finished content.
Requirements
Either the hosted remote endpoint with OAuth sign-in through a Frase account, or the local npm package run with npx over stdio. The local mode needs Node.js and a Frase API key supplied as FRASE_API_KEY; FRASE_API_URL optionally overrides the API endpoint. A Frase subscription with API access is implied.
Before you install
The API key is a live account credential, so keep it out of shared configs and repositories. Many tools write or delete data: creating sites, briefs, research and prompts, updating or soft-deleting content, applying optimizations, resolving alerts and publishing to connected CMS platforms. Usage is metered by per-minute, hourly and monthly limits, and exceeding the monthly budget requires an upgrade. Tool-call telemetry is sent to Frase.

Installation

In SourceWeft

  1. Open Frase SEO in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.frase%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "frase-seo": {
      "type": "http",
      "url": "https://next.frase.io/api/mcp"
    }
  }
}

README

@frase/mcp-server

About this repository — the public home of the Frase MCP server: documentation, registry metadata (server.json), changelog, and connector setup. 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.

[npm version] [License: MIT]

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.

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.

bash
claude mcp add --transport http frase https://next.frase.io/api/mcp

The options below run the server locally over stdio with an API key.

Quick Start

Claude Code: Claude Code (CLI)

Add the Frase MCP server to Claude Code with a single command:

bash
claude mcp add frase -- npx -y @frase/mcp-server --api-key sk_live_your_api_key_here

Claude Code will automatically start the server when needed.

Manual Setup (npx, advanced)

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

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.

Cursor

Add to your project's .cursor/mcp.json:

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):

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):

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 account
  • create_site - Create a new site to track

Briefs

  • list_briefs - List content briefs with optional status filter
  • create_brief - Create a new brief (with optional auto-outline generation)
  • get_brief - Get brief details including outline and SERP data
  • get_brief_status - Check brief generation progress
  • export_brief - Export a brief in JSON or Markdown format

Content

  • list_content - List content items with optional status filter
  • get_content - Get content details including full body text
  • generate_content - Generate content from a brief
  • update_content - Update content title, body, status, or meta tags
  • delete_content - Delete a content item (soft delete)
  • get_content_status - Check content generation progress
  • export_content - Export content in JSON, HTML, or Markdown format
  • regenerate_content - Regenerate or improve content with optional instructions
  • generate_hero_image - Generate and attach an AI hero image to an existing article without regenerating it
  • rescore_content - Recalculate SEO, GEO, and EEAT scores for content

Research

  • list_research - List research sessions
  • start_research - Start new AI-powered research on a topic (types: topic, competitor, gap, serp)
  • get_research - Get research details with findings and sources
  • delete_research - Delete a research session
  • export_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 audits
  • start_audit - Start a new site audit (full, technical, content, or quick)
  • get_audit - Get audit details with pages and issues
  • export_audit - Export audit data as JSON or CSV
  • audit_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 query
  • analyze_competitors - Analyze competitor content for a query
  • get_search_intent - Get search intent classification for a query

AI Visibility

  • get_ai_visibility - Get AI visibility overview metrics
  • list_prompts - List monitored AI prompts
  • create_prompt - Create a new monitored prompt. Location defaults to the site's country when omitted (pass site_id); the same prompt can be tracked once per site.
  • get_prompt - Get prompt details with citations and results
  • update_prompt - Update a monitored prompt
  • get_competitors - Get AI visibility competitors
  • get_alerts - Get AI visibility alerts
  • get_insights - Get AI visibility insights and recommendations
  • get_crawler_logs - View AI bot crawl activity on your sites

Analytics

  • get_gsc_overview - Get Google Search Console overview metrics
  • get_gsc_queries - Get top search queries from GSC
  • get_gsc_pages - Get top performing pages from GSC
  • get_content_gaps - Get content gap opportunities
  • list_performance_alerts - List performance alerts (traffic drops, ranking changes)
  • resolve_alert - Mark a performance alert as resolved

Optimizations

  • list_optimizations - List optimization sessions
  • start_optimization - Start optimization analysis for content
  • get_optimization - Get optimization details with suggestions
  • apply_optimization - Apply optimization suggestions
  • get_optimization_insights - Get optimization insights across content
  • dismiss_optimization - Dismiss an optimization

Webhooks

  • list_webhooks - List configured webhooks

Managing webhooks is listed on the hosted remote server only — write_webhook (create/update), get_webhook and delete_webhook. They still run over stdio if your client calls them by name; only the listing differs. Connect to the hosted endpoint if you want an agent to discover them.

CMS Publishing

  • publish_content - Publish content to Frase CMS or connected platforms
  • list_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 optimizationClaude: [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 SEOClaude: [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 sites
  • frase://sites/{id} - View individual site details
  • frase://content - List all content items
  • frase://content/{id} - View content with full body
  • frase://briefs - List all briefs
  • frase://briefs/{id} - View brief with outline

MCP Prompts

Pre-built workflows for common SEO tasks:

PromptDescription
create_seo_articleFull workflow: research, brief, outline, content generation
optimize_contentAnalyze content and apply optimization suggestions
keyword_researchResearch keywords, SERP analysis, and content opportunities
competitor_analysisAnalyze competitor content and find gaps
content_auditRun site audit and prioritize improvements
content_pipelineFull autonomous content lifecycle: research, brief, write, optimize, publish
content_watchdogMonitor performance, fix ranking drops, re-optimize underperforming content

Configuration

VariableRequiredDescription
FRASE_API_KEYYesYour Frase API key
FRASE_API_URLNoOverride API URL (default: https://next.frase.io/api/v1)

Troubleshooting

Server not appearing in Claude Desktop

  1. Verify your config file location:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Check JSON syntax - use a validator if needed

  3. Restart Claude Desktop completely (quit and reopen)

Server not working in Claude Code

  1. Verify the server is registered: claude mcp list
  2. Check server status: claude mcp status frase
  3. Remove 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

Frase 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 [email protected] to request deletion of your data.

License

MIT

Source: README.md at commit e0f0012

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v0.12.0LatestOct 2, 2026
  2. v0.11.0Sep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts