xmlriver-mcp
This MCP server provides read-only access to XMLRiver's API for SEO research, SERP parsing, and keyword analysis across Google and Yandex.
Search & SERP Parsing
google_search— Parse Google SERP for any query with country/language/device targeting, pagination, date filters, and extra blocks (ads, FAQ, knowledge graph, AI Overview, related searches)yandex_search— Parse Yandex SERP with Russian region targeting, device emulation, and extra blocks — ideal for Russian-speaking market SEOyandex_search_api_v2— Query Yandex via the official Search API v2 proxy for cleaner, structured output
Keyword Research
wordstat_query— Get Yandex Wordstat keyword frequency, device breakdown, similar/related queries, and historical demand trends (monthly or weekly)
Indexation Monitoring
check_url_indexed— Verify whether a URL is indexed in Google or Yandex
Account & Billing Management
get_balance— Check current XMLRiver account balance (in rubles)get_tariff— View active tariff plan (Basic / Pro / Mega / Giga)get_tariff_expire— Check prepay tariff expiration dateget_cost— Get cost per 1,000 requests for a specific engine (google, yandex, yaxml, wordstat)
All operations are read-only (no destructive actions). Supports use cases like rank tracking, keyword research, competitor analysis, indexation audits, and cross-region comparison.
Provides tools for parsing Google SERP results, including organic, ads, FAQ, knowledge graph, and AI Overview, with support for country, region, device, page, date filters, and indexing checks.
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., "@xmlriver-mcpgoogle search for 'best SEO tools'"
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.
xmlriver-mcp
MCP server for XMLRiver — Google/Yandex SERP parsing and Yandex Wordstat keyword frequency data via XML API.
mcp-name: io.github.artgas1/xmlriver-mcp
What it does
Gives Claude / Cursor / Windsurf direct access to:
Google SERP parsing (organic, ads, FAQ, knowledge graph, AI Overview) for any country / region / device
Yandex SERP parsing (Russian-speaking markets — primary use case)
Yandex Wordstat keyword frequency, history, similar queries (Yandex's keyword volume tool)
Indexing check — is this URL in Google/Yandex index?
Account ops — balance, tariff, cost per 1k requests
First MCP for XMLRiver — fills a gap for Russian SEO research and Yandex-aware analysis. Pay-as-you-go (~25 ₽ / 1000 requests on Basic tariff).
Related MCP server: yandex-mcp
Demo
Claude queries wordstat_query and parses real frequency data from Yandex. Same flow works for google_search, yandex_search, indexing checks, and account ops.
Quickstart
uvx xmlriver-mcpConfiguration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"xmlriver": {
"command": "uvx",
"args": ["xmlriver-mcp"],
"env": {
"XMLRIVER_USER": "<your_numeric_user_id>",
"XMLRIVER_KEY": "<your_40_char_hex_key>"
}
}
}
}Claude Code
Add to project .mcp.json:
{
"mcpServers": {
"xmlriver": {
"command": "uvx",
"args": ["xmlriver-mcp"],
"env": {
"XMLRIVER_USER": "<your_numeric_user_id>",
"XMLRIVER_KEY": "<your_40_char_hex_key>"
}
}
}
}Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": {
"xmlriver": {
"command": "uvx",
"args": ["xmlriver-mcp"],
"env": {
"XMLRIVER_USER": "<your_numeric_user_id>",
"XMLRIVER_KEY": "<your_40_char_hex_key>"
}
}
}
}Tools
Tool | What it does |
| Parse Google SERP for a query — country, language, device, page, date filter, extra blocks (ads, FAQ, knowledge graph, AI Overview) |
| Parse Yandex SERP — region, language, device, page, date filter, extra blocks |
| Yandex Search API v2 (official) via XMLRiver — cleaner structured output |
| Yandex Wordstat keyword frequency + similar queries, or demand dynamics by month/week/day |
| Check if URL is indexed in Google or Yandex |
| Current XMLRiver balance in rubles |
| Current XMLRiver tariff name (Basic / Pro / Mega / Giga) |
| Tariff expiration date (for prepay tariffs) |
| Cost per 1000 requests for a given engine (google / yandex / yaxml / wordstat) |
All tools are read-only (annotated with readOnlyHint: true). No destructive operations.
Authentication
Register at https://xmlriver.com
Top up balance (minimum ~100 ₽ to start)
Get your
user(numeric ID) andkey(40-char hex) from the dashboardSet
XMLRIVER_USERandXMLRIVER_KEYenv vars in your MCP client config
Security note: XMLRiver API is HTTP-only (not HTTPS). The key is rotatable from the dashboard if compromised.
Pricing context
Tariff | Setup | Google / Yandex / Wordstat | Yandex Search API v2 |
Basic | Pay-as-you-go | 25 ₽ / 1k | 25 ₽ / 1k |
Pro | 5000 ₽/mo | 20 ₽ / 1k | 24 ₽ / 1k |
Mega | 15000 ₽/mo | 15 ₽ / 1k | 23 ₽ / 1k |
Giga | 50000 ₽/mo | 12 ₽ / 1k | 22 ₽ / 1k |
Use get_balance and get_cost to monitor spend before bulk operations.
Common use cases
SEO position tracking —
yandex_search(query="...", region=213)for own/competitor rankingKeyword research —
wordstat_query(query="купить iphone", history_period="monthly")for demand validation + seasonalityFeatured snippet hunting —
google_search(additional_blocks="faqsnippet,knowledge_graph,zeroposition")to see what owns the answer boxIndexation monitoring —
check_url_indexed(url="https://your-site.com/new-page")after publishingCross-region comparison — same query, different
region/countryfor Yandex/Google to see geographic variance
Local development
git clone https://github.com/artgas1/xmlriver-mcp
cd xmlriver-mcp
uv sync --all-extras
# Run unit tests (no API key needed)
uv run pytest tests/unit -v
# Run integration tests (requires XMLRIVER_USER / XMLRIVER_KEY)
XMLRIVER_USER=... XMLRIVER_KEY=... uv run pytest tests/integration -v -m integration
# MCP Inspector — interactive
XMLRIVER_USER=... XMLRIVER_KEY=... npx @modelcontextprotocol/inspector uv run python -m xmlriver_mcp.server
# MCP Inspector — CLI smoke test (list tools)
npx @modelcontextprotocol/inspector --cli "uv run python -m xmlriver_mcp.server" --method tools/listArchitecture
Stack: Python 3.10+ / FastMCP / httpx / tenacity / pydantic
Transport: stdio (default)
No external SDK dependency — direct REST via httpx + custom XML parser
Retry strategy: 3 attempts with exponential backoff on network errors (not on HTTP 4xx)
Logging: stderr only (stdio protocol requires stdout for JSON-RPC)
License
Contributing
PRs welcome. Open an issue first for substantial changes.
Acknowledgements
XMLRiver — for the underlying API
Anthropic MCP — for the protocol
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
- AlicenseBqualityFmaintenanceA powerful MCP server that enables parallel Google searching with multiple keywords simultaneously, providing structured results while handling CAPTCHAs and simulating user browsing patterns.Last updated1140269MIT
- Alicense-qualityDmaintenanceMCP server for Yandex Direct, Metrika, Wordstat, and Webmaster APIs, providing 132 tools to manage advertising campaigns, analytics, keyword research, and reporting through any MCP-compatible client.Last updated56MIT
- AlicenseCqualityCmaintenanceMCP server that provides 46 tools for managing Yandex Webmaster API v4, enabling site management, sitemaps, indexing, search analytics, and more through natural language.Last updated46543MIT
- AlicenseAqualityBmaintenanceAn unofficial MCP server that provides 17 tools for Yandex/Google rank tracking via the Topvisor API v2, enabling project management, keyword import, asynchronous position checks, and retrieval of history and SERP snapshots.Last updated1756MIT
Related MCP Connectors
MCP server for Google search results via SERP API
Official Octoparse MCP server for template discovery, cloud tasks, and structured data export.
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
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/artgas1/xmlriver-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server