An r/DigitalMarketing post asked about using AI for SEO keyword monitoring. With Claude MCP + Scavio, you can have a conversational SEO monitor: ask Claude to check your rankings, compare against competitors, and suggest improvements -- all in natural language.
Prerequisites
- Claude Code or Claude Desktop
- Scavio API key
- List of keywords to monitor
Walkthrough
Step 1: Configure Scavio MCP in Claude
Add Scavio as an MCP server.
# Add Scavio MCP:
claude mcp add scavio https://mcp.scavio.dev/mcp \
--header 'x-api-key: YOUR_SCAVIO_KEY'
# Verify:
claude mcp listStep 2: Create a keyword monitoring prompt
Ask Claude to check rankings for your keywords.
# In Claude Code, run this prompt:
# 'Check the current Google ranking for mysite.com on these keywords:
# 1. "best crm for startups"
# 2. "crm comparison 2026"
# 3. "affordable crm tools"
# For each keyword, tell me:
# - My current position (if found)
# - Who ranks #1
# - What type of content ranks (blog, product page, listicle)
# - One specific improvement suggestion'Step 3: Set up a weekly check script
Automate the monitoring with a cron-triggered script.
import requests, os, json, datetime
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def weekly_seo_check(domain, keywords):
report = {'date': datetime.date.today().isoformat(), 'rankings': []}
for kw in keywords:
data = requests.post('https://api.scavio.dev/api/v1/search',
headers=H,
json={'platform': 'google', 'query': kw}).json()
position = None
for r in data.get('organic_results', []):
if domain in r.get('link', ''):
position = r['position']
break
top_result = data.get('organic_results', [{}])[0]
report['rankings'].append({
'keyword': kw, 'position': position,
'top_rank_title': top_result.get('title', ''),
'top_rank_url': top_result.get('link', '')
})
return reportStep 4: Ask Claude for SEO recommendations
Feed the ranking data to Claude via MCP for analysis.
# After running the check, ask Claude:
# 'Here are my keyword rankings this week: [paste report]
# Compare to last week: [paste previous report]
# For keywords where I dropped, search for the pages that
# now outrank me and suggest specific content improvements.
# Use Scavio to check what those competing pages cover.'Python Example
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def check_ranking(keyword, domain):
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': keyword}).json()
for r in data.get('organic_results', []):
if domain in r.get('link', ''):
return r['position']
return None
# Weekly check: 10 keywords = $0.05JavaScript Example
const res = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
body: JSON.stringify({platform: 'google', query: keyword})
});
const data = await res.json();
const rank = data.organic_results?.findIndex(r => r.link.includes(domain)) + 1 || null;Expected Output
Conversational SEO monitoring via Claude MCP: natural language keyword rank checks, competitor analysis, and AI-powered improvement suggestions. Weekly cost for 10 keywords: $0.05.