Package Exports
- @frase/mcp-server
- @frase/mcp-server/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@frase/mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@frase/mcp-server
Use Claude Desktop 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 content creation, research, and optimization.
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.
Quick Start
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.
Available Tools
Sites
list_sites- List all sites in your account
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 data
Content
list_content- List content items with optional status filterget_content- Get content details including full body text
Research
list_research- List research sessionsstart_research- Start new AI-powered research on a topic
Jobs
get_job_status- Check status of async jobs (briefs, research, audits, etc.)
Audits
list_audits- List site auditsstart_audit- Start a new site auditget_audit- Get audit details with pages and issuesexport_audit- Export audit data as CSV
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 metrics for a sitelist_prompts- List monitored AI promptscreate_prompt- Create a new monitored promptget_prompt- Get prompt details with citationsupdate_prompt- Update a monitored promptget_competitors- Get AI visibility competitorsget_alerts- Get AI visibility alertsget_insights- Get AI visibility insights
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 opportunities
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
Webhooks
list_webhooks- List configured webhookscreate_webhook- Create a new webhookget_webhook- Get webhook detailsupdate_webhook- Update a webhookdelete_webhook- Delete a webhook
Example Conversations
List your sites
You: What sites do I have connected?
Claude: [Uses list_sites tool]
Here are your connected sites:
| Name | Domain | GSC | Created |
|------|--------|-----|---------|
| Main Blog | example.com | ✅ | Jan 15, 2024 |
| Product Site | product.example.com | ❌ | Feb 20, 2024 |Create a brief with auto-outline
You: Create a brief about React performance optimization
Claude: [Uses create_brief with generate_outline=true]
## Brief Created
- **ID:** 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:** xyz789
- **Query:** best practices for Next.js SEO
- **Status:** pending
I'll check on the progress...MCP Resources
Browse your Frase data directly in Claude Desktop:
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 |
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) |
FRASE_MCP_DEBUG |
No | Enable debug logging (true/false) |
Development
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Run tests
npm test
# Run integration tests (requires FRASE_TEST_API_KEY)
npm run test:integrationTroubleshooting
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
- macOS:
Check JSON syntax - use a validator if needed
Restart Claude Desktop completely (quit and reopen)
Authentication errors
- Verify your API key is correct
- Ensure the key has not expired
- Check that the key has the required permissions
Debug mode
Enable debug logging to see detailed information:
{
"mcpServers": {
"frase": {
"command": "npx",
"args": ["-y", "@frase/mcp-server"],
"env": {
"FRASE_API_KEY": "your_key",
"FRASE_MCP_DEBUG": "true"
}
}
}
}Rate limiting
The server automatically retries on rate limits with exponential backoff. If you're hitting limits frequently, consider spacing out your requests.
Support
License
MIT