Repository avatar
AI Tools
v0.1.0
active

brandcheck

io.github.CloudCorpRecords/brandcheck

Measure whether a brand shows up when buyers ask AI assistants for a recommendation.

Documentation

brandcheck

Does your brand actually show up when a buyer asks an AI assistant for a recommendation? brandcheck is a small keyless bridge to the hosted AskedThrice measurement service, which asks real buyer questions to OpenAI, Anthropic and Gemini and reports what they answered — not what they claim they would answer.

There is no score from 0 to 100. A finished measurement reports a verdict in three bands, how many of the buyer questions the brand won, which competitors were named instead, and which providers actually answered. The service is free, needs no signup and no API key, and allows one measurement per domain every 30 days; that quota lives upstream, and a quota_reached answer passes through this client untouched.

Tools

  • start_visibility_check — start a measurement for a brand. Required: brand (the brand name as customers write it), website (the domain, like yourbrand.com) and category (what the business sells, in plain words). Optional: competitors (up to 5 real competitors, comma separated), location (where the business competes) and language (en or es, the language the buyer questions are asked in). Returns a runId.
  • get_visibility_check — collect a measurement by its runId. Returns status running while the providers are still answering, so poll every 20 to 30 seconds (a measurement takes about a minute); when ready it reports the verdict and the counts.

Nothing is validated or counted locally: arguments are forwarded exactly as given, and the upstream result content comes back verbatim, including any isError flag.

Configuration

  • ASKEDTHRICE_MCP_URL (optional) — override the hosted endpoint. Defaults to https://mcp.askedthrice.com/mcp.
  • ASKEDTHRICE_TIMEOUT_MS (optional) — per-request timeout in milliseconds. Defaults to 60000.

Failures use three renderings (this rebuild's own, labelled): a JSON-RPC error from the upstream becomes askedthrice error: <message>, an unparseable upstream response becomes askedthrice error: malformed response, and a request that cannot be completed — including a timeout — becomes askedthrice unreachable.

Forwarding mechanics

The bridge internals are a labelled reconstruction (the Streamable HTTP session pattern): on the first call the client POSTs an initialize request (protocolVersion 2025-03-26, empty capabilities, clientInfo name brandcheck), captures the mcp-session-id response header when one is returned, POSTs notifications/initialized, then POSTs the tools/call request with the session header attached when captured. The session is reused for the life of the process. Every POST carries Content-Type: application/json and Accept: application/json, text/event-stream, and responses may be plain JSON or SSE.

CLI

Each tool is a subcommand taking one JSON argument string:

npx @reneturcios/brandcheck start_visibility_check '{"brand":"Acme","website":"acme.com","category":"project management tool","competitors":"Asana, Monday"}'
npx @reneturcios/brandcheck get_visibility_check '{"runId":"run-123"}'
npx @reneturcios/brandcheck --version

Output is the forwarded result content as JSON. Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

npx -y @reneturcios/brandcheck mcp

MCP client config:

{
  "mcpServers": {
    "brandcheck": {
      "command": "npx",
      "args": ["-y", "@reneturcios/brandcheck", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/brandcheck
docker run --rm ghcr.io/cloudcorprecords/brandcheck get_visibility_check '{"runId":"run-123"}'

Development

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

NPM
@reneturcios/brandcheck
Install Command
npm install @reneturcios/brandcheck
Runtime: npx
OCI
ghcr.io/cloudcorprecords/brandcheck:0.1.0
Install Command
docker pull ghcr.io/cloudcorprecords/brandcheck:0.1.0:undefined
Runtime: docker