{"serverId":"mcp-registry/ai.usesuperflow/tools","tools":[{"name":"check_ai_visibility","fixed":{"name":"check_ai_visibility","description":"Check whether AI assistants (ChatGPT, Claude, Perplexity, Google AI) can reach, read, and cite a web page. Runs the full suite: robots.txt rules per AI crawler, a live firewall test that requests the page as GPTBot, JavaScript dependency, llms.txt, headings, structured data, and author identity. Returns a score out of 100 with a grade, a score per category, and a finding per check with why it matters and how to fix it. Use this for a whole-page verdict; use check_robots_txt_for_ai when the quest","inputSchema":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"The page to run against. A bare domain like example.com is fine; https is assumed. Must be a public URL: anything behind a login, on a private network, or on localhost is refused."},"runId":{"type":"string","description":"Collect a run that answered with `{ status: \"pending\", runId }` instead of a result. Send the runId back on its own, with no url, and the same tool returns the finished result once the run is done. Costs no rate-limit slot."},"refresh":{"type":"boolean","default":false,"description":"Skip the 24 hour cache and run again. Costs a rate-limit slot even when a cached result exists, so leave it off unless the page has changed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"AI Visibility Checker"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":369,"tokensAfter":369},{"name":"check_favicon","fixed":{"name":"check_favicon","description":"Check whether a site's favicon actually works. Reads every icon declaration in the page head, then fetches each one, the web app manifest, and the implicit /favicon.ico, and identifies the real format and pixel dimensions from each file's header bytes. Catches the failures a status-code check misses: a catch-all route answering an icon path with HTML at HTTP 200, a sizes attribute that disagrees with the file, an icon served over http on an https page. Use this when a favicon is missing or blurr","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The page to run against. A bare domain like example.com is fine; https is assumed. Must be a public URL: anything behind a login, on a private network, or on localhost is refused."},"refresh":{"type":"boolean","default":false,"description":"Skip the 24 hour cache and run again. Costs a rate-limit slot even when a cached result exists, so leave it off unless the page has changed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Favicon Checker"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":294,"tokensAfter":294},{"name":"check_robots_txt_for_ai","fixed":{"name":"check_robots_txt_for_ai","description":"Test a site's robots.txt against every AI crawler that matters (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Googlebot, Bingbot and the rest) and report which are allowed, which are blocked, and which rule decided it. Also runs a firewall test, because CDN-level blocks stop crawlers before robots.txt is ever read. This is the access-scoped view of check_ai_visibility.\n\nReturns { ok, report: { accessScore, crawlers[] with the rule that decided each verdict, firewall, findings[] }, ca","inputSchema":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"The page to run against. A bare domain like example.com is fine; https is assumed. Must be a public URL: anything behind a login, on a private network, or on localhost is refused."},"runId":{"type":"string","description":"Collect a run that answered with `{ status: \"pending\", runId }` instead of a result. Send the runId back on its own, with no url, and the same tool returns the finished result once the run is done. Costs no rate-limit slot."},"refresh":{"type":"boolean","default":false,"description":"Skip the 24 hour cache and run again. Costs a rate-limit slot even when a cached result exists, so leave it off unless the page has changed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"robots.txt AI Checker"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":371,"tokensAfter":371},{"name":"check_social_preview","fixed":{"name":"check_social_preview","description":"Read a page's Open Graph and Twitter card tags and report how the link will render on X, LinkedIn, Facebook, Slack, Discord, and Google. Returns a per-platform preview (title, description, image) plus the findings for tags that are missing, truncated, or the wrong size.\n\nReturns { ok, report: { previews[] per platform, tags, summary, findings[] }, cached, ageSeconds }. Limit: 10 runs per hour per IP. Allow up to 75s for a response. Free, no account, no API key.\n\nPass `url` to start a run. A slow","inputSchema":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"The page to run against. A bare domain like example.com is fine; https is assumed. Must be a public URL: anything behind a login, on a private network, or on localhost is refused."},"runId":{"type":"string","description":"Collect a run that answered with `{ status: \"pending\", runId }` instead of a result. Send the runId back on its own, with no url, and the same tool returns the finished result once the run is done. Costs no rate-limit slot."},"refresh":{"type":"boolean","default":false,"description":"Skip the 24 hour cache and run again. Costs a rate-limit slot even when a cached result exists, so leave it off unless the page has changed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Social Preview Checker"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":370,"tokensAfter":370},{"name":"find_meeting_times","fixed":{"name":"find_meeting_times","description":"Find overlapping working hours and meeting times across cities or countries. Resolves locations to IANA time zones and applies daylight saving for the requested date. Returns resolved locations, overlap windows, the earliest matching meeting starts with UTC and local times, readable copy text, and a link to open the plan. Ambiguous names or countries with multiple zones return choices: retry with a returned location ID or a more specific city/region/country. The same working schedule is applied ","inputSchema":{"type":"object","required":["locations","date"],"properties":{"date":{"type":"string","description":"Meeting date as YYYY-MM-DD (2000–2099), in the first location's time zone. Required: use the actual meeting date so daylight saving is correct."},"limit":{"type":"number","default":10,"description":"Maximum suggested meeting starts to return, 1–20. Earliest first, at 15-minute intervals; totalAvailableStarts reports the full count."},"workEnd":{"type":"string","default":"18:00","description":"End of working hours, as local 24-hour HH:mm, in 15-minute increments. An earlier end means an overnight shift. Must differ from workStart."},"workDays":{"type":"string","default":"1,2,3,4,5","description":"Comma-separated working days: 0=Sunday through 6=Saturday. For overnight shifts, the day the shift starts. Applied to all locations."},"locations":{"type":"array","items":{"type":"string","maxLength":150},"maxItems":8,"minItems":1,"description":"Cities, single-zone countries, or location IDs returned in choices. Include a region/country to distinguish namesakes, e.g. San Francisco California or London United Kingdom. The first location determines the date being searched."},"workStart":{"type":"string","default":"09:00","description":"Start of working hours, as local 24-hour HH:mm, in 15-minute increments. Applied to all locations."},"durationMinutes":{"type":"number","default":30,"description":"Length of the whole meeting, 15–1440 minutes in 15-minute increments."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Time Zone Converter & Meeting Planner"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":576,"tokensAfter":576},{"name":"validate_json_ld","fixed":{"name":"validate_json_ld","description":"Read the structured data already on a page and check it against Schema.org and what search engines actually accept. Reports every JSON-LD block found, the type of each, and the errors and warnings per block.\n\nReturns { ok, report: { blockCount, invalidBlockCount, declaredTypes[], eligibility[], categories[], findings[] } }. Limit: 10 runs per hour per IP. Allow up to 75s for a response. Free, no account, no API key.\n\nPass `url` to start a run. A slow run answers with `{ status: \"pending\", runId ","inputSchema":{"type":"object","required":[],"properties":{"url":{"type":"string","description":"The page to run against. A bare domain like example.com is fine; https is assumed. Must be a public URL: anything behind a login, on a private network, or on localhost is refused."},"runId":{"type":"string","description":"Collect a run that answered with `{ status: \"pending\", runId }` instead of a result. Send the runId back on its own, with no url, and the same tool returns the finished result once the run is done. Costs no rate-limit slot."},"refresh":{"type":"boolean","default":false,"description":"Skip the 24 hour cache and run again. Costs a rate-limit slot even when a cached result exists, so leave it off unless the page has changed."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"JSON-LD Validator"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":370,"tokensAfter":370}],"toolsChanged":6,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}