Using sniff_domain in Your Agent

How do I add Bassethound to Claude?

Add Bassethound to Claude by pointing at the remote MCP endpoint mcp.bassethound.ai/mcp: a custom connector in Claude Desktop or Claude.ai, or one command in Claude Code. Sign in when Claude prompts you and you are on the free tier.

Best move: add Bassethound as a remote connector pointing at https://mcp.bassethound.ai/mcp, not as a local process you install.

Why it works: Bassethound is hosted and stateless, so Claude talks to it over HTTP. There is nothing to run on your machine and, on the free tier, no key to manage.

Key takeaways

  • Bassethound is a remote MCP server at mcp.bassethound.ai/mcp, so you connect Claude to a URL rather than installing anything.
  • Claude Desktop and Claude.ai add it as a custom connector. Claude Code adds it with one claude mcp add --transport http command.
  • The first call needs no API key of your own. Claude prompts you to sign in and handles the rest.
  • Once connected, Claude sees one tool, sniff_domain(domain, profile), that returns a five-layer dossier in a single call.
  • Paid plans raise depth and volume on the same endpoint.

How do you add Bassethound to Claude Desktop or Claude.ai?

Both surfaces use the same connector model. Open Settings, go to Connectors, and choose Add custom connector. Name it Bassethound and paste the endpoint, https://mcp.bassethound.ai/mcp. Save, and Claude negotiates the MCP handshake over HTTP.

Claude walks you through sign-in the first time you connect and keeps the grant for later sessions. That is the free tier; paid plans raise the limit.

After the connector shows as connected, Claude lists one tool, sniff_domain. You do not call it by name. You ask Claude to look at a domain, and it selects the tool and fills the arguments. Try “sniff stripe.com and tell me their AI stack.”

Two things to check if the tool does not appear. Confirm the URL ends in /mcp. Then reload the connector list so Claude re-reads the tool manifest. The connector persists across restarts, so you set this up once per client.

How do you add Bassethound to Claude Code?

Claude Code adds remote servers from the command line. Run:

claude mcp add --transport http bassethound https://mcp.bassethound.ai/mcp

The --transport http flag matters. Bassethound speaks streamable HTTP, not stdio, so Claude Code treats the endpoint as a URL instead of a local process to spawn.

Pick a scope with --scope. Local (the default) keeps the server to your user in the current project. Project scope writes to a checked-in .mcp.json, so your teammates inherit the same connector. User scope makes it available across every project on your machine.

Verify the wiring with claude mcp list, which shows Bassethound and whether the handshake succeeded. Start a session and ask Claude to analyze a domain. The tool call runs inside the same request, so Claude reads the dossier and reasons over it without a round trip to you.

Run /mcp inside Claude Code to trigger sign-in. Every tier needs it.

Do you need an API key or account to connect?

No API key. You do sign in. Point Claude at the endpoint and it prompts you the first time. Rate limiting runs per caller, so you feel the ceiling under heavy or automated use, not during casual investigation.

Keyless is structural. Tools that wrap a third-party data vendor make you paste that vendor’s key, because they resell access to a corpus they license. Bassethound runs its own crawl on every call, so there is no upstream key to pass through. You own nothing, configure nothing, and rotate nothing.

The paid tier exists for depth and volume. It authenticates over OAuth against the same endpoint, lifts the rate limits, raises the profile ceiling (deep probes, Wayback history), and returns higher concurrency. You still connect to mcp.bassethound.ai/mcp. The grant is the only difference.

The free tier has a real ceiling. It is rate-limited, and it caps you at lighter profiles under load. Enriching a list of hundreds of domains is the paid tier’s job.

What can you ask Claude once Bassethound is connected?

One tool, sniff_domain(domain, profile), does the work. You will not type that yourself. You ask Claude in plain language, and it maps the request onto the tool.

Pick the profile by how much you need. Fast is deterministic and keyless, one to three seconds, covering tech stack and infrastructure. Standard is the default and adds the AI stack and firmographics. Deep adds follow-on probes, a security header grade, and Wayback first-seen history. Say “run a deep analysis on anthropic.com” and Claude sets profile to deep.

One response comes back with five correlated layers: tech stack, infrastructure, firmographics, AI-readiness, and security. Bassethound fuses them into a summary, primary_stack, an ai_readiness score and verdict, a security_grade, and an icp_signal of hot, warm, or cold.

Because the whole investigation happens inside one request, Claude can chain it. Ask it to sniff a competitor, compare the AI-readiness verdict against three others, and it runs the calls and reasons over the dossiers without handing control back to you between steps.

What if the connection fails or you hit a rate limit?

Start with the URL. It must be https://mcp.bassethound.ai/mcp, path included. A trailing slash or a missing /mcp is the usual cause of a failed handshake. Confirm the transport is HTTP, since a server configured as stdio or SSE will not connect.

If Claude connects but shows no tool, reload the connector or run claude mcp list so the client re-reads the manifest. If a call returns a rate-limit response, you have hit the free-tier daily ceiling. It resets daily at 00:00 UTC, or move to a paid plan for higher volume.

One honest limit is not a bug. Bassethound reads a static crawl plus an optional JavaScript render. A component that renders on the server, or sits behind a proxy, can stay invisible to any external crawler. When that happens, the dossier says so in the how_detected and evidence fields instead of guessing. A blank layer is a reported gap, not a silent miss, so you can trust what the dossier does claim.

Bassethound perspective

Most enrichment servers you add to Claude make you paste an API key on the way in. That is a tell. The tool is a thin proxy over a data vendor whose corpus it licenses, and you are renting that vendor’s access through a middleman. Bassethound owns the crawl, so the free tier is keyless by construction, not by promotion. A reseller cannot copy that design without becoming a crawler.

The second claim a competitor would dispute: connect one server, not five. The tempting alternative wires a tech-stack MCP, an infra MCP, a firmographics MCP, and two more, then lets the agent fan out. Fan-out gives you five answers that do not know about each other. Correlation is the expensive part, and an agent cannot reconstruct it cheaply after the fact. Bassethound runs the five layers in one call and returns them already joined, so the AI-readiness verdict sits next to the tech stack that produced it.

Add one connector. Ask in plain language. Read the dossier that already did the correlation.

Sources

Frequently asked questions

Do you need a Bassethound API key to use it in Claude?

No key of your own. You point Claude at the URL and sign in when it prompts; that is the free tier. Paid plans raise depth and volume on the same endpoint.

Does Bassethound work in Claude Desktop, Claude.ai, and Claude Code?

Yes, all three. Desktop and web add it as a custom connector. Claude Code adds it with one claude mcp add command. Every surface points at the same mcp.bassethound.ai/mcp endpoint.

What transport does the endpoint use?

Streamable HTTP at https://mcp.bassethound.ai/mcp. It is a hosted remote server, not a local stdio process, so you connect to a URL rather than installing anything.

Is my data stored when I call Bassethound from Claude?

Every call is stateless and read-only, so the request is self-contained and nothing carries between calls. Your results are stored against your account.

How do I call Bassethound once it is connected?

Ask Claude in plain language to analyze a domain. It selects the sniff_domain tool, fills the arguments, and reads the five-layer dossier back inside the same request.

Sniff a domain.

Run sniff_domain on any site and read its five-layer dossier in one call.

Sniff a domain