streamable-httpMITupdated 4mo ago
MCP server for the Marketing Miner Profilers API. Connects Claude, Cursor, Windsurf and other MCP clients to Marketing Miner keyword research and website analytics.
What can you do with lukaskostka99 marketing miner mcp?
Marketing Miner MCP Server
MCP server for the Marketing Miner Profilers API. Connects Claude, Cursor, Windsurf and other MCP clients to Marketing Miner keyword research and website analytics.
Available tools
| 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.
Installation
Get an API token from marketingminer.com/en/features/api, then pick one of the options below.
Option A — Claude Code CLI one-liner (recommended, cross-platform)
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 variable- Replace
YOUR_TOKENwith your actual Marketing Miner API token
To remove later: claude mcp remove marketing-miner -s user.
Option B — 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"
}
}
}
}
Option C — clone the repo (for development / customization)
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).
Option D — Docker (self-hosted HTTP)
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).
Configuration
| 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.
Remote HTTP client config
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"
}
}
}
Usage examples
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"]})
Supported markets
cs, sk, pl, hu, ro, gb, us
Architecture
- Node 18+, TypeScript (strict), ESM
- MCP SDK
^1.18(McpServer.registerTool, Zod input + output schemas, tool annotations) - Streamable HTTP (stateless per-request transport) + stdio
- Zod runtime validation with
.strict()(rejects unknown keys) structuredContent+outputSchemaon every tool- Response truncation for both markdown (25k chars) and oversized
structuredContentarrays - Optional DNS-rebinding protection (
Originheader validation when bound to loopback)
License
MIT
Install
Add lukaskostka99 marketing miner mcp to your client. Pick the one you use.
claude mcp add --transport http lukaskostka99-marketing-miner-mcp https://server.smithery.ai/@lukaskostka99/marketing-miner-mcp/mcpcodex mcp add lukaskostka99-marketing-miner-mcp --url https://server.smithery.ai/@lukaskostka99/marketing-miner-mcp/mcp{
"mcpServers": {
"lukaskostka99-marketing-miner-mcp": {
"url": "https://server.smithery.ai/@lukaskostka99/marketing-miner-mcp/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"lukaskostka99-marketing-miner-mcp": {
"type": "http",
"url": "https://server.smithery.ai/@lukaskostka99/marketing-miner-mcp/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"lukaskostka99-marketing-miner-mcp": {
"url": "https://server.smithery.ai/@lukaskostka99/marketing-miner-mcp/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"lukaskostka99-marketing-miner-mcp": {
"serverUrl": "https://server.smithery.ai/@lukaskostka99/marketing-miner-mcp/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
5 tools
lukaskostka99 marketing miner mcp exposes 5 tools to a connected agent.
- marketing_miner_get_search_volume
- `GET /keywords/search-volume-data`
- marketing_miner_batch_search_volume
- `POST /keywords/search-volume-data`
- marketing_miner_get_keyword_suggestions
- `GET /keywords/suggestions`
- marketing_miner_get_website_stats
- `GET /websites/stats`
- marketing_miner_get_website_stats_range
- `GET/POST /websites/stats-range`
Score
69 / 100
Good
- Documentation25/25
- Maintenance13/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 130 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 5 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.14.0Latest | Sep 16, 2025 |