19 free website QA and AI-visibility tools. Remote HTTP MCP, no account, no API key.
Déduit des transports déclarés par cette annonce (streamable-http). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.
La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.
Lu depuis un véritable échange MCP initialize → tools/list contre l’endpoint déclaré. Aucun outil n’a été invoqué — tools/list est l’appel d’introspection en lecture seule que le protocole prévoit pour cela. Cela reflète ce que le serveur annonçait à cet instant ; un endpoint hébergé n’est figé sur aucune version et peut changer sans préavis.
https://usesuperflow.ai/api/mcp14 outils · 275 msfind_meeting_timesFind 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…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…
| Paramètre | Type | Description |
|---|---|---|
| locations* | array | Cities, single-zone countries, or location IDs returned in choices. Include a region/country to distinguish namesakes, e.g. San Francisco California or London… |
| date* | string | 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. |
| durationMinutes | number | Length of the whole meeting, 15–1440 minutes in 15-minute increments. |
| workStart | string | Start of working hours, as local 24-hour HH:mm, in 15-minute increments. Applied to all locations. |
| workEnd | string | 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 | string | Comma-separated working days: 0=Sunday through 6=Saturday. For overnight shifts, the day the shift starts. Applied to all locations. |
| limit | number | Maximum suggested meeting starts to return, 1–20. Earliest first, at 15-minute intervals; totalAvailableStarts reports the full count. |
check_ai_visibilityCheck 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. Re…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. Re…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
check_robots_txt_for_aiTest 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 be…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 be…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
generate_llms_txtGenerate llms.txt and llms-full.txt for a site, following the llmstxt.org convention. Inventories the site from its robots.txt, sitemaps, and homepage links, then writes an index file and a full file with page content inlined. Deterministic: no model is involved, so two runs over an unchanged site…Generate llms.txt and llms-full.txt for a site, following the llmstxt.org convention. Inventories the site from its robots.txt, sitemaps, and homepage links, then writes an index file and a full file with page content inlined. Deterministic: no model is involved, so two runs over an unchanged site…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
page_to_markdownFetch one web page and convert it to clean CommonMark, with the navigation, cookie banners, and boilerplate stripped out. Use this to read a page as text an agent can reason over, or to publish a .md copy of a page alongside the HTML.
Returns { ok, report: { markdown, title, description, wordCount…Fetch one web page and convert it to clean CommonMark, with the navigation, cookie banners, and boilerplate stripped out. Use this to read a page as text an agent can reason over, or to publish a .md copy of a page alongside the HTML. Returns { ok, report: { markdown, title, description, wordCount…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
generate_json_ldRead a page and write a schema.org JSON-LD block for it, then validate that block against the same checks a validator would run. The markup is model-written from the page's own content and should be reviewed before it is published. Returns the block ready to paste into a <script type="application/l…Read a page and write a schema.org JSON-LD block for it, then validate that block against the same checks a validator would run. The markup is model-written from the page's own content and should be reviewed before it is published. Returns the block ready to paste into a <script type="application/l…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
validate_json_ldRead 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.
Returns { ok, report: { blockCount, invalidBlockCount, declaredTypes[], eligibility[], cat…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. Returns { ok, report: { blockCount, invalidBlockCount, declaredTypes[], eligibility[], cat…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
check_social_previewRead 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.
Returns { ok, report: { pre…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. Returns { ok, report: { pre…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
detect_tech_stackIdentify the platform, framework, CMS, ecommerce apps, analytics, CDN, and hosting behind a site by fingerprinting one page's HTML and response headers. One fetch, no rendering and no crawl, so it answers in about a second. A site behind bot protection is reported as blocked rather than as empty.…Identify the platform, framework, CMS, ecommerce apps, analytics, CDN, and hosting behind a site by fingerprinting one page's HTML and response headers. One fetch, no rendering and no crawl, so it answers in about a second. A site behind bot protection is reported as blocked rather than as empty.…
| Paramètre | Type | Description |
|---|---|---|
| url* | string | 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 l… |
| refresh | boolean | 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. |
check_faviconCheck 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 misse…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 misse…
| Paramètre | Type | Description |
|---|---|---|
| url* | string | 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 l… |
| refresh | boolean | 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. |
capture_full_page_screenshotCapture a full-height PNG of a page in a real headless browser, scrolling first so lazy-loaded content renders. Returns a signed link to the image that expires in about 24 hours; download the bytes if you need to keep them. No watermark and no height cap. Cannot capture anything behind a login.
Re…Capture a full-height PNG of a page in a real headless browser, scrolling first so lazy-loaded content renders. Returns a signed link to the image that expires in about 24 hours; download the bytes if you need to keep them. No watermark and no height cap. Cannot capture anything behind a login. Re…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
generate_alt_textFind every image on a page and draft alt text for the ones that need it, using a vision model that actually looks at the image. Lists every image with the alt it has today, the suggested alt, whether it looks decorative, and why any image was skipped. Up to 10 images per run go to the model. The su…Find every image on a page and draft alt text for the ones that need it, using a vision model that actually looks at the image. Lists every image with the alt it has today, the suggested alt, whether it looks decorative, and why any image was skipped. Up to 10 images per run go to the model. The su…
| Paramètre | Type | Description |
|---|---|---|
| url | string | 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 l… |
| refresh | boolean | 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. |
| runId | string | 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… |
build_utm_urlBuild a campaign URL with utm parameters, normalised to one tagging convention, and report which GA4 default channel group the link will land in. Warns about the mistakes that silently break reporting: an unrecognised medium that drops traffic into Unassigned, casing that splits one source into sev…Build a campaign URL with utm parameters, normalised to one tagging convention, and report which GA4 default channel group the link will land in. Warns about the mistakes that silently break reporting: an unrecognised medium that drops traffic into Unassigned, casing that splits one source into sev…
| Paramètre | Type | Description |
|---|---|---|
| url* | string | The destination page. Existing utm parameters on it are rewritten; any other query parameter is left alone. |
| source | string | utm_source. Where the traffic comes from, e.g. newsletter. |
| medium | string | utm_medium. How it gets there, e.g. email, cpc, social. This is the field GA4 reads to pick a channel. |
| campaign | string | utm_campaign. The campaign name, e.g. spring_launch. |
| id | string | utm_id. Optional campaign ID. |
| term | string | utm_term. Optional paid keyword. |
| content | string | utm_content. Optional variant, e.g. header_link. |
| caseRule | string | How values are cased before they go in the URL. Default lower, which is what keeps one source from becoming three report rows. |
| spaceRule | string | What happens to spaces inside a value. |
| stripPunctuation | boolean | Drop accents and punctuation that make report rows hard to match. |
hash_md5Hash text to an MD5 hex digest. Useful for checksums, cache keys, dedupe keys, and Gravatar-style identifiers. MD5 is broken for anything security-related: never use it for passwords or to verify authenticity.
Returns { md5, algorithm, bytes }. Limit: None. The work is local and costs nothing.. Al…Hash text to an MD5 hex digest. Useful for checksums, cache keys, dedupe keys, and Gravatar-style identifiers. MD5 is broken for anything security-related: never use it for passwords or to verify authenticity. Returns { md5, algorithm, bytes }. Limit: None. The work is local and costs nothing.. Al…
| Paramètre | Type | Description |
|---|---|---|
| text* | string | The text to hash. Up to 1 MB of UTF-8. |
14 outils sur 14 ont publié une description.
Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.
19 free website QA and AI-visibility tools. Remote HTTP MCP, no account, no API key.
Les noms cliquables ouvrent l’index Forge de toutes les entrées observées exposant cet outil. Parcourir tous les outils indexés.
Cette entrée ne publie aucun paquet npm : Forge n'a donc pas d'arbre de dépendances pour elle. C'est une lacune de couverture — pas une affirmation qu'elle n'a aucune dépendance.