Brandcheck

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

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

VerifiedSTDIODesktop onlyBusiness & CommerceAI & ML

Overview

AI-generated overview

Keyless bridge to the AskedThrice service that measures whether a brand is recommended when buyers ask OpenAI, Anthropic and Gemini assistants.

What you can do
  • Start a brand visibility measurement from a brand name, website domain and category, with optional competitors, location and language.
  • Poll a started measurement by its runId and read the verdict band, how many buyer questions the brand won, which competitors were named instead, and which providers answered.
When to use it
Useful when you want to check how a brand or a client's brand appears in AI assistant recommendations, or to compare it against named competitors, without signing up for an account.
Requirements
Runs locally via npx or Docker and needs network access to the hosted AskedThrice endpoint. No account or API key. Optional environment variables ASKEDTHRICE_MCP_URL and ASKEDTHRICE_TIMEOUT_MS override the endpoint and per-request timeout.
Before you install
Brand, website, category and competitor details are sent to the third-party AskedThrice service, which queries OpenAI, Anthropic and Gemini. The free quota is one measurement per domain every 30 days and is enforced upstream. Arguments are forwarded unvalidated and upstream results come back verbatim.

Installation

In SourceWeft

  1. Open Brandcheck in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

bash
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

bash
npx -y @reneturcios/brandcheck mcp

MCP client config:

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

Docker

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

Development

bash
npm installnpm 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

Source: README.md at commit fe0ec35

Tools

2

get_visibility_check

Get visibility check

Collect the result of a measurement started with start_visibility_check. Returns status running while the providers are still answering, so poll every 20 to 30 seconds. When ready it reports a verdict, how many of the buyer questions the brand won, which competitors were named instead, and which providers actually answered.

ParametersrunIdrequired

start_visibility_check

Start visibility check

Measure whether a brand shows up when buyers ask AI assistants for a recommendation. Asks real buyer questions to OpenAI, Anthropic and Gemini and reports what they answered, not what they claim they would answer. Free, no signup, one measurement per domain every 30 days. Returns a runId: call get_visibility_check with it after about a minute. If the domain was already measured this month the response says quota_reached and includes when it ran.

Parametersbrandrequiredwebsiterequiredcategoryrequiredlanguagelocationcompetitors

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts