PublicWWW MCP server
Search the source code (HTML, JavaScript, CSS) of hundreds of millions of websites from an AI assistant: which sites load a script, use a library, carry a tracking id or a widget - then save them as a cluster and pull contacts, social profiles or tag ids out of their pages. PublicWWW runs a remote MCP server:
https://api.publicwww.com/mcp
Ten tools: search (query, rows, page, snippets), account (plan, searches and
extraction points left today), read_docs (PublicWWW's own documentation and price
list in Markdown) and seven for clusters. The same documentation pages
are MCP resources, publicwww://docs/<page>. The tools need a paid plan; a free
account can connect and read the documentation - see
limits.
Sign in
- OAuth - Claude, ChatGPT and Claude Code send you to PublicWWW to press Allow. Nothing to copy.
- A token - other clients send
Authorization: Bearer <token>. Issue one on your profile page and keep it in thePUBLICWWW_TOKENenvironment variable.
Install
The Cursor button reads the token from PUBLICWWW_TOKEN; VS Code asks for it once
and keeps it in its secret storage.
Claude Code plugin
The MCP server (sign in with OAuth) and a skill that teaches the query syntax:
/plugin marketplace add publicwww-com/publicwww-mcp
/plugin install publicwww@publicwww
Then run /mcp, pick publicwww and choose Authenticate.
Gemini CLI extension
gemini extensions install https://github.com/publicwww-com/publicwww-mcp
It asks for the token once and keeps it in the system keychain.
Agent skill
skills/publicwww-search is a skill in the open
Agent Skills format: how to write PublicWWW queries and use the tools. Copy the
folder into your agent's skills directory (for example .agents/skills/ or
~/.claude/skills/).
Query syntax, briefly
More: query syntax.
Clusters
A cluster is a saved list of websites the assistant can build, combine and extract data from.
Presets: email, phone, whatsapp, telegram, viber, line, facebook,
instagram, x, linkedin, youtube, tiktok, pinterest, threads, bluesky,
discord, github, google_play, app_store. Anything else
is a regular expression in slashes whose first group is the value, e.g.
/data-site-id="([0-9]+)"/i. Extraction spends the day's extraction points; an
account keeps up to 100 clusters.
Ask in plain words: "Find sites that load static.hotjar.com, save them as a cluster
and get their contact emails and phones" - the assistant runs create_cluster,
then extract_from_cluster with the email and phone presets until the cluster
is done. More: tools.
Calling it directly
examples/mcp-curl.sh lists the tools, reads the account and
runs a search with plain curl. Streamable HTTP, JSON answers, no sessions - see
for developers.
For scripts the REST API is the simpler road - the same search, clusters and token, with CSV and NDJSON. Small clients: Python, JavaScript, PHP, Go, Ruby.
Documentation
License
MIT