Discover high-impact keyword ideas across Central and Eastern European and English markets. Analyz…
One address for any MCP client. Your key stays in your Odel vault.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Odel could not list its tools without signing in.
MCP server for the Marketing Miner Profilers API. Connects Claude, Cursor, Windsurf and other MCP clients to Marketing Miner keyword research and website analytics.
| Tool | Endpoint | Description |
|---|---|---|
marketing_miner_get_search_volume | GET /keywords/search-volume-data | Search volume + CPC + YoY + seasonality for a single keyword |
marketing_miner_batch_search_volume | POST /keywords/search-volume-data | Batch processing of 1–1000 keywords |
marketing_miner_get_keyword_suggestions | GET /keywords/suggestions | Keyword suggestions (questions / new / trending) with difficulty and SERP features. Supports limit + offset with has_more / next_offset in the response. |
marketing_miner_get_website_stats | GET /websites/stats | Estimated traffic, keyword count, breakdown by result_type |
marketing_miner_get_website_stats_range | GET/POST /websites/stats-range | Historical traffic trend + competitor comparison |
Every tool returns markdown (default, human-readable) or json (response_format: "json"), plus structuredContent with all API fields. Each tool declares an outputSchema for client-side validation.
Get an API token from marketingminer.com/en/features/api, then pick one of the options below.
Works on macOS, Windows and Linux — Claude Code CLI handles the config file location for you.
claude mcp add marketing-miner \
-s user \
-e MARKETING_MINER_API_TOKEN=YOUR_TOKEN \
-- npx -y github:lukaskostka/marketing-miner-mcp
-s user → installs globally (available from any project)-e → sets the API token as environment variableYOUR_TOKEN with your actual Marketing Miner API tokenTo remove later: claude mcp remove marketing-miner -s user.
npx straight from GitHub (no clone needed)The repo ships the built dist/ folder, so npx can run it directly.
Claude Desktop / Cursor / Windsurf config:
{
"mcpServers": {
"marketing-miner": {
"command": "npx",
"args": ["-y", "github:lukaskostka/marketing-miner-mcp"],
"env": {
"MCP_TRANSPORT": "stdio",
"MARKETING_MINER_API_TOKEN": "your_token_here"
}
}
}
}
git clone https://github.com/lukaskostka/marketing-miner-mcp.git
cd marketing-miner-mcp
npm install
npm run build
Then point your MCP client at the built binary:
{
"mcpServers": {
"marketing-miner": {
"command": "node",
"args": ["/absolute/path/to/marketing-miner-mcp/dist/index.js"],
"env": {
"MCP_TRANSPORT": "stdio",
"MARKETING_MINER_API_TOKEN": "your_token_here"
}
}
}
}
Run locally with MARKETING_MINER_API_TOKEN=xxx npm start (stdio, default) or MCP_TRANSPORT=http MARKETING_MINER_API_TOKEN=xxx npm start (Streamable HTTP on port 8000).
git clone https://github.com/lukaskostka/marketing-miner-mcp.git
cd marketing-miner-mcp
docker build -t marketing-miner-mcp .
docker run -p 8000:8000 -e MARKETING_MINER_API_TOKEN=your_token_here marketing-miner-mcp
Connect from a remote client via Streamable HTTP URL (see Connecting from an MCP client below).
| Variable | Default | Description |
|---|---|---|
MARKETING_MINER_API_TOKEN | — | Required. API token from marketingminer.com/en/features/api |
MCP_TRANSPORT | stdio | stdio (local MCP clients) or http (Streamable HTTP for hosted deployments) |
HOST | 0.0.0.0 | HTTP bind host |
PORT | 8000 | HTTP port |
MCP_HTTP_PATH | /mcp | HTTP path |
Alternative token names: MARKETING_MINER_API_KEY, MARKETING_MINER_TOKEN, MM_API_TOKEN, MM_API_KEY.
If you are running the server over Streamable HTTP (Option D above or any remote host), MCP clients connect via URL only:
{
"mcpServers": {
"marketing-miner": {
"url": "https://your-host.example.com/mcp"
}
}
}
1. Search volume for a single keyword:
"What is the search volume and seasonality of
marketingin CZ?" →marketing_miner_get_search_volume({lang:"cs", keyword:"marketing"})
2. Batch processing:
"Compare search volume of SEO terms" →
marketing_miner_batch_search_volume({lang:"cs", keywords:["seo","ppc","google ads","content marketing"]})
3. Question research for FAQ:
"Find questions around
hypoteka" →marketing_miner_get_keyword_suggestions({lang:"cs", keyword:"hypoteka", suggestions_type:"questions", limit:50})
4. Paginating suggestions:
Fetch next page →
marketing_miner_get_keyword_suggestions({lang:"cs", keyword:"hypoteka", limit:50, offset:50})
5. Competitor analysis:
"How much traffic does seznam.cz get?" →
marketing_miner_get_website_stats({lang:"cs", type:"domain", target:"seznam.cz"})
6. Competitor trends:
"Compare traffic trends of seznam.cz vs. idnes.cz" →
marketing_miner_get_website_stats_range({lang:"cs", type:"domain", target:"seznam.cz", period:"monthly", competitors:["idnes.cz"]})
cs, sk, pl, hu, ro, gb, us
^1.18 (McpServer.registerTool, Zod input + output schemas, tool annotations).strict() (rejects unknown keys)structuredContent + outputSchema on every toolstructuredContent arraysOrigin header validation when bound to loopback)MIT