protogrid

Search / com.drurls/drurls

DrUrls

R0· no sign-in

Audit websites for SEO from your AI assistant: scores, issues with fixes, Google indexability

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality83good
Trust100of 100
Uptime, 30 days100%
Latency p50276 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "drurls": {
      "type": "http",
      "url": "https://drurls.com/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
claude mcp add --transport http drurls https://drurls.com/mcp --header "Authorization: Bearer ${api_key}"
[mcp_servers.drurls]
url = "https://drurls.com/mcp"
bearer_token_env_var = "api_key"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "drurls": {
      "type": "remote",
      "url": "https://drurls.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:api_key}"
      }
    }
  }
}
{
  "mcpServers": {
    "drurls": {
      "type": "http",
      "url": "https://drurls.com/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=drurls&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZHJ1cmxzLmNvbS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHthcGlfa2V5fSJ9fQ%3D%3D"
}
{
  "servers": {
    "drurls": {
      "type": "http",
      "url": "https://drurls.com/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
{
  "mcpServers": {
    "drurls": {
      "httpUrl": "https://drurls.com/mcp",
      "headers": {
        "Authorization": "Bearer ${api_key}"
      }
    }
  }
}
extensions:
  "drurls":
    enabled: true
    name: "drurls"
    type: streamable_http
    uri: "https://drurls.com/mcp"
    headers:
      "Authorization": "Bearer ${api_key}"
    timeout: 300

Placeholders to fill from your own secret store: ${api_key}. The registry never accepts secret values.

Quality 83 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations11 of 11 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 11 tools declare all four hints; missing: get_improvement_plan (idempotentHint); list_sites (idempotentHint); get_site_report (idempotentHint); …
  • pass
    tools.token_costabout 1,710 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes11 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

11 tools, about 1,710 tokens to load them all · tool set 2136f1b9986a · tools last changed 2026-10-21 · checked 2026-11-07 16:55 UTC

Tool changes

  • free_page_checkchangeddescription, annotations
    before

    Free single-page SEO/health audit of any public URL — no API key, no account. Returns the same score, grade, categories and issues as the product's free check, plus an `upgrade` field describing what the authenticated tools add. Rate limited per caller (3/day). For whole-site crawls, history and tasks, use start_scan with an API key.

    after · 85% of words in common

    Free single-page SEO/health audit of any public URL — no API key, no account. Returns the same score, grade, categories and issues as the product's free check, plus an `upgrade` field describing what the authenticated tools add. Rate limited per caller (3/day). Whole-site crawls, history and tasks need a DrUrls account.

  • generate_reportchangeddescription, annotations
    before

    Compile a full SEO report — for one site (score, issues by severity, top issue types, Google visibility, social presence, ranked fix plan) or the whole organization (per-site scores, visibility verdicts, top cross-site actions). Use when the user asks for a report, summary, or overview document. Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 60 requests/minute per API key.

    after · 83% of words in common

    Compile a full SEO report — for one site (score, issues by severity, top issue types, Google visibility, social presence, ranked fix plan) or the whole organization (per-site scores, visibility verdicts, top cross-site actions). Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

  • get_scan_statuschangeddescription, annotations
    before

    What is running right now and what finished recently: every in-flight scan plus the last 10 completed/failed ones with scores and errors. Use when the user asks 'is my scan done?' or after start_scan. Cost: free — reads data your organisation already produced. Rate limit: 60 requests/minute per API key.

    after · 77% of words in common

    What is running right now and what finished recently: every in-flight scan plus the last 10 completed/failed ones with scores and errors. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

  • start_scanchangeddescription, annotations
    before

    Launch a fresh audit of a website. Creates the site in the org if it doesn't exist yet. Enforces the user's plan quota — if the quota is used up it explains that instead of scanning. Cost: 1 credit per call, charged only if the call succeeds. Rate limit: 60 requests/minute per API key.

    after · 96% of words in common

    Launch a fresh audit of a website. Creates the site in the org if it doesn't exist yet. Enforces the user's plan quota — if the quota is used up it explains that instead of scanning. Cost: 1 credit per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

  • get_improvement_planchangeddescription, annotations
    before

    The highest-impact actions to improve quality right now, ranked by severity and how many pages each fix touches, with concrete how-to-fix guidance. Use for 'what should I do now?'. Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 60 requests/minute per API key.

    after · 82% of words in common

    The highest-impact actions to improve quality right now, ranked by severity and how many pages each fix touches, with concrete how-to-fix guidance. Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

  • check_google_visibilitychangeddescription, annotations
    before

    Check Google indexability for all sites (or one): noindex tags, robots blocks, sitemap errors, canonical problems, redirect chains and broken internal links found in the last crawl. Explains per site whether anything blocks indexing. Cost: free — reads data your organisation already produced. Rate limit: 60 requests/minute per API key.

    after · 96% of words in common

    Check Google indexability for all sites (or one): noindex tags, robots blocks, sitemap errors, canonical problems, redirect chains and broken internal links found in the last crawl. Explains per site whether anything blocks indexing. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

  • find_issueschangeddescription, annotations
    before

    Search open issues across all sites (or one site). Returns issue groups: site, issue type, severity, how many pages are affected, and an example page. Use this for questions like 'which sites have problems?'. Cost: free — reads data your organisation already produced. Rate limit: 60 requests/minute per API key.

    after · 79% of words in common

    Search open issues across all sites (or one site). Returns issue groups: site, issue type, severity, how many pages are affected, and an example page. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

  • get_site_reportchangeddescription, annotations
    before

    Deep-dive one site: latest audit score, issue counts by severity, the most frequent issue types with counts, and social-network presence. Cost: free — reads data your organisation already produced. Rate limit: 60 requests/minute per API key.

    after · 95% of words in common

    Deep-dive one site: latest audit score, issue counts by severity, the most frequent issue types with counts, and social-network presence. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

  • list_siteschangeddescription, annotations
    before

    List every site in the user's organization with its latest completed audit: SEO score, grade, issues found, pages crawled, when it was last scanned, and whether a scan is running right now. Cost: free — reads data your organisation already produced. Rate limit: 60 requests/minute per API key.

    after · 96% of words in common

    List every site in the user's organization with its latest completed audit: SEO score, grade, issues found, pages crawled, when it was last scanned, and whether a scan is running right now. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.

  • hire_testerchangeddescription, input schema, annotations
    before

    Order one of the tests from list_tester_offers. A person performs it and returns a recorded walkthrough with a screenshot and the console output of every step, plus their written findings. It suits a specific doubt only a person can resolve; a brief that says what is suspected produces a sharper report. Charges the offer's price at purchase and releases it if no tester accepts within 72 hours. offer_id is one of the ids list_tester_offers returns. Cost: set by the offer you choose — list_tester_offers states each offer's price in credits, its turnaround, and exactly what is delivered. Charged when the order is placed and released if no tester accepts within 72 hours, or if the tester who accepted misses the offer's turnaround. Rate limit: 60 requests/minute per API key.

    after · 87% of words in common

    Places an order for one test from the tester catalogue. A person performs it and returns a recorded walkthrough with a screenshot and the console output of every step, plus their written findings. It suits a specific doubt only a person can resolve; a brief that says what is suspected produces a sharper report. Charges the offer's price at purchase and releases it if no tester accepts within 72 hours. offer_id identifies an offer in the tester catalogue. Cost: set by the offer you choose — the tester catalogue states each offer's price in credits, its turnaround, and exactly what is delivered. Charged when the order is placed and released if no tester accepts within 72 hours, or if the tester who accepted misses the offer's turnaround. Rate limit: 100 requests/minute per API key.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 100 / 100

provenance100
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-17d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://drurls.com/mcp streamable-httpnoneyes100%276 ms2025-06-182026-11-07

Tools (11)

check_google_visibilityread-onlyCheck Google indexability for all sites (or one): noindex tags, robots blocks, sitemap errors, canonical problems, redirect chains and broken internal links found in the last crawl. Explains per site whether anything blocks indexing. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.
find_issuesread-onlySearch open issues across all sites (or one site). Returns issue groups: site, issue type, severity, how many pages are affected, and an example page. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.
free_page_checkread-onlyFree single-page SEO/health audit of any public URL — no API key, no account. Returns the same score, grade, categories and issues as the product's free check, plus an `upgrade` field describing what the authenticated tools add. Rate limited per caller (3/day). Whole-site crawls, history and tasks need a DrUrls account.
generate_reportCompile a full SEO report — for one site (score, issues by severity, top issue types, Google visibility, social presence, ranked fix plan) or the whole organization (per-site scores, visibility verdicts, top cross-site actions). Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.
get_improvement_planThe highest-impact actions to improve quality right now, ranked by severity and how many pages each fix touches, with concrete how-to-fix guidance. Cost: 2 credits per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.
get_scan_statusread-onlyWhat is running right now and what finished recently: every in-flight scan plus the last 10 completed/failed ones with scores and errors. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.
get_site_reportread-onlyDeep-dive one site: latest audit score, issue counts by severity, the most frequent issue types with counts, and social-network presence. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.
hire_testerPlaces an order for one test from the tester catalogue. A person performs it and returns a recorded walkthrough with a screenshot and the console output of every step, plus their written findings. It suits a specific doubt only a person can resolve; a brief that says what is suspected produces a sharper report. Charges the offer's price at purchase and releases it if no tester accepts within 72 hours. offer_id identifies an offer in the tester catalogue. Cost: set by the offer you choose — the tester catalogue states each offer's price in credits, its turnaround, and exactly what is delivered. Charged when the order is placed and released if no tester accepts within 72 hours, or if the tester who accepted misses the offer's turnaround. Rate limit: 100 requests/minute per API key.
list_sitesread-onlyList every site in the user's organization with its latest completed audit: SEO score, grade, issues found, pages crawled, when it was last scanned, and whether a scan is running right now. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.
list_tester_offersread-onlyBrowse the catalogue of tests a real person will run on a real device: mobile UX on a handset, end-to-end checkout, a screen-reader pass by somebody who uses one daily, native-speaker translation review, and more. These cover what reading a page cannot answer — how something feels on a handset, what a screen reader announces, whether a checkout completes on a real phone: what an automated audit cannot measure. Returns each offer with its price in credits, turnaround, and exactly what gets delivered. Cost: free — reads data your organisation already produced. Rate limit: 100 requests/minute per API key.
start_scanLaunch a fresh audit of a website. Creates the site in the org if it doesn't exist yet. Enforces the user's plan quota — if the quota is used up it explains that instead of scanning. Cost: 1 credit per call, charged only if the call succeeds. Rate limit: 100 requests/minute per API key.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.drurls/drurls",
  "title": "DrUrls",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://drurls.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "value": "Bearer {api_key}",
          "isSecret": true,
          "variables": {
            "api_key": {
              "isSecret": true,
              "description": "DrUrls API key (starts with drseo_sk_)"
            }
          },
          "description": "Optional: a DrUrls API key from https://drurls.com/dashboard/api-keys. Clients that support OAuth (Claude, ChatGPT, Claude Code, Cursor, VS Code) connect without one."
        }
      ]
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/DrUrls/mcp",
    "source": "github"
  },
  "websiteUrl": "https://drurls.com",
  "description": "Audit websites for SEO from your AI assistant: scores, issues with fixes, Google indexability"
}