Frase SEO
Overview
Description from the maker (original English)
SEO, GEO & AI Visibility — research, write, optimize, publish & monitor content. 121 tools.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi3 of 3 passedChecked from public information; code not scanned yet
- UsageiEarly↓ 446/wk · ★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Computer or cloud
- Transport: stdio, Streamable HTTP
- Category: Marketing & social media
- You need to fill in: FRASE_API_KEY
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 3 of 3 passed
- Runs on the maker’s server: what you ask it goes through their server.
- You fill in yourself:
FRASE_API_KEY,FRASE_API_URL
Values marked secret are keys to your account. Never share them or paste them into a chat.
You need
- Runs in the cloudNothing to install; it connects over the internet
- npmNode.js installed (for the npx command)
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
- Open Settings → Connectors
- Press Add custom connector
- Paste the address below and press Add
- If it asks you to sign in, sign in with the maker
https://next.frase.io/api/mcpOr run it on your computer
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"frase": {
"command": "npx",
"args": [
"-y",
"@frase/mcp-server"
],
"env": {
"FRASE_API_KEY": "your-value",
"FRASE_API_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http frase https://next.frase.io/api/mcpOr run it on your computer
claude mcp add frase --env FRASE_API_KEY=your-value --env FRASE_API_URL=your-value -- npx -y @frase/mcp-serverFill in the empty values before running it.
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"frase": {
"url": "https://next.frase.io/api/mcp"
}
}
}Or run it on your computer
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"frase": {
"command": "npx",
"args": [
"-y",
"@frase/mcp-server"
],
"env": {
"FRASE_API_KEY": "your-value",
"FRASE_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"frase": {
"type": "http",
"url": "https://next.frase.io/api/mcp"
}
}
}Or run it on your computer
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"frase": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@frase/mcp-server"
],
"env": {
"FRASE_API_KEY": "your-value",
"FRASE_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
- Open ChatGPT on the web → Settings → Connectors (Apps)
- Press Create or Add (some plans need Developer mode under Advanced first)
- Paste the address below, give it a name and save
- If it asks you to sign in, sign in with the maker
https://next.frase.io/api/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
Values you fill in
- Your Frase API key from Settings > API (https://next.frase.io/settings/api)
FRASE_API_URLenvFrase API endpoint (leave default unless instructed otherwise)
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
The server asks you to sign in before it lists its tools.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified against the domain frase.io (the registry checks domain ownership)
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- ✓ Pass
Endpoint responds
Responded in 224 ms (HTTP 401)
- ✓ Pass
Sign-in with OAuth
Declares OAuth sign-in, so your AI app can take you to log in
- … Not checked yet
No hidden instructions in tool descriptions
Not checked yet; we read the tool list when we check the endpoint
Compared with others in Marketing & social mediai
- More stars than 0% of the other 3696 servers in this category
- Published to the registry more recently than 42% of the other 3696 servers in this category
- Basic checks equal to or better than 100% of the other 3696 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Frase SEO safe?
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
You need to fill in: FRASE_API_KEY
Does it run on my computer or in the cloud?
Either way works: install it on your computer or connect to the cloud version.
Is it still maintained?
The GitHub repo last changed –, and the latest version (0.12.0) reached the registry 38 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
What can I use instead?
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@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.
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.
- Claude.ai / Claude Desktop: open the official Frase connector and connect your Frase account.
- Claude Code:
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:
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
{
"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:
{
"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 instructionsgenerate_hero_image- Generate and attach an AI hero image to an existing article without regenerating itrescore_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 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 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 |
|---|---|
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 |
Configuration
| 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) |
Troubleshooting
Server not appearing in Claude Desktop
- Verify your config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%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 list - Check server status:
claude mcp status frase - 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
- Frase Documentation
- API Documentation
- GitHub Issues
- Email: support@frase.io
Privacy Policy
[Frase Privacy Policy](https://www.frase.io/company/privacy)
This server connects to your Frase account and sends the requests you make to the Frase
Only the beginning is shown; read the rest in the repo