Skip to main content
Every /v2 Logo API route has a tool. Read tools are named for what they return. Tools that change something are named for the action.

Arguments

Tool arguments match the REST parameters:
  • search takes q, method, and limit.
  • brand, logo, and brandmark take exactly one identifier: domain, ticker, isin, crypto, or name. brand also takes brand_id, in place of the REST path id, and nosubscribe.
  • subscription, subscribe, and unsubscribe take brand_id.
  • webhook_endpoints takes no arguments. The other endpoint tools take id, and create_webhook_endpoint and update_webhook_endpoint take the endpoint fields described in Webhooks.

Results

Tools return the same data and metadata as the REST routes, including metadata.request_id, but no response headers: credit and rate-limit details are REST-only.
  • A lookup that is still indexing returns {"object": "brand", "status": "not_indexed"} with metadata.pending, like a 202. A brand that is not found returns status: "not_found".
  • logo and brandmark return a tool error when there is no image to return.
  • unsubscribe returns the brand id and confirms you are not subscribed, whether or not you were before.
  • delete_webhook_endpoint returns { "id": "ep_...", "deleted": true }, so the client can tell which endpoint was removed.
  • Over a rate limit, a tool returns an error telling the client to retry in a minute, or shortly for a concurrency limit. MCP calls draw on the same allowance as REST calls.
Webhook events are delivered to your endpoints, not through the MCP connection. Use the subscription tools to start or stop brand.updated events.

Access errors

The server checks every request before any tool runs:
  • No token, or an invalid or expired one: 401 with a WWW-Authenticate header that points to https://mcp.logo.dev/.well-known/oauth-protected-resource. Your client reads it and starts the sign-in.
  • Signed in, but the account can’t use the API: 403. This happens when the account has no MCP access, is suspended, or is a personal account whose keys are switched off while you belong to a team.
Tools then apply the same checks as their REST routes:
  • An account that is out of credits gets a tool error instead of a 402.
  • subscribe, unsubscribe, and the webhook endpoint tools need webhooks turned on for the account.
  • At your plan’s limit, subscribe and create_webhook_endpoint return a tool error that names the limit. A brand lookup at the subscription limit still returns the brand, but does not subscribe you to it. The pricing page lists the limits for each plan.
  • Tools that change a webhook endpoint need the owner or admin role on the team.