# ChatSEO — Full reference for AI agents > Expanded reference for LLMs and coding agents. ChatSEO is an AI SEO agent exposing a remote MCP server at `https://api.chatseo.app/mcp` (OAuth 2.1) with 33 tools for running SEO tasks (page audits, SEO opportunities, keyword strategies, content briefs, articles) and managing sites, site actions, conversations, projects, artifacts, and WordPress publishing. Available in English and French. _Last updated: 2026-11-06_ --- ## What ChatSEO does ChatSEO is a conversational SEO agent that: - Connects to Google Search Console (GSC) and Google Analytics to analyze a site's actual performance - Audits pages, generates content briefs, writes articles, and produces technical SEO reports - Surfaces ranking opportunities, identifies keyword gaps, and prioritizes fixes - Persists memory across conversations (business context, target audience, competitors, tone of voice) Public website: `https://chatseo.app` API root: `https://api.chatseo.app` --- ## Plans & pricing - **Free trial** — every plan can be tried for free before paying. - **Starter** — from €29/month. - **Pro** — from €49/month. Unlocks MCP + REST API access. - **Ranker** — from €79/month. Includes MCP + REST API access. - **Custom / Enterprise** — on request (custom credit volume, team size, support). MCP and REST API access require a **Pro or Ranker** subscription (feature flag `API_MCP`). Pricing details: `https://chatseo.app/pricing` (EN) and `https://chatseo.app/fr/tarifs` (FR). --- ## MCP server **Endpoint:** `https://api.chatseo.app/mcp` **Transport:** Streamable HTTP (MCP spec 2025-06-18+) **Auth:** OAuth 2.1 (bearer JWT), discovery via `https://api.chatseo.app/.well-known/oauth-protected-resource/mcp` **Plan requirement:** Pro or Ranker subscription (feature flag `API_MCP`) ### Install in Claude Desktop, Claude Code, Cursor, VS Code Add to your MCP config (e.g. `~/.claude/claude_desktop_config.json`, `.cursor/mcp.json`, or `.mcp.json`): ```json { "mcpServers": { "chatseo": { "command": "npx", "args": ["-y", "mcp-remote", "https://api.chatseo.app/mcp"] } } } ``` On first use, `mcp-remote` will open a browser window for OAuth authentication against ChatSEO. Sign in with the Pro account you want the agent to act on behalf of. ### Install in ChatGPT ChatGPT supports remote MCP servers for Pro, Team, and Enterprise accounts. In Settings → Connectors → Add custom connector: - **URL:** `https://api.chatseo.app/mcp` - **Auth:** OAuth (ChatGPT will run the flow automatically) ### Server card Machine-readable metadata: `https://chatseo.app/.well-known/mcp/server-card.json` --- ## Tool catalog (33 tools) The WordPress tools are only listed for accounts with a WordPress site, detected or connected. ### Account (1) - `get_credits`: Return remaining credits for the active organization. ### Sites (8) - `list_sites`: List the user's sites with their IDs, needed by `send_message` and the site tools. Args: `limit`, `offset`. - `get_site`: Return the full profile of a site: positioning, market, writing tone, competitors, linked integrations, and what the writing agent uses: brand colours and image style, offers, authors. - `create_site`: Add a site, analyze it and link it to a matching Google Search Console property when one exists. - `update_site`: Update the profile of a site, its brand colours and its image style. Fields left out are unchanged. - `save_site_offer`: Add an offer the writing agent may cite (name, description, price, the page that sells it), or update the one `offerId` names. - `delete_site_offer`: Delete an offer of a site. - `save_site_author`: Add an author who signs the site's articles (name, bio, authority links), or update the one `authorId` names. The photo and the CMS account are set in the app. - `delete_site_author`: Delete an author of a site; the articles they signed lose their byline. ### SEO tasks (7) The five task tools run in the background and return a `taskId` with status `processing`. `write_article` costs 2 credits, the others 1. Their results are saved to the site's action plan, memory, briefs or documents, where the ChatSEO chat reads them. - `audit_page`: On-page audit of one URL: score and fixes ordered by impact, with the exact proposed texts. Args: `url`, `keyword` (optional), `siteId`. - `get_seo_opportunities`: The site's best SEO opportunities, each with the page to optimize or create and the next step. Args: `siteId`, `limit`. - `build_keyword_strategy`: Keyword strategy for a topic: clusters with intent, volume, and the page to create or strengthen. Args: `topic`, `siteId`. - `create_content_brief`: On-page brief of a new article, or of the rewrite of `targetUrl`: angle, outline, keyword plan, competitors, internal links, and the questions only the user can answer. Args: `keyword`, `targetUrl` (optional), `instructions` (optional), `siteId`. - `write_article`: The writing agent writes the full article planned by a brief, with its images and SEO fields. The article belongs to no conversation: it is listed in the site's documents. Args: `briefId`, `siteId`. - `get_task`: Status (`processing`, `complete`, `error`) and structured result of a task. - `list_tasks`: The tasks already run on a site, newest first, with their results. Args: `siteId`, `limit`. ### Briefs (3) - `list_briefs`: The briefs of a site, newest first, with the article written from each one. Args: `siteId`. - `get_brief`: One brief in full, with its questions and the answers given so far. Args: `briefId`, `siteId`. - `update_brief`: Answer a brief's questions (`answers` by `questionId`), pick the author who signs the article (`authorId`), or replace its `internalLinks`. Args: `briefId`, `siteId`. ### Actions (2) - `list_site_actions`: List a site's SEO actions with their status. Args: `siteId`, `view` (`all` | `active` | `done` | `dismissed`), `sort`, `limit`, `cursor`. - `close_site_action`: Close an action still to do: `done` marks it applied, `dismissed` sets it aside. ### Conversations (5) - `send_message`: Hand any other SEO question or task to the ChatSEO agent. Returns a `conversationId` with status `processing`; the agent keeps working server-side. - `get_conversation_messages`: Read the latest reply of a conversation (`status` is `complete` once ready), or its whole history with `include_history`. - `list_conversations`: List the conversations of one site, or those tied to no site when `siteId` is left out. - `update_conversation`: Rename a conversation, file it in a project or tie it to a site. A conversation filed in a project takes the site of that project. - `share_conversation`: Create a public share link, or return the existing one. ### Projects (1) - `list_projects`: List the projects of one site, or those tied to no site when `siteId` is left out. ### Artifacts (4) - `list_artifacts`: List the deliverables (articles, documents) of a conversation, or of a site when `conversationId` is left out, without their content. - `get_artifact`: Return one deliverable with its full content and WordPress publication status. - `update_artifact`: Overwrite the title or the content of a deliverable. - `edit_article`: Targeted edit of an article: exact text replacements in its body, a new title or new SEO fields. ### WordPress (2) - `wordpress_connect`: Start the WordPress one-click authorization flow and return the URL the user approves. - `publish_artifact_to_wordpress`: Publish an article artifact to WordPress, or update the post already published. --- ## Authentication details - **Issuer:** `https://api.chatseo.app/auth` - **Audience:** `https://api.chatseo.app/mcp` - **JWKS:** `https://api.chatseo.app/auth/jwks` - **Resource metadata:** `https://api.chatseo.app/.well-known/oauth-protected-resource/mcp` - **OpenID config:** `https://api.chatseo.app/.well-known/openid-configuration` Unauthenticated requests receive a `401` with `WWW-Authenticate: Bearer realm="mcp", resource_metadata="..."` so MCP-aware clients can auto-bootstrap the OAuth flow. --- ## Operating notes for agents - The organization is chosen once, when the user authorizes the connection. To work in another organization, the user reconnects the MCP server. - `send_message` is the workhorse for running ChatSEO analyses — prefer it over composing prompts externally when the user wants a product-grade SEO answer (it runs the full agent pipeline with GSC/GA tools). - Tools annotated `readOnlyHint: true` are safe to call speculatively; others mutate state. - Rate limits and credit consumption apply per organization. Check `get_credits` before large batched operations. --- ## Key pages Product: - Homepage: `https://chatseo.app` - Pricing: `https://chatseo.app/pricing` (EN) · `https://chatseo.app/fr/tarifs` (FR) - About: `https://chatseo.app/about` - Security: `https://chatseo.app/security` - MCP setup guide: `https://chatseo.app/mcp` (EN) · `https://chatseo.app/fr/mcp` (FR) Legal & docs: - Blog: `https://chatseo.app/blog` - Terms: `https://chatseo.app/terms` · Privacy: `https://chatseo.app/privacy` · DPA: `https://chatseo.app/dpa` · Sub-processors: `https://chatseo.app/sub-processors` --- ## Contact - Support: support@chatseo.app - Website: https://chatseo.app - Status and changelog: https://chatseo.app/blog