Brave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
PageVerified is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Paid tools for AI agents: web capture with SHA-256 receipts, tech-stack lookup and verification.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http pageverified-mcp https://pageverified.com/mcp --header 'Authorization: Bearer ${AUTHORIZATION}'
# 2 — ask your agent for something these tools do
# agent_readiness, airports, company_jobs and 30 more
It needs AUTHORIZATION (Bearer <PageVerified API key>; get a free key at https://pageverified.com/capture): this sends it in the Authorization header from your environment, so export it first — its endpoint answers 401 without it.
PageVerified costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it. Claude Code reads AUTHORIZATION (Bearer <PageVerified API key>; get a free key at https://pageverified.com/capture) from your environment each time it connects and sends it in the Authorization header — its endpoint answers 401 without it — so the key stays out of its config: export it in your shell profile (macOS, Linux), or run setx AUTHORIZATION … and open a new terminal (Windows).
claude mcp add --scope user --transport http pageverified-mcp https://pageverified.com/mcp --header 'Authorization: Bearer ${AUTHORIZATION}'Reconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs your own credential rather than the publisher’s: Authorization header — Bearer <PageVerified API key>; get a free key at https://pageverified.com/capture. You set it in your own client’s config, on your machine — this marketplace never holds it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
33 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Agent readiness report for a domain. Use when a task needs to know what an AI agent can actually do on a domain: llms.txt, robots rules for AI crawlers, sitemap, OpenAPI, an MCP endpoint, x402 or MPP offers, agent-commerce manifests (UCP, ACP, A2A) and structured data, with a score and a specific fix for each gap. Cost: 3 credits per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | The domain to check. A URL is accepted and its host is used. |
Airport reference data. Use when a task needs the static facts about an airport: what an IATA or ICAO code means, where the airport is (city, region, country, coordinates, elevation), whether it has scheduled airline service, which airports a country has, or the straight-line distance and initial bearing between two of them. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| code | string | no | One IATA (LHR) or ICAO (EGLL) code. Returns that single airport. Cannot be combined with q, country or from/to. |
| q | string | no | Free-text search over airport, city and code. Returns a list. |
| country | string | no | ISO 3166-1 alpha-2 country code. Returns that country's airports as a list. |
| from | string | no | Origin IATA or ICAO code for a distance query. Must be sent with to. |
| to | string | no | Destination IATA or ICAO code. Must be sent with from. |
| type | string | no | Filters a q or country list by airport size. Refused on a code or from/to query, which have no list to shape. |
| limit | integer | no | Page size for a q or country list. |
| offset | integer | no | Rows to skip for a q or country list. |
Company open roles. Use when a task needs the roles one named company is hiring for right now: the live list from that company's own Greenhouse, Lever or Ashby job board, with title, location, department, team, employment type, remote flag, posted date and a link to apply, and optionally the description as plain text. Give a board token or the careers-page URL; the provider is detected either way.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company | string | no | The company's board token, as it appears in its job-board URL. Required unless careers_url is sent. |
| careers_url | string | no | The company's Greenhouse, Lever or Ashby careers page. The provider and board token are derived from it. |
| provider | string | no | auto (default), greenhouse, lever or ashby. Refused if it disagrees with careers_url. |
| include_description | boolean | no | Include each role's description as plain text. Off by default, because it makes the response much larger. |
Currency conversion (reference rates). Use when a task needs an indicative conversion of an amount between two of about 30 major currencies (AUD, USD, GBP, JPY, NZD, CAD, CNY and others) at the latest European Central Bank reference rates, for estimates or reports, not for transactions. The ECB publishes the euro rates free of charge on its website. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | number | yes | The amount to convert, as a JSON number. A numeric string is refused rather than guessed at. |
| from | string | yes | Three-letter code of the currency the amount is in. |
| to | string | yes | Three-letter code to convert to. |
Currency reference rates. Use when a task needs today's European Central Bank reference exchange rates for about 30 major currencies (AUD, USD, GBP, JPY, NZD, CAD, CNY and others) against any of them as base, for information such as estimates or reports, not for transactions. The ECB publishes the euro rates free of charge on its website. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| base | string | no | Three-letter code to quote the rates against. Defaults to EUR, the currency the ECB publishes. |
Developer utilities: cron, regex, UUID, slug and JSON. Use when a task needs one of the small developer answers that would otherwise cost a round trip to a web tool: the next times a cron expression fires (in a named time zone and in UTC, with a plain-English reading and a note on which non-standard extensions it uses), what a regular expression matches in a piece of text (run on RE2, so no patter
| Parameter | Type | Required | Notes |
|---|---|---|---|
| operation | string | yes | One of cron_next_runs, regex_test, uuid, slugify, json_format. Each one reads its own further fields. |
| expression | string | no | The cron expression, for cron_next_runs. |
| timezone | string | no | IANA time zone name for cron_next_runs, such as Europe/London. Defaults to UTC. |
| start | string | no | ISO instant to start the cron walk from, for cron_next_runs. |
| count | integer | no | How many cron runs, or how many UUIDs, to return. |
| pattern | string | no | The regular expression, for regex_test. Run on RE2. |
| flags | string | no | Distinct letters from i, m, s and u, for regex_test. |
| input | string | no | The text to run the pattern over, for regex_test. |
| limit | integer | no | Maximum matches to return, for regex_test. |
| version | integer | no | 4 (random) or 7 (time-ordered), for uuid. Defaults to 4. |
| text | string | no | The title to slugify, or the JSON document to format. |
| max_length | integer | no | Cap on the slug length, for slugify. |
| separator | string | no | The slug separator. Defaults to a hyphen. |
| indent | integer | no | Spaces per level for json_format; 0 minifies. |
| sort_keys | boolean | no | Sort object keys, for json_format. |
Directory dataset. Use when an agent needs a paged export or change feed of verified PageVerified directory facts. Cost: 10 credits per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| format | string | no | json (default) or csv. CSV remains inside the JSON response envelope. |
| category | string | no | A PageVerified directory category slug. |
| since | string | no | ISO date or timestamp with timezone; includes rows verified OR updated at or after it. |
| cursor | string | no | Opaque next_cursor from the previous page. Keep category and since unchanged. If matching data changes, restart without a cursor. |
| limit | integer | no | 1–500 rows; defaults to 500. Each successful page costs 10 credits, including an empty page. |
Directory search. Use when an agent needs to find AI-agent tools (MCP servers, frameworks, browser automation, memory, evals, voice, coding agents and more) by keyword or category before choosing one, or wants MCP servers and pay-per-call services with how to connect and how to pay (filter by protocol mcp, x402 or mpp, or by payable or free). Free to call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | no | Keyword to search over the verified tools and the indexed catalog entries. |
| category | string | no | One of the PageVerified directory category slugs. |
| limit | integer | no | Maximum tools to return, applied separately to tools and indexed. |
| protocol | string | no | mcp, x402 or mpp. Returns indexed entries only. |
| payment | string | no | payable (machine-payable via x402 or MPP) or free (the catalog says so). Returns indexed entries only. |
DNS records for a domain. Use when a task needs a domain's live A, AAAA, MX, TXT, NS or CAA records in one structured answer, including whether the name exists at all. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | The domain to look up. A URL is accepted and its host is used. |
| types | array | no | Any of A, AAAA, MX, TXT, NS, CAA. Defaults to all six. |
Email address check. Use when an agent needs to screen an email address before a sign-up, lead import or send: syntax, whether the domain can receive mail (MX), disposable domains, role accounts and free mailbox providers — without contacting the mail server. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| string | yes | The address to screen. Nothing is sent to the mail server. |
Email sending-domain check. Use when a task needs to know whether a domain is set up to send email that inboxes accept: MX, SPF (with the 10-lookup limit), DKIM keys, DMARC policy, MTA-STS, TLS-RPT and BIMI, with a 0-100 score and plain-English fixes. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | no | The sending domain to check. Required unless email is sent. |
| string | no | An address to take the domain from. Refused if it disagrees with domain. | |
| dkim_selectors | array | no | Extra DKIM selectors to look up, on top of the common ones this service tries. |
File converter. Use when a task has a file in one format and needs it in another: a Word document (.docx) to HTML, Markdown or plain text; HTML to Markdown or plain text; Markdown to HTML; CSV to JSON; JSON to CSV; or CSV and TSV either way. Send the file as a URL or base64, or paste the text. Input is capped at 6 MB, or 1 MB when the target is Markdown, and nothing is stored. Cost: 1 credit per c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | string | yes | The input format: docx, html, markdown, csv, json or tsv. |
| to | string | yes | The output format. Supported pairs are returned on every response and on an unsupported_conversion error. |
| text | string | no | The document as text. Not accepted for docx, which is binary. |
| url | string | no | A public http(s) URL to read the document from. |
| file_base64 | string | no | The document as base64. Exactly one of text, url or file_base64. |
Hash and encode text. Use when a task needs an exact SHA or MD5 digest, or text converted to or from base64, base64url, hex or URL percent-encoding, where a language model would otherwise guess the output. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| operation | string | yes | hash, encode or decode. |
| text | string | yes | The input, up to 1 MiB. |
| algorithm | string | no | For hash: sha256 (the default), sha384, sha512, sha1 or md5. |
| digest | string | no | For hash: hex (the default), base64 or base64url. |
| input_encoding | string | no | For hash: how to read text. utf8 (the default), base64 or hex. |
| format | string | no | For encode and decode: base64, base64url, hex or url. |
Validate JSON against a JSON Schema. Use when a task needs to know whether a JSON value satisfies a JSON Schema (2020-12 and draft-07 keywords, local $ref), with the path and reason for every failure, before passing the value to another system. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| schema | object | yes | The JSON Schema, an object or a boolean. Only local $ref is followed; no network reference is fetched. |
| instance | object/array/string/number/boolean/null | yes | The JSON value to validate, of any type. |
Decode a JWT (no signature check). Use when a task needs to read the header and claims of a JSON Web Token, such as its issuer, audience, scopes or expiry, while debugging. Decode only: the signature is not verified, so the claims are unproven and must not be used to authorize anything. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| token | string | yes | The compact JWT. Prefer an expired or test token: this tool cannot tell a live credential from a sample. |
Backlink check. Use when a task needs to confirm that a page links to a site or URL: whether the link is there, whether it is followed (no nofollow, sponsored or ugc) and whether the linking page can be indexed, based on Google's published robots and link rules. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| page_url | string | yes | The public page that should carry the link. |
| target | string | yes | The site or URL the link should point at. |
Inspect a remote MCP server. Use when an agent needs to know what a remote MCP server offers before connecting it: transport, protocol version, whether it needs auth, and the tools it lists. A GET checks the URL first; initialize and tools/list are POSTed only if that GET identifies an MCP server, and no tool is ever called. Remote text comes back labelled as untrusted third-party data. Cost: 2 cr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) URL of the MCP endpoint, such as https://example.com/mcp. |
Inspect an MPP HTTP 402 challenge without paying. Use when an agent is about to pay an HTTP 402 resource that uses Machine Payments Protocol challenges (WWW-Authenticate: Payment) and needs the method, intent, amount, currency, recipient, expiry and any malformed field first. No credential is sent. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) resource to inspect. |
| method | string | no | GET (the default) or POST. A POST is sent only when a GET of the same URL already answered with a payment challenge, or the site's own /openapi.json declares a paid POST at that path, and always with |
Public-domain art and media search. Use when a task needs an image or artwork that is free to use: public-domain works from The Metropolitan Museum of Art and the Art Institute of Chicago, each with title, artist, date, medium, a full-size image URL, a thumbnail, the museum's page for the work, the licence the museum publishes and a ready-made credit line. Only items the museum itself flags as pub
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | yes | What to search the museum collections for. |
| source | string | no | all (default), met for The Metropolitan Museum of Art, or aic for the Art Institute of Chicago. |
| limit | integer | no | Maximum items to return. |
| has_image | boolean | no | Only return items that have an image. On by default. |
Page metadata from a URL. Use when a task needs a page's title, description, canonical URL, Open Graph and Twitter card tags, JSON-LD, declared language or RSS and Atom feeds without pulling in its full text. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) page to read. |
Phone number check. Use when a task needs to know whether a phone number is valid for its country, what kind of number it is (mobile, landline, toll-free, premium rate, VoIP) and its E.164, national and international formats. Formats, country and type are only returned for valid numbers; an invalid number keeps its E.164 form only when its length is possible, and e164 is null for any number longer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| phone | string | yes | The number, as digits or as an RFC 3966 tel: URI, so the uri from an earlier answer can be fed straight back in. |
| default_country | string | no | ISO 3166-1 alpha-2 region code to read a national-format number against. |
Domain registration data from RDAP. Use when a task needs when a domain was registered or expires, which registrar holds it, its nameservers and registry status codes, from the registry's own RDAP service rather than a scraped WHOIS page. Contact details of people are omitted. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | The registered domain, such as example.com. A URL is accepted and its host is used; www. is dropped, and a subdomain is reported under parent_registered. |
robots.txt check for a user agent and URL. Use when a task needs to know whether a given crawler or agent may fetch a given URL under the site's robots.txt, and which rule decided it. Parsed by RFC 9309 with longest-match precedence. Robots rules are a request from the site, not access control. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) URL the agent wants to fetch. |
| user_agent | string | yes | The robots.txt product token, such as GPTBot or ClaudeBot: letters, hyphen and underscore only, not a full browser string. |
Pre-payment signals for a seller. Use when an agent is about to pay a seller it has not dealt with and wants plain signals first: domain age from RDAP, whether HTTPS works, DNS and email authentication, whether a payTo address is well formed, and whether the site publishes terms and a refund policy. Signals only: not a guarantee, not legal or financial advice. Cost: 3 credits per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | The seller's domain. A URL is accepted and its host is used. Use the seller's main domain where you can: a subdomain or a shop on a shared platform gives a less complete answer, because the registry o |
| pay_to | string | no | The address the agent has been asked to pay. Format checked only. |
| network | string | no | The CAIP-2 network for pay_to, such as eip155:8453. |
Spreadsheet builder. Use when a task has to hand back a real spreadsheet rather than a wall of rows: typed columns (text, number, date, currency, percent) with number formats applied, a bold header, optional frozen header row, column widths and an autofilter, returned as a base64 .xlsx or .csv. Up to 10 sheets and 50,000 cells in total (the header row counts). Values that could be read back as for
| Parameter | Type | Required | Notes |
|---|---|---|---|
| format | string | no | xlsx (default) or csv. CSV takes one sheet. |
| sheets | array | yes | Up to 10 sheets. Each has a name, a columns list and an optional rows list, plus freeze_header and autofilter flags. |
Read a sitemap or sitemap index. Use when a task needs the list of URLs a site publishes, from an XML, gzipped XML or plain-text sitemap or a sitemap index, with lastmod where the site gives it and hard caps so a huge file cannot flood the agent. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The sitemap URL, or a site root to find it through robots.txt and then /sitemap.xml. |
| limit | integer | no | Most entries to return, 1 to 5000. Defaults to 200. |
| expand_index | boolean | no | Also read up to 5 child sitemaps of an index on the same site, at most 2 MiB each. Off by default. |
Subtitle tools: convert, retime, merge and read caption files. Use when a task involves a subtitle or caption file: converting between SubRip (.srt), WebVTT (.vtt), ASS/SSA and YouTube SBV, shifting timings or rescaling them for a frame-rate change (23.976 to 25 and back), merging several files onto one timeline, pulling a plain-text transcript out of captions, or reporting a file's cue count, dur
| Parameter | Type | Required | Notes |
|---|---|---|---|
| operation | string | no | convert (default), shift, merge, to_text or info. |
| text | string | no | The caption file as text. Not allowed with operation merge. |
| url | string | no | A public http(s) URL to read the caption file from. |
| file_base64 | string | no | The caption file as base64, up to 4 MB. |
| files | array | no | The files to merge onto one timeline. merge only. |
| from_format | string | no | auto (default), srt, vtt, ass or sbv. |
| to_format | string | no | srt, vtt, ass or sbv. Required for convert; refused for info and to_text. |
| offset_seconds | number | no | Seconds to shift every cue, for operation shift. |
| scale | number | no | Timing multiplier for a frame-rate change, for operation shift. |
| merge_gap_seconds | number | no | Gap to leave between files, for operation merge. |
| strip_tags | boolean | no | Drop styling tags from the cue text. |
Tech Stack lookup. Use when a task depends on what a website is built with: CMS, ecommerce platform, hosting, analytics, ad pixels, payments, chat or forms. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) page to look up. A bare domain is treated as https://. |
Text and JSON compare. Use when a task needs to know exactly what changed between two versions of a text, document, config file or JSON payload: line, word or character changes with a unified patch, or a JSON Pointer list of structural changes. Inputs are capped at 1,000,000 characters a side and 1,500,000 combined; lines and words mode handle that whole range, while chars mode on a heavily rewrit
| Parameter | Type | Required | Notes |
|---|---|---|---|
| a | string | yes | The first version. Up to 1,000,000 characters. |
| b | string | yes | The second version. a and b together are capped at 1,500,000 characters. |
| mode | string | no | lines (default), words, chars or json. |
| ignore_whitespace | boolean | no | Treat runs of whitespace as equal. |
| ignore_case | boolean | no | Compare without case. |
| context_lines | integer | no | Lines of context in the unified patch, 0-20. |
Text Stats: words, characters, tokens and SMS segments. Use when a task needs counts for a piece of text: words, user-perceived characters, bytes, sentences, paragraphs, lines, reading or speaking time, OpenAI token counts, SMS segments, or a check against length limits such as a character, word, SMS or prompt-token budget. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | The text to count. Up to 200,000 UTF-16 code units. Whitespace-only text is valid and counts zero words. |
| limits | array | no | Up to 20 budgets to check the text against. Each is { name, max, unit } where unit is characters, words, tokens_o200k, tokens_cl100k, bytes or sms_segments. |
Read a page as Markdown. Use when a task needs the readable text of one web page instead of its HTML: an article, a documentation page, a changelog or a product page, returned as Markdown with its headings, lists, tables and code blocks intact, plus the page's title, byline, language and links. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) page to read. |
| include_links | boolean | no | Return the page's links as a list. On by default. |
| include_images | boolean | no | Return the page's images as a list. Off by default. |
| max_chars | integer | no | Cap on the Markdown returned, from 1,000 to 200,000 characters. Defaults to 50,000. |
Inspect an x402 payment offer without paying. Use when an agent is about to pay an HTTP 402 resource and needs to see the x402 offers first: network, asset, price in dollars for recognised USD stablecoins, payTo, scheme, and any malformed field. No payment is signed or sent. Cost: 1 credit per call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | The public http(s) resource to inspect. |
| method | string | no | GET (the default) or POST. A POST is sent only when a GET of the same URL already answered with a payment challenge, or the site's own /openapi.json declares a paid POST at that path, and always with |
Capture a public HTTP(S) page as PNG, PDF or rendered HTML. Records what the PageVerified renderer saw; not a forensic chain of custody. PNG and HTML cost 1 credit; PDF costs 2 credits.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | Public HTTP or HTTPS page to render |
| format | string | no | — |
| full_page | boolean | no | — |
| viewport | object | no | — |
| public_receipt | boolean | no | Publish a readable capture receipt |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install PageVerified or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| agent_readiness | no tags | |
| airports | no tags | |
| company_jobs | no tags | |
| currency_convert | no tags | |
| currency_rates | no tags | |
| dev_utils | no tags | |
| directory_dataset | no tags | |
| directory_search | no tags | |
| dns_lookup | no tags | |
| email_check | no tags | |
| email_domain_auth | external-sink | external-sink: keyword "send_email" |
| file_convert | no tags | |
| hash_encode | no tags | |
| json_schema_validate | no tags | |
| jwt_decode | no tags | |
| links_verify | no tags | |
| mcp_inspect | no tags | |
| mpp_inspect | no tags | |
| open_media_search | no tags | |
| page_meta | untrusted-input | untrusted-input: keyword "rss" |
| phone_parse | no tags | |
| rdap_lookup | no tags | |
| robots_check | untrusted-input | untrusted-input: keyword "fetch", parameter "url" with "fetch" in the description |
| seller_check | no tags | |
| sheets_build | no tags | |
| sitemap_read | no tags | |
| subtitle_tools | no tags | |
| techstack | no tags | |
| text_diff | no tags | |
| text_stats | external-sink | external-sink: keyword "sms" |
| url_markdown | no tags | |
| x402_inspect | no tags | |
| capture_url | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish PageVerified can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.