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 分