xmlriver-mcp

An MCP server for the paid XMLRiver service: Google and Yandex SERP parsing, Wordstat frequency and suggestions in one package

MCP server

Low risk

We rate an entry low when it mostly gives the agent instructions and reference material.

Why this level

  • All tools only read public SERP data and statistics, nothing is changed
  • Every call spends from the XMLRiver balance, so check get_balance before bulk tasks
All reasons and checks
Russian stack

artgas1/xmlriver-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/xmlriver-mcp

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

Run in a terminal

claude mcp add --transport stdio --env 'XMLRIVER_USER=<your XMLRIVER_USER>' --env 'XMLRIVER_KEY=<your XMLRIVER_KEY>' xmlriver-mcp -- uvx xmlriver-mcp==0.1.8

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in Cursor

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Install in VS Code

The button opens the agent and offers to add the server. If nothing happens, copy the config below.

Run in a terminal

code --add-mcp '{"name":"xmlriver-mcp","type":"stdio","command":"uvx","args":["xmlriver-mcp==0.1.8"],"env":{"XMLRIVER_USER":"<your XMLRIVER_USER>","XMLRIVER_KEY":"<your XMLRIVER_KEY>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "xmlriver-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add xmlriver-mcp --env 'XMLRIVER_USER=<your XMLRIVER_USER>' --env 'XMLRIVER_KEY=<your XMLRIVER_KEY>' -- uvx xmlriver-mcp==0.1.8

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.xmlriver-mcp]
command = "uvx"
args = ["xmlriver-mcp==0.1.8"]
env = { XMLRIVER_USER = "<your XMLRIVER_USER>", XMLRIVER_KEY = "<your XMLRIVER_KEY>" }

If the file already exists, append the block to the end.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

gemini mcp add -s user -e 'XMLRIVER_USER=<your XMLRIVER_USER>' -e 'XMLRIVER_KEY=<your XMLRIVER_KEY>' xmlriver-mcp uvx xmlriver-mcp==0.1.8

Or add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "xmlriver-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "xmlriver-mcp==0.1.8"
      ],
      "environment": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "xmlriver-mcp": {
      "command": "uvx",
      "args": [
        "xmlriver-mcp==0.1.8"
      ],
      "env": {
        "XMLRIVER_USER": "<your XMLRIVER_USER>",
        "XMLRIVER_KEY": "<your XMLRIVER_KEY>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

XMLRIVER_USERsecret, required
XMLRIVER_KEYsecret, required

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: uv

Checked against the repository on Sep 25, 2026, commit cf86481.

Text for your agent

Install the server with uvx xmlriver-mcp, add it to your MCP client with XMLRIVER_USER and XMLRIVER_KEY from your xmlriver.com dashboard, then check the balance with get_balance.

Other ways from the author
uvx xmlriver-mcp

The main README method; the package is published on PyPI.

This is third-party code. Review the repository files before installing.

What it does

The server wraps XMLRiver's XML API and exposes eleven tools: Google and Yandex SERP parsing with country, region, device and extra blocks like FAQ and AI Overview, the official Yandex Search API v2 via XMLRiver, Wordstat frequency and history, search-suggestion autocomplete, URL indexation checks for Google and Yandex, and account tools for balance, tariff and per-1000-request cost by engine. Every tool is read-only annotated, and the raw full-page mode and the deferred-response mode are deliberately not wrapped so they don't dump megabytes of HTML into the model's context.

Who it is for. For SEO specialists and marketers who want both Google and Yandex in one MCP server without a separate subscription for each source.

Good fit when

  • You need to track your or a competitor's rankings in Yandex or Google
  • You need Wordstat frequency and seasonality alongside the SERP for the same query
  • You need long-tail autocomplete suggestions that Wordstat never reports

Not a fit when

  • You have no paid XMLRiver account and don't want one
  • You need a free source: XMLRiver charges per thousand requests

Example request

Check the Wordstat frequency for "buy iphone" and show the Yandex top 10 for that query

Limitations

You need an XMLRiver account with a topped-up balance (from 100 rubles), costing 12-25 rubles per 1000 requests depending on the tariff. The XMLRiver API is HTTP, not HTTPS; the key can be rotated from the dashboard if it leaks. The google_maps_search tool was unverified against a live response at the time of writing, the service returned error 500 for every call to that mode.

How to disable. Remove the server from your client config (claude mcp remove xmlriver) and optionally rotate the XMLRIVER_KEY in the service dashboard.

MCP

Transport
stdio
Authentication
API key
Environment variables
Environment variables
XMLRIVER_USER
required, secret
Numeric XMLRiver user ID.
XMLRIVER_KEY
required, secret
A 40-character hex key from the XMLRiver dashboard.

Security check

  • All tools only read public SERP data and statistics, nothing is changed
  • Every call spends from the XMLRiver balance, so check get_balance before bulk tasks

README in short

The README describes the tools by category (search, indexation, account), gives ready install commands for Claude Desktop, Claude Code and Cursor, an XMLRiver pricing table, and example tasks: rank tracking, keyword research, featured-snippet hunting and indexation monitoring.

FAQ

Is this an official XMLRiver server?

No, it's an independent third-party project on top of the service's public XML API.

How much does one request cost?

12 to 25 rubles per 1000 requests depending on the tariff and request type; call get_cost before bulk operations.

Official

Official DataLens (Yandex) skills for Claude Code, Codex and OpenCode: SDK, HTML reports and RLS resolution

SkillMedium riskRussian stackNo VPN needed12Repository stars
Editors’ pick

A Yandex Metrika MCP server generated from the API spec: 108 methods, 10 tools declared by default, transparent filters and response metadata

MCP serverMedium riskRussian stackNo VPN needed2Repository stars
Official

An open MCP server and agent skill set for SEO: keyword research, competitors, backlinks and site audits powered by DataForSEO

MCP serverMedium risk21.5KRepository stars

A Claude Code plugin for SEO audits: technical SEO, E-E-A-T, schema, local and AI search via parallel subagents

PluginHigh risk17.9KRepository stars
Foxx AIxmlriver-mcp

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.