sistrix-mcp
Talk to your SISTRIX SEO data. From Claude, Cursor, VS Code, or any MCP client.

17 curated, credit-aware SEO tools + a full-API escape hatch. Single binary, instant startup, context-friendly.
Quickstart Β· Clients Β· Tools Β· Credits Β· Configuration Β· FAQ
You βΈ How is example.com doing in Google β and who is beating us?
Claude βΈ example.com's visibility index is 4.82 (Germany), up 6% over the last
8 weeks. It ranks for 18,400 organic keywords, 2,100 in the top 10.
Closest SEO competitors: competitor-a.de (74% overlap),
competitor-b.com (61%). Biggest opportunity: 312 keywords sit on
page 2 β want the top 20 by potential gain?
Every question the SISTRIX Toolbox can answer, your AI assistant can now answer too β including follow-ups, comparisons, and "why?".
β¨ Why sistrix-mcp?
| |
|---|
| π― Curated, not generated | 17 hand-crafted tools modeled on real SEO questions β not 90+ auto-generated API mirrors that flood the model's context and degrade tool selection. |
| π³ Credit-aware | SISTRIX bills most API calls per returned row from a weekly credit budget. Every tool ships tight row limits, cost notes in the descriptions, and a free sistrix_credits balance check β so one question never burns your week. |
| β‘ Instant startup | No introspection round-trips. One static binary, no Node, no Python, no runtime. Starts in milliseconds. |
| π Safe by default | API key sent via POST body only (never in URLs/logs), redacted from every error message. |
| π§ Context-friendly | Row limits on every report and a hard response budget with actionable guidance β one tool call can never blow up the context window. |
| π€ AI visibility included | SISTRIX's newest data: which brands, entities, and sources ChatGPT, Perplexity, and Google AI Overviews actually cite (sistrix_ai_*). |
| π Amazon included | Marketplace data by ASIN: rankings, price history, reviews (sistrix_amazon). |
| π§° Never a cage | sistrix_api reaches any documented API method (ai.check, marketplace.keyword., project.onpage., β¦) when the curated tools don't cover it. |
| π Resilient | Automatic retries with backoff on 429/5xx/network hiccups. Every documented SISTRIX error code mapped to a hint the model can act on. |
π Quickstart
1. Install
Prebuilt binary (Linux, macOS, Windows) β grab it from Releases, or:
cargo install sistrix-mcp
cargo install --git https://github.com/Liohtml/sistrix-mcp
docker pull ghcr.io/liohtml/sistrix-mcp
2. Get a SISTRIX API key
app.sistrix.com/account/api β create a key.
API access is included from the Plus package onwards and uses a weekly credit budget.
3. Verify the connection
sistrix-mcp --api-key YOUR_KEY --check
β Connected β 10000 API credits available
4. Connect your client β¬
π Connect your client
Claude Code
claude mcp add sistrix \
--env SISTRIX_API_KEY=YOUR_KEY \
--env SISTRIX_COUNTRY=de \
-- sistrix-mcp
Claude Desktop
Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"sistrix": {
"command": "sistrix-mcp",
"env": {
"SISTRIX_API_KEY": "YOUR_KEY",
"SISTRIX_COUNTRY": "de"
}
}
}
}
Cursor
.cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"sistrix": {
"command": "sistrix-mcp",
"env": {
"SISTRIX_API_KEY": "YOUR_KEY",
"SISTRIX_COUNTRY": "de"
}
}
}
}
VS Code (GitHub Copilot)
.vscode/mcp.json:
{
"servers": {
"sistrix": {
"type": "stdio",
"command": "sistrix-mcp",
"env": {
"SISTRIX_API_KEY": "${input:sistrix-key}",
"SISTRIX_COUNTRY": "de"
}
}
},
"inputs": [
{
"id": "sistrix-key",
"type": "promptString",
"description": "SISTRIX API key",
"password": true
}
]
}
Windsurf / Zed / other MCP clients
Any client that speaks MCP over stdio works with the generic shape:
{
"command": "sistrix-mcp",
"args": [],
"env": {
"SISTRIX_API_KEY": "YOUR_KEY",
"SISTRIX_COUNTRY": "de"
}
}
Docker (any client)
{
"mcpServers": {
"sistrix": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "SISTRIX_API_KEY", "-e", "SISTRIX_COUNTRY",
"ghcr.io/liohtml/sistrix-mcp"
],
"env": {
"SISTRIX_API_KEY": "YOUR_KEY",
"SISTRIX_COUNTRY": "de"
}
}
}
}
TIP
Set SISTRIX_COUNTRY (e.g. de) and every tool call automatically uses that
country index unless the model asks for another one.
| Tool | Answers questions like | Credits* |
|---|
sistrix_credits | "How many API credits do we have left?" | free |
sistrix_lists | "Which country indices / SERP features / AI models exist?" | free |
sistrix_domain_overview | "How is example.com doing overall?" | 5 flat |
sistrix_visibility | "Visibility index trend over the last year? All-time high?" | 1/row |
sistrix_keyword_counts | "How many keywords do we rank for? Top-10 trend?" | 1/row |
sistrix_competitors | "Who are our closest SEO / Ads competitors?" | 1/row |
sistrix_keyword_ideas | "Which keywords are just off page 1 with the biggest potential?" | 1/row |
sistrix_domain_structure | "Which URLs/subdomains/directories drive our visibility?" | 1/row |
sistrix_domain_rankings | "All keywords we rank for on page 2, with traffic." | 1/row |
sistrix_keyword | "Volume, CPC, intent, SERP features for 'ergonomic chair'?" | 1β5/row |
sistrix_links | "How does our backlink profile look? Top link texts?" | 1/rowβ25 flat |
sistrix_ai_top | "Which brands does AI mention most in our market?" | 1/row |
sistrix_ai_entity | "How do ChatGPT & Co. see our brand? Which sources do they cite?" | 1/rowβ10 flat |
sistrix_ai_tracker | "How visible are we in our tracked AI prompts vs. competitors?" | 1/row |
sistrix_project | "Optimizer project rankings, onpage crawl results, tracked SERPs." | varies |
sistrix_amazon | "Amazon rankings, price and review history for this ASIN." | 1/row |
sistrix_api | Everything else β ai.check.*, marketplace.keyword.*, project.onpage.*, any documented method | varies |
*Costs as documented by SISTRIX per method; see API credits.
Domain tools accept a target (the domain, host, path, or URL) plus a scope
that tells SISTRIX how to interpret it, a country index, and a row limit.
Prompts to try
- "Give me an SEO health check for example.com in Germany."
- "Which keywords sit on positions 11β20 with the most traffic potential?"
- "Compare our visibility trend with competitor-a.de over the last 12 months."
- "Does ChatGPT recommend our brand? Which sources does it cite in our niche?"
- "What's the search intent and CPC for our top 10 money keywords?"
π³ API credits
SISTRIX API access starts with the Plus package and uses a weekly credit
budget. Most methods cost 1 credit per returned row; a few are flat-rate
(domain.overview = 5, domain.visibilityindex.overview = 10,
links.overview = 25) and keyword.seo.metrics costs 5 per keyword.
sistrix-mcp defaults every list to 25 rows (not SISTRIX's 100β10,000) and
tells the model what each call costs, so exploratory conversations stay cheap.
Check the balance anytime with sistrix_credits β it's free, as are
sistrix_lists and the project/tracker list reports.
The rate limit is 300 requests/minute; sistrix-mcp backs off and retries
automatically when it's hit.
βοΈ Configuration
| Flag | Env | Default | Description |
|---|
--api-key | SISTRIX_API_KEY | β (required) | SISTRIX API key (create here) |
--country | SISTRIX_COUNTRY | account default | Default country index (e.g. de, at, us) for all country-aware tools |
--timeout-secs | SISTRIX_TIMEOUT_SECS | 30 | Per-request timeout |
--max-response-chars | SISTRIX_MAX_RESPONSE_CHARS | 50000 | Response budget before truncation |
--api-url | SISTRIX_API_URL | https://api.sistrix.com/ | API endpoint (testing only) |
--check | β | β | Verify the API key, print remaining credits, then exit |
π How is this different from SISTRIX's official MCP integration?
SISTRIX documents its own MCP bridge
for connecting chatbots to the API β and per their docs, requests through it
currently don't count against the credit quota. If that covers your needs, use it!
sistrix-mcp is the open-source, self-hosted alternative: a local stdio binary
with a curated, fully documented tool surface (17 tools with exact schemas,
enums, and per-case validation), an escape hatch to every documented API
method including the newest areas (ai.check, marketplace, Optimizer onpage),
hard response budgets for the model's context, offline tests, and no dependency
on a hosted bridge. MIT-licensed, so you can read exactly what the model can and
cannot do with your API key.
π©Ί Troubleshooting
"wrong api key" (code 100)
Run sistrix-mcp --api-key ... --check. If it fails, regenerate the key under
app.sistrix.com/account/api.
"not enough credits" (code 200)
The weekly budget is exhausted. Credits refill weekly; check the balance with
sistrix_credits. Keep limit small β most tools cost 1 credit per row.
"package does not contain api access" (code 5000)
API access starts with the SISTRIX Plus package. Check your plan.
"domain not found" (code 2000)
The domain isn't in the SISTRIX database for the chosen country index. Try
another country, or check the spelling.
Responses feel truncated
That's the context guard doing its job. Ask for fewer rows or raise
--max-response-chars.
ποΈ Development
git clone https://github.com/Liohtml/sistrix-mcp.git
cd sistrix-mcp
cargo test
cargo clippy --all-targets -- -D warnings
cargo run -- --api-key YOUR_KEY --check
See docs/ARCHITECTURE.md for the design, and
docs/sistrix-api-reference.md for a complete,
crawled reference of the SISTRIX API (all 91 methods with parameters and
credit costs).
Contributions welcome β see CONTRIBUTING.md.
π License
MIT Β© Lionel Machire
- MCP Registry name:
mcp-name: io.github.Liohtml/sistrix-mcp
Not affiliated with or endorsed by SISTRIX GmbH. SISTRIX is a trademark of SISTRIX GmbH.