{"name":"com.drurls/drurls","slug":"drurls","title":"DrUrls","description":"Audit websites for SEO from your AI assistant: scores, issues with fixes, Google indexability","url":"https://mcp.market/server/drurls","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"seo","tags":["seo"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-21T17:08:10.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:55:57.667Z","last_ok_at":"2026-11-04T06:55:57.667Z","latency_ms":176},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/DrUrls/mcp","website":"https://drurls.com","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://drurls.com/mcp","headers":[{"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.","value":"Bearer {api_key}","isSecret":true,"variables":{"api_key":{"description":"DrUrls API key (starts with drseo_sk_)","isSecret":true}},"name":"Authorization"}]}],"packages":[],"tools":[{"name":"check_google_visibility","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Restrict to one site (optional)"}}}},{"name":"find_issues","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Restrict to one site (optional)"},"severity":{"type":"string","enum":["CRITICAL","HIGH","MEDIUM","LOW","INFO"],"description":"Restrict to one severity (optional)"}}}},{"name":"free_page_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The page to audit, e.g. https://example.com"}},"required":["url"]}},{"name":"generate_report","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"One site's domain; omit for the whole-organization report"}}}},{"name":"get_improvement_plan","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"Restrict to one site (optional)"}}}},{"name":"get_scan_status","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_site_report","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"domain":{"type":"string","description":"The site's domain, e.g. example.com"}},"required":["domain"]}},{"name":"hire_tester","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"offer_id":{"type":"string","description":"The offer's id, as listed in the tester catalogue"},"target_url":{"type":"string","description":"Absolute http(s) URL of the page to test"},"brief":{"type":"string","description":"What to test and what would count as a problem. At least 20 characters. Example: 'Check the mobile checkout on iPhone — I think the pay button falls below the fold.'"}},"required":["offer_id","target_url","brief"]}},{"name":"list_sites","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_tester_offers","description":"Browse 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"start_scan","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The website URL or domain to audit"}},"required":["url"]}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-10-25T16:33:23.782Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-25T16:33:23.745Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 817ms"]},"poisoning":{"score":15,"max":15,"notes":["11 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://drurls.com/mcp","reachable":true,"authRequired":false,"latencyMs":817,"serverInfo":{"name":"drurls","version":"1.0.0"}}],"packages":[],"repo":{"found":true,"owner":"DrUrls","repo":"mcp","archived":false,"pushedAt":"2026-10-21T17:08:10Z","stars":0,"forks":0,"openIssues":1,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/318643515?v=4","ownerCreatedAt":"2026-08-19T13:26:01Z","license":"MIT"},"icon":{"url":"https://drurls.com/apple-icon.png","source":"site","width":180,"height":180},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-21T17:08:10.000Z","score":23}}}},"grade_history":[],"reviews":[]}