BuntStudio/seomonitor-mcp-server
3.1
If you are the rightful owner of seomonitor-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The SEOMonitor MCP Server provides a Model Context Protocol server for accessing SEOMonitor's API, enabling integration with AI assistants like Claude Desktop.
Tools
5
Resources
0
Prompts
0
SEOMonitor MCP Server
A Model Context Protocol (MCP) server for accessing SEOMonitor’s API in AI assistants like Claude Desktop.
🚀 Quick Start
Run via npx (Recommended)
npx github:BuntStudio/seomonitor-mcp-server
Local Development
git clone https://github.com/BuntStudio/seomonitor-mcp-server.git
cd seomonitor-mcp-server
npm install
npm run build
npm start
Requirements:
- Node.js 18+
- A valid SEOMonitor API key
⚙️ Configuration
Set environment variables in .env or in your MCP config:
SEOMONITOR_API_KEY=your-api-key-here
# Optional
SEOMONITOR_HTTP_TIMEOUT_MS=180000 # Default 180s, must be >120s
LOG_LEVEL=info
📦 Claude Desktop Integration
Config File
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Option A: Run via npx (auto-updates)
{
"mcpServers": {
"seomonitor": {
"command": "npx",
"args": ["github:BuntStudio/seomonitor-mcp-server"],
"env": { "SEOMONITOR_API_KEY": "your-seomonitor-api-key-here" }
}
}
}
Option B: Local clone
{
"mcpServers": {
"seomonitor": {
"command": "node",
"args": ["/absolute/path/to/seomonitor-mcp-server/dist/index.js"],
"env": { "SEOMONITOR_API_KEY": "your-seomonitor-api-key-here" }
}
}
}
Restart Claude Desktop to load tools.
🛠️ Available Tools (27 Total)
Campaign Management (1)
get_tracked_campaigns
Rank Tracking (4)
get_keyword_dataget_daily_keyword_ranksget_keyword_groupsget_group_data
Advanced Rank Tracking (8)
get_keywords_competitionget_serp_feature_presenceget_top_resultsget_keyword_ai_overviewget_ranking_pagesget_daily_group_visibilityadd_keywordsget_keyword_import_status
Traffic Analytics (2)
get_daily_traffic_dataget_traffic_by_keywords
Keyword Research (6)
get_related_keywordsget_topic_overviewget_domain_overviewget_domain_ranking_keywordsget_research_keyword_dataget_research_ranking_data
Forecasting (4)
get_forecast_scenariosget_forecast_scenario_dataget_forecast_objective_dataget_forecast_keywords
Keyword Vault (2)
get_keyword_vault_dataget_keyword_vault_overview
🏗️ Development
Commands
npm run dev # Dev with auto-reload
npm run build # Build TypeScript
npm start # Start built server
Project Structure
src/
├── index.ts # CLI entry
├── server.ts # MCP server
├── clients/seomonitor-client.ts
├── mcp-tools/ # Tool implementations
│ ├── campaign-tools.ts
│ ├── rank-tracking-tools.ts
│ ├── rank-advanced-tools.ts
│ ├── traffic-tools.ts
│ ├── research-tools.ts
│ ├── forecast-tools.ts
│ └── vault-tools.ts
Adding Tools
- Define schema in
*-tools.ts - Implement execution
- Export — tools are auto-discovered
📊 API Examples
Campaign Performance
const campaigns = await mcp.callTool('get_tracked_campaigns');
const data = await mcp.callTool('get_keyword_data', {
campaign_id: campaigns[0].campaign_info.id,
start_date: '2024-01-01',
end_date: '2024-01-31'
});
Competitive Intelligence
const comp = await mcp.callTool('get_keywords_competition', {
campaign_id: 12345,
device: 'desktop',
start_date: '2024-01-01',
end_date: '2024-01-31'
});
Keyword Research
const related = await mcp.callTool('get_related_keywords', {
topic: 'digital marketing',
country: 'US',
limit: 100
});
🔧 Troubleshooting
- Claude doesn’t load tools: Check paths, API key, rebuild
dist/, restart Claude. - Auth errors: Verify API key and permissions.
- Execution errors: Enable debug logging.
npm start -- --log-level debug