Tutorial

How to Monitor SEO Keywords via Claude MCP with Scavio

Set up Claude MCP with Scavio to monitor keyword rankings and get AI-powered SEO recommendations. Conversational SEO analysis.

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.

Bash
# Add Scavio MCP:
claude mcp add scavio https://mcp.scavio.dev/mcp \
  --header 'x-api-key: YOUR_SCAVIO_KEY'

# Verify:
claude mcp list

Step 2: Create a keyword monitoring prompt

Ask Claude to check rankings for your keywords.

Text
# 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.

Python
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 report

Step 4: Ask Claude for SEO recommendations

Feed the ranking data to Claude via MCP for analysis.

Text
# 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

Python
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.05

JavaScript Example

JavaScript
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

JSON
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.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Claude Code or Claude Desktop. Scavio API key. List of keywords to monitor. A Scavio API key gives you 500 free credits per month.

Yes. The free tier includes 500 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Set up Claude MCP with Scavio to monitor keyword rankings and get AI-powered SEO recommendations. Conversational SEO analysis.