{
  "markdown": "# SEOmonitor MCP Server\n\nThe official **Model Context Protocol (MCP) server** for [SEOmonitor](https://www.seomonitor.com) — connect Claude, ChatGPT, Gemini CLI, or any MCP-compatible client to your SEO data: rank tracking, AI visibility (AI Overviews & AI search), keyword research, organic traffic, and forecasts.\n\n**Hosted server:** `https://mcp.seomonitor.com` (Streamable HTTP) — no install needed.\nSetup guide: [mcp.seomonitor.com](https://mcp.seomonitor.com)\n\n---\n\n## 🚀 Quick Start (hosted — recommended)\n\nYou need a **SEOmonitor API key**: in the app, go to **Account → Edit profile → API key**.\n\n### Claude (custom connector)\nSettings → Connectors → **Add custom connector**, then use:\n\n```\nhttps://mcp.seomonitor.com/YOUR_API_KEY/mcp\n```\n\n### Any Streamable HTTP client\n```\nPOST https://mcp.seomonitor.com/mcp\nAuthorization: Bearer YOUR_API_KEY\n```\n\nBoth forms hit the same server; use whichever your client supports. Rate limit: **60 requests/minute per API key** (burst 30) — over-limit calls get HTTP 429 with `Retry-After`.\n\n### Gemini CLI\n```bash\ngemini extensions install https://github.com/BuntStudio/seomonitor-mcp-server\n```\nNo API key needed — the extension signs in with your SEOmonitor account on first use.\n\n---\n\n## 💻 Run locally (stdio)\n\n### Via npx\n```bash\nnpx github:BuntStudio/seomonitor-mcp-server\n```\n\n### Local clone\n```bash\ngit clone https://github.com/BuntStudio/seomonitor-mcp-server.git\ncd seomonitor-mcp-server\nnpm install && npm run build && npm start\n```\n\nRequirements: Node.js **18+**, a valid SEOmonitor API key.\n\n### Claude Desktop config (local stdio)\n**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"seomonitor\": {\n      \"command\": \"npx\",\n      \"args\": [\"github:BuntStudio/seomonitor-mcp-server\"],\n      \"env\": { \"SEOMONITOR_API_KEY\": \"your-seomonitor-api-key-here\" }\n    }\n  }\n}\n```\n\n### Environment variables\n```env\nSEOMONITOR_API_KEY=your-api-key-here   # required for stdio mode\n\n# Optional\nSEOMONITOR_HTTP_TIMEOUT_MS=180000      # default 180s, must be >120s\nLOG_LEVEL=info\nMCP_TRANSPORT=stdio                    # stdio (default) or http\nMCP_HTTP_PORT=3000                     # http transport only\nMCP_RATE_LIMIT_RPM=60                  # http transport: requests/min per key\nMCP_RATE_LIMIT_BURST=30\nMCP_ENABLE_WRITE_TOOLS=false           # keep false: public surface is read-only\n```\n\n---\n\n## 🛠️ Available Tools (49, all read-only)\n\nEvery tool is **read-only** — the server retrieves data from your SEOmonitor account and never modifies it. All tools carry MCP annotations (`readOnlyHint: true`) and are prefixed with `seomonitor_` to avoid collisions.\n\n### Campaigns & Account (2)\n- `seomonitor_get_tracked_campaigns`\n- `seomonitor_list_companies`\n\n### Rank Tracking (4)\n- `seomonitor_get_keyword_data`\n- `seomonitor_get_daily_keyword_ranks`\n- `seomonitor_get_keyword_groups`\n- `seomonitor_get_group_data`\n\n### Advanced Rank Tracking (7)\n- `seomonitor_get_keywords_competition`\n- `seomonitor_get_serp_feature_presence`\n- `seomonitor_get_top_results`\n- `seomonitor_get_keyword_ai_overview`\n- `seomonitor_get_ranking_pages`\n- `seomonitor_get_daily_group_visibility`\n- `seomonitor_get_keyword_import_status`\n\n### AI Overview (4)\n- `seomonitor_get_daily_keyword_ranks_ai_overview`\n- `seomonitor_get_keywords_competition_ai_overview`\n- `seomonitor_get_daily_group_visibility_ai_overview_mentions`\n- `seomonitor_get_daily_group_visibility_ai_overview_citations`\n\n### AI Search — ChatGPT, Perplexity, Gemini visibility (5)\n- `seomonitor_get_keyword_ai_search_data`\n- `seomonitor_get_keywords_competition_ai_search`\n- `seomonitor_get_daily_ai_search_keyword_ranks`\n- `seomonitor_get_daily_group_ai_search_brand_mentions`\n- `seomonitor_get_daily_group_ai_search_site_citations`\n\n### Visibility & Share of Voice (3)\n- `seomonitor_get_share_of_voice`\n- `seomonitor_get_daily_share_of_clicks`\n- `seomonitor_get_serp_visibility`\n\n### Organic Traffic (2)\n- `seomonitor_get_daily_traffic_data`\n- `seomonitor_get_traffic_by_keywords`\n\n### Keyword Research (6)\n- `seomonitor_get_related_keywords`\n- `seomonitor_get_topic_overview`\n- `seomonitor_get_domain_overview`\n- `seomonitor_get_domain_ranking_keywords`\n- `seomonitor_get_research_keyword_data`\n- `seomonitor_get_research_ranking_data`\n\n### Forecasting (4)\n- `seomonitor_get_forecast_scenarios`\n- `seomonitor_get_forecast_scenario_data`\n- `seomonitor_get_forecast_objective_data`\n- `seomonitor_get_forecast_keywords`\n\n### Keyword Vault (3)\n- `seomonitor_get_keyword_vault_data`\n- `seomonitor_get_keyword_vault_overview`\n- `seomonitor_get_vault_lists`\n\n### Content / AI Writer (3)\n- `seomonitor_get_article_content`\n- `seomonitor_get_generation_status`\n- `seomonitor_get_topic_recommendations`\n\n### Insights & Composite (6)\n- `seomonitor_get_top_keywords`\n- `seomonitor_find_keywords`\n- `seomonitor_get_top_ai_search_keywords`\n- `seomonitor_get_campaign_widgets`\n- `seomonitor_get_ai_search_engine_performance`\n- `seomonitor_get_top_cited_landing_pages`\n\n> Two write tools (`seomonitor_generate_articles`, `seomonitor_add_keywords`) exist in the codebase but are **disabled by default** (`MCP_ENABLE_WRITE_TOOLS`). The public hosted server does not expose them.\n\n---\n\n## 🔐 Authentication & Privacy\n\n- **API key** — passed as a Bearer token or in the connector URL. The key is the API token from your SEOmonitor profile; regenerating it there invalidates the old one.\n- The hosted server is **stateless**: it forwards each request to the SEOmonitor API with your key and does not store your data.\n- **Privacy policy:** [SEOmonitor Privacy Policy](https://help.seomonitor.com/en/articles/2285725-seomonitor-privacy-policy)\n- Support: [GitHub Issues](https://github.com/BuntStudio/seomonitor-mcp-server/issues) or support@seomonitor.com\n\n---\n\n## 📊 Example prompts\n\n- *\"Which of my campaigns lost the most visibility this month, and which keyword groups drove it?\"*\n- *\"How often is my brand mentioned in AI Overviews for my tracked keywords vs. my main competitor?\"*\n- *\"Find keyword opportunities around 'crm software' in the US with high search volume where I rank below position 10.\"*\n- *\"Show my daily ranks for the 'pricing' keyword group over the last 30 days, desktop vs mobile.\"*\n- *\"What does my current forecast scenario say about traffic by December?\"*\n\n---\n\n## 🏗️ Development\n\n```bash\nnpm run dev     # Dev with auto-reload\nnpm run build   # Build TypeScript\nnpm start       # Start built server (stdio)\nnode dist/index.js --transport http --port 3000   # Streamable HTTP\n```\n\n### Project structure\n```\nsrc/\n ├── index.ts              # CLI entry\n ├── server.ts             # MCP server\n ├── rate-limiter.ts       # Per-key token bucket (http transport)\n ├── clients/seomonitor-client.ts\n ├── transports/           # stdio + Streamable HTTP\n └── mcp-tools/            # Tool implementations (auto-discovered)\n```\n\n### Adding tools\n1. Define the schema (with `title` + `annotations`) in a `*-tools.ts` file\n2. Implement the execution method\n3. Export — tools are auto-discovered\n\n---\n\n## 🔧 Troubleshooting\n\n- **Client doesn't load tools**: check the URL/API key; for stdio, rebuild `dist/` and restart the client.\n- **401 errors**: the API key is missing or was regenerated — copy the current one from your profile.\n- **429 errors**: you're over 60 requests/minute for your key; back off per the `Retry-After` header.\n- **Debug logging**: `npm start -- --log-level debug`\n\n---\n\n## 📚 Resources\n\n- [Hosted server & setup guide](https://mcp.seomonitor.com)\n- [SEOmonitor API docs](https://api-docs.seomonitor.com)\n- [MCP specification](https://modelcontextprotocol.io)\n- [GitHub Issues](https://github.com/BuntStudio/seomonitor-mcp-server/issues)\n",
  "bytes": 7769,
  "sha": "aed8a0436ffd67ab1eaa3b3422f20499e923a8d0a9c510c3423718e12eabef5a",
  "repo_slug": "buntstudio/seomonitor-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_buntstudio_seomonitor_mcp_server_e320c262/readme"
}