Connect SEO Agent with ChatGPT & Claude Desktop
Use our MCP API to check SEO, track rankings, and write optimized content directly from your favorite AI chat - ChatGPT, Claude, or any MCP-compatible tool.
No tokens, no copying — paste one URL in Claude Desktop and approve in your browser.
What is MCP (Model Context Protocol)?
MCP is a standard protocol that allows AI assistants like ChatGPT and Claude to connect with external tools and services.
With our MCP integration, you can access your SEO data, check rankings, analyze keywords, and generate optimized content - all from within your AI chat.
Direct Claude Desktop Integration
Built-in official MCP support
Compatible with ChatGPT
Via custom actions
Secure Authentication
With API keys
Real-time Data Access
No code required for basic setup
Supported Chat Platforms
Claude Desktop
- Official MCP support built-in
- Add our MCP server in settings
- Start chatting with SEO data instantly
ChatGPT Custom Actions
- Create a custom GPT with our API
- Configure actions to access SEO data
- Use in ChatGPT Plus or Team
Cursor, Windsurf, Zed & more
- Any MCP-compatible client
- OAuth 2.0 auto-registration
- Single-URL setup
Setup Guide - Step by Step
Connect Claude Desktop (OAuth — no API key)
- 1Open Claude Desktop Settings → Developer → Edit Config
- 2Paste the configuration below — no API key needed
- 3Restart Claude Desktop. It will open your browser to approve the connection, then log you in automatically.
- 4Done — you can now ask Claude about your SEO data.
{
"mcpServers": {
"seo-ai-agent": {
"url": "https://seo-agent.net/api/mcp"
}
}
}You're done — authorize once in your browser
On first use Claude Desktop will open a tab on seo-agent.net, ask you to approve the connection, and redirect back automatically. After that, every MCP call is handled by the access token Claude received — no further action needed.
Available MCP Tools/Functions
19 tools across 7 categories — all workspace-scoped and OAuth-authenticated.
| Category | Function Name | Description | Example Query |
|---|---|---|---|
| Profile | get_profile | Return the authenticated user profile (name, email, picture). | "Who am I signed in as?" |
| Profile | get_current_workspace | Return info about the workspace the current credentials are bound to. | "Which workspace am I in right now?" |
| Domains | list_domains | List all domains in the active workspace. | "Show me all my domains." |
| GSC | get_domain_insight | Get aggregated GSC stats (clicks, impressions, CTR, position), top keywords, pages and countries. | "How is example.com performing in Google in the last 30 days?" |
| GSC | get_domain_keywords | GSC keyword breakdown by query/device/country for the last N days. | "Top queries for example.com by country last month." |
| Tracking | list_tracked_keywords | List manually-tracked rank keywords for a domain. | "What keywords am I tracking for example.com?" |
| Tracking | add_tracked_keyword | Add a keyword to the rank tracker for a domain. | "Start tracking "ai seo tools" on example.com." |
| Competitors | list_domain_competitors | List competitor domains configured for a given domain. | "Who are my competitors for example.com?" |
| Competitors | update_domain_competitors | Replace the competitor list for a domain. | "Set competitors for example.com to ahrefs.com and semrush.com." |
| Competitors | get_keyword_competitors | Current competitor ranking positions for a specific tracked keyword. | "Who ranks near me for "seo ai tools"?" |
| Competitors | get_competitor_history | Time-series ranking history for competitors on a keyword. | "How has competitor.com ranked for "seo ai" over time?" |
| Research | get_domain_seo_overview | Domain-level SEO health: clicks, impressions, CTR, position + period-over-period change. | "Give me a 30-day SEO summary for example.com." |
| Research | find_keyword_opportunities | Quick-win buckets: striking distance, low CTR, zero-click, rising keywords. | "Find keyword opportunities for example.com." |
| Research | generate_content_brief | Full content brief for a new article: primary/secondary keywords, target word count, suggested structure, internal link candidates. | "Build a content brief for "best ai seo tools" on example.com." |
| Posts | list_posts | List articles/posts in a domain (draft, published, scheduled). | "Show all my draft posts for example.com." |
| Posts | get_post | Fetch a single post with full HTML content and metadata. | "Show me post #42." |
| Posts | analyze_seo | Run the built-in analyzer on article content (20+ on-page checks, 0-100 score, actionable fixes). | "Analyze this draft for SEO." |
| Posts | save_post | Create or update a post. Automatically computes the SEO score and returns both the saved post and the full analyzer report. | "Save this article as a draft and tell me the SEO score." |
| Posts | delete_post | Delete a post by ID. | "Delete post #42." |
Why Use MCP Integration?
Speed & Efficiency
- Get SEO insights in seconds
- No need to switch between tools
- Natural language queries
AI-Powered Insights
- Let AI analyze your data
- Get recommendations automatically
- Generate content on the fly
Secure & Private
- Your data stays secure
- API keys with specific permissions
- Audit logs for all actions
Continuous Updates
- Always use latest data
- Real-time ranking checks
- Automatic sync with GSC
Frequently Asked Questions
No. The server supports OAuth 2.0 Dynamic Client Registration (RFC 7591) and the MCP 2025-06-18 auth spec. You paste a single URL (/api/mcp) into your AI client — it auto-registers, opens your browser for approval, and gets its own access token. Nothing to copy, nothing to manage.
Your AI client first hits /api/mcp and receives HTTP 401 with a WWW-Authenticate header. It discovers the authorization server at /.well-known/oauth-authorization-server, registers a client at /api/oauth/register, then runs the Authorization Code + PKCE flow at /api/oauth/authorize. You approve once on the consent screen, it receives a code, exchanges it for an access_token + refresh_token at /api/oauth/token, and the MCP session is live.
The workspace that is active at the moment you approve the connection. You can switch workspaces from the sidebar, then reconnect your assistant — it will be bound to the new workspace. You can also revoke any connection any time from /profile/oauth-apps.
Yes. Each team member runs the same OAuth flow under their own account — they each get a personal access token scoped to the workspaces they are a member of, with the role (owner / admin / editor / viewer) they have in each. Owners and admins can revoke any teammate connection from the Connected Apps page.
read:profile (your user info + current workspace), read:domains / write:domains, read:gsc (GSC aggregates), read:keywords / write:keywords (rank tracker), and read:analytics. Your AI client only asks for what it needs — the consent screen shows you exactly which scopes you are granting before you approve.
All 19 tools listed in the "Available MCP Tools" table above: profile + workspace info, domains, GSC insights + keywords, rank tracker with competitors, content research (SEO overview, keyword opportunities, content briefs), posts CRUD, and a built-in SEO analyzer that scores articles 0-100 across 20+ on-page factors.
Access tokens are short-lived (1 hour) and refreshed automatically. All tokens are sha256-hashed in the database — we never store them in plain text. Every sync triggered via MCP is logged in gsc_sync_log with the source (mcp / oauth / web) so you have a full audit trail. Revoking a connection invalidates every token it holds immediately.
Yes. Go to /profile/oauth-apps → Developer section → Register an App. You will receive a client_id (and client_secret for confidential clients). Your app can then redirect users to /api/oauth/authorize with "Sign in with SEO AI Agent" — they approve, and your backend exchanges the code for an access token bound to their workspace.
Ready to Supercharge Your SEO Workflow?
Start using MCP to automate your SEO tasks with AI
Join 1,000+ users automating SEO with MCP