io.github.psyb0t/rankrat
Provides integration with Google Search Console, Google Analytics 4 (GA4), and Google Indexing APIs to read and manage search performance data, analytics, and indexing notifications for verified properties.
Reads GA4 analytics data and can create GA4 properties during site onboarding, all within configured boundaries.
Reads page speed and performance data from the PageSpeed Insights API for configured properties.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@io.github.psyb0t/rankratShow me which queries caused last week's traffic drop across Google and Bing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rankrat
Search Console, Google Tag Manager, Bing Webmaster Tools, GA4, Microsoft Clarity, PageSpeed, Cloudflare, CrUX, and Bing's backlink data each have their own view of a site. Rankrat puts them behind one self-hosted service so a human can tell an agent what outcome they want and let the agent inspect, create, update, or remove supported provider resources.
It is a rat, not a burglar. You provide the provider accounts; those credentials
are Rankrat's authority. Resource lists in boundaries.json are discovered
inventory and URL-containment data, not a second permission system. Rankrat is
writable by default. Set RANKRAT_READ_ONLY=true when a deployment must omit
every mutating REST route and MCP tool.
Rankrat speaks MCP over stdio, MCP over Streamable HTTP at /mcp, and a
FastAPI JSON API under /v1/. Wrapper-managed HTTP uses a bearer; a custom
loopback-only launch may explicitly omit it.
Status: alpha. The API and tool surface may change before 1.0; minor releases can include documented incompatible changes, so pin an exact release if your integration requires stability.
Contents
Related MCP server: gsc-mcp
Capabilities
Area | What Rankrat exposes |
Search Console analytics, inspection and sitemaps; GA4 inventory and reports; Google Tag Manager containers, workspaces, tags, triggers, variables, versions, and publication; property, sitemap, indexing, ownership, onboarding, and rename writes | |
Bing | Search, crawl, indexing, sitemap, backlink, quota, keyword, opportunity, cannibalization, site/submission, and safe content-submission operations |
Performance | PageSpeed, Core Web Vitals, CrUX history, Microsoft Clarity insights, Cloudflare analytics, provider-neutral managed edge redirects, and isolated local Lighthouse audits |
Site intelligence | Whole-site audits, schema eligibility, internal-link graphs, orphan pages, content opportunities, and cross-provider comparisons |
Ownership and onboarding | Google/Bing checks, provider-neutral DNS verification through Cloudflare, and idempotent GA4/Search Console/Bing onboarding |
Backlinks | Bing Webmaster backlink intelligence for configured sites |
Monitoring and remediation | Persistent monitors and issue history, sitemap/URL resubmission, IndexNow, exact Cloudflare purges, finite cache templates, and managed edge redirects |
Runtime discovery is authoritative: read-only deployments omit every write; writable deployments include onboarding with the other mutations. See the MCP tool catalog and generated OpenAPI document.
Quick start
Docker and GNU Make are the only checkout setup requirements. The guided setup prints the provider console URL and account-wide permissions for each selected provider, accepts credentials through hidden terminal prompts, stores them in standard owner-only paths, completes Google OAuth, and runs live capability checks before declaring the installation ready.
Rerunning setup is additive: selected providers are added or refreshed, while
unselected accounts and their discovered inventory stay unchanged. If a
provider already has multiple account entries, choose the intended entry in
config/boundaries.json before refreshing that provider.
git clone https://github.com/psyb0t/rankrat.git
cd rankrat
make setupmake setup uses $HOME/.config/rankrat. Set
RANKRAT_PROFILE=/absolute/path/to/rankrat-profile only when this checkout
must use a different existing profile; installed users use the clearer
rankrat --data-dir ... form instead.
Setup does not submit URLs or create site properties. It validates account access so a later agent session can do those jobs through the normal API/MCP tools. Exact provider details and the standalone-wrapper path are in Getting started and Providers and credentials.
Run it
make run # MCP over stdio
make run-http # Rankrat + Lighthouse over HTTP, attached to Compose
rankrat http -d # same HTTP stack detached with automatic restartsFor HTTP, MCP is at http://127.0.0.1:8080/mcp; REST is under /v1/.
Stdio uses no port or bearer. HTTP uses the selected data directory as its
Compose project, creates docker-compose.yml there when missing, and preserves
an existing operator file. The wrapper, plain docker run, Docker Compose,
HTTP authentication, and client configurations are in
Transports and deployment.
Compose runs two long-lived services plus one one-shot volume initializer; details are in the deployment guide.
Local browser audits use the separate psyb0t/rankrat-lighthouse image over a
Unix socket; it receives no provider credentials. See Lighthouse.
Safety model
Rankrat is writable by default. Configured account credentials authorize all supported provider operations and all resources those accounts can reach.
RANKRAT_READ_ONLY=trueremoves write REST routes and MCP tools from runtime discovery. It is the only capability switch.The operator decides whether the caller is a careful human-directed agent or a fully autonomous one. Remote HTTP still uses the configured bearer.
Resource arrays are cached inventory and containment data. Onboarding and discovery update them so retries reuse existing resources.
Secrets are read-only mounts; OAuth records and monitor state have separate writable mounts.
See Configuration and Security before enabling writes or exposing HTTP beyond loopback.
Documentation
The documentation index links the complete operator and contributor manual: setup, configuration, providers, transports, workflows, security, tools, troubleshooting, and development.
The REST source is YAML-first: openapi.yaml,
seo-openapi.yaml, and
free-seo-openapi.yaml generate
openapi.json. Agent clients can use the repository's skill,
Claude Code and Codex manifests, or OpenClaw integration under .agents.
Agent integrations
The Rankrat skill works in agents that read
.agents/skills/. The integrations below cover both MCP stdio and a shared
Streamable HTTP server.
Claude Code
claude plugin marketplace add psyb0t/agents
claude plugin install rankrat@psyb0tCodex
codex plugin marketplace add psyb0t/agents
codex plugin add rankrat@psyb0tInstalled through the catalog, the skill invokes as $rankrat:rankrat. Codex
also discovers it as $rankrat directly from a Rankrat checkout.
OpenClaw
openclaw skills install @psyb0t/rankrat
openclaw plugins install clawhub:@psyb0t/rankratThe plugin launches the published image over MCP stdio using the standard
$HOME/.config/rankrat/ layout. Set one absolute RANKRAT_DATA_DIR in every
client to reuse the same provider accounts, OAuth authorization, inventory,
and monitor state from any site repository. To use an already-running shared server,
configure OpenClaw for its authenticated http://127.0.0.1:8080/mcp
Streamable HTTP endpoint. See Transports.
Development
All project tooling runs in containers:
make help
make lint
make testMocked tests need no provider credentials. Live tests are explicit and derive their sole account plus a safe target from the selected profile. See Development.
Project information
WTFPL license · Release history · Dependency attribution · Issues
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that integrates Google Search Console and Google Analytics 4 to provide unified SEO and web traffic analysis. It allows users to fetch search performance data, merge page metrics, and generate automated trend reports or actionable insights through tool calls.16
- AlicenseAqualityCmaintenanceMCP server for querying Google Search Console data — search analytics, URL inspection, sitemap monitoring, and more — read-only tools for any MCP-compatible AI client.7Apache 2.0
- AlicenseBqualityDmaintenanceAn MCP server integrating Google Analytics 4, Search Console, and Indexing API, enabling AI agents to run reports, inspect URLs, manage properties, and request indexing.1699MIT
- FlicenseNot gradedqualityCmaintenanceLocal management console and permission wrapper for integrating Google Search Console, GA4, Bing Webmaster Tools, PageSpeed, and SEO analysis through a controlled MCP endpoint.
Related MCP Connectors
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/psyb0t/rankrat'
If you have feedback or need assistance with the MCP directory API, please join our Discord server