Xmlriver Mcp
io.github.artgas1由 GitHub 账号 artgas1 发布v0.2.3更新于 Oct 24, 2026
Google/Yandex SERP parsing and Yandex Wordstat keyword frequency via XMLRiver XML API
概览
本地 MCP 服务器,让助手通过 XMLRiver 查询 Google 与 Yandex 搜索结果、Yandex Wordstat 关键词数据、收录检查及账户余额。
- 可以做什么
- 解析 Google 和 Yandex 搜索结果页,可按国家、地区、语言、设备、页码和日期筛选,并获取广告、FAQ、知识图谱、AI Overview 等附加区块,以及经 XMLRiver 调用官方 Yandex Search API v2。获取 Yandex Wordstat 关键词频次、相似查询及按月、周、日的需求走势。拉取 Google 或 Yandex 搜索框自动补全建议,并按坐标查询 Google 地图地点。检查某个网址是否被 Google 或 Yandex 收录。读取 XMLRiver 账户余额、套餐、套餐到期时间和每千次请求费用。
- 适用场景
- 适合 SEO 与关键词研究,尤其是俄语市场:跟踪 Yandex 或 Google 排名、用 Wordstat 验证需求、挖掘长尾词、监控收录情况,以及在大批量查询前比较不同地区的结果。
- 运行要求
- 通过 uvx 作为 Python 包在本地运行(需 Python 3.10+)。需要已充值的 XMLRiver 账户,并在 MCP 客户端配置中设置 XMLRIVER_USER(数字 ID)和 XMLRIVER_KEY(40 位十六进制密钥)环境变量。需要访问 XMLRiver API 的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Xmlriver Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
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
[Add to Cursor] [Add to VS Code] [Add to Claude Desktop]
[PyPI] [Downloads] [License: MIT] [Python 3.10+]
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).
Demo
[xmlriver-mcp wordstat demo in Claude]
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
Configuration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Claude Code
Add to project .mcp.json:
Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
Tools
All tools are read-only (annotated with readOnlyHint: true). No destructive operations.
⚠️ google_maps_search is unverified against a live response. Every setab=maps request
answered code 500 while it was written (2026-08-04), including a deliberately invalid one that
should have returned code 108 — plain Google and Yandex searches worked in the same minutes, so
the mode appears unavailable service-side. The request shape and response parsing follow the
documentation and are covered by unit tests; both still need a live check.
Deliberately not wrapped: raw=page (returns the full HTML page — bypasses parsing and
returns megabytes into the model's context) and the deferred-response mode (delayed / req_id)
— an MCP call is synchronous, so a request id the caller must poll for has nowhere useful to go.
Authentication
- Register at https://xmlriver.com
- Top up balance (minimum ~100 ₽ to start)
- Get your
user(numeric ID) andkey(40-char hex) from the dashboard - Set
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
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 ranking - Keyword research —
wordstat_query(query="купить iphone", history_period="monthly")for demand validation + seasonality - Featured snippet hunting —
google_search(additional_blocks="faqsnippet,knowledge_graph,zeroposition")to see what owns the answer box - Long-tail discovery —
search_suggestions(phrases=[...])with a prefix sweep (seed + each letter of the alphabet) pulls phrasings Wordstat never reports - Indexation monitoring —
check_url_indexed(url="https://your-site.com/new-page")after publishing - Cross-region comparison — same query, different
region/countryfor Yandex/Google to see geographic variance
Local development
Architecture
- 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
来源:README.md,提交 cf86481
工具
0版本历史
2- v0.2.3最新Sep 23, 2026
- v0.2.0Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分