whoisbrowsing
Add live visitor cursors to any website, no signup: create a site, get the snippet, check it's live.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://whoisbrowsing.com/mcp"
}
}
}Remote endpoints
https://whoisbrowsing.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟡create_site(domains, name)
Creates a whoisbrowsing site with no sign-up and returns its script tag (snippet), one watch link per website, a one-time claim link and the next steps. Call it once per project; one site can hold several domains. Never write the watch or claim link into a file, commit or log.
Input Schema
{
"type": "object",
"properties": {
"domains": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 253
},
"description": "The websites the tag will run on: host[:port] (e.g. localhost:3000, example.com), or *.host for every subdomain (e.g. *.vercel.app). A scheme or path is stripped; a host is letters, digits, hyphens and dots (a non-ASCII domain in its xn-- form); www. is the same website as the bare domain; each website is watched separately."
},
"name": {
"description": "A label for the site. Defaults to the first domain.",
"type": "string",
"maxLength": 100
}
},
"required": [
"domains"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"siteId": {
"type": "string",
"pattern": "^[a-z0-9]{12}$",
"description": "The site ID: the data-site value in the snippet. Public, fine to commit."
},
"snippet": {
"type": "string",
"description": "The script tag to put on every page, unchanged."
},
"watchUrls": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string",
"format": "uri"
},
"description": "One watch link per website: the human's own site, opened with a private owner key in the #fragment. Give it to the human right away; never write it into a file, commit or log. Treat it like a password."
},
"claimUrl": {
"type": "string",
"format": "uri",
"description": "The one-time link that keeps the site in the human's account after signing in with Google. Expires after 30 days. Give it to the human right away; never write it into a file, commit or log."
},
"installDocs": {
"type": "string",
"format": "uri",
"description": "Where the tag goes for each platform."
},
"next": {
"type": "array",
"items": {
"type": "string"
},
"description": "What to do next, in order, in plain words."
}
},
"required": [
"siteId",
"snippet",
"watchUrls",
"claimUrl",
"installDocs",
"next"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_install_instructions(platform)
Returns the install guide (Markdown) for one platform: where the script tag goes, a Content-Security-Policy note and how to verify. Call it without a platform, or with an unknown one, to get the list of platforms.
Input Schema
{
"type": "object",
"properties": {
"platform": {
"description": "The platform's slug: react, angular, astro, framer, ghost, nextjs, nuxt, html, remix, squarespace, svelte, vue, webflow, wix, ai-agent, wordpress, shopify. Common names such as \"Next.js\" work too.",
"type": "string",
"maxLength": 40
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_live(siteId, key)
Asks the live server whether the site's script is connected right now: the websites with a visitor, how many visitors, and which websites the owner is watching. Needs the site's owner key, the part after #wib= in the watch link create_site returned. Load a page that has the tag (a private window counts as a visitor) before calling it.
Input Schema
{
"type": "object",
"properties": {
"siteId": {
"type": "string",
"maxLength": 64,
"description": "The siteId create_site returned (12 lowercase letters and digits)."
},
"key": {
"type": "string",
"maxLength": 4096,
"description": "The owner key: the part after #wib= in the watch link create_site returned. Never write it into a file."
}
},
"required": [
"siteId",
"key"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"siteId": {
"type": "string"
},
"connected": {
"type": "boolean"
},
"webs": {
"type": "array",
"items": {
"type": "string"
}
},
"visitors": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"watching": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"siteId",
"connected",
"webs",
"visitors",
"watching"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence