Manual

Docs

CLI, MCP (local and remote), API and the honest-reply policy. AskHound is built for dev-tool and prosumer software founders whose users ask on Hacker News, GitHub, Stack Exchange and Bluesky.

CLI

npx -y https://askhound.haullabs.dev/askhound-0.1.5.tgz help
# or install globally
npm i -g https://askhound.haullabs.dev/askhound-0.1.5.tgz
# /askhound.tgz always points at the latest build, but npx caches by URL, so the docs pin the version.
# The CLI tells you (stderr, once a day) when a newer version exists.

askhound search "<phrase>" [--sources hn,se,bsky,gh] [--days 30] [--context w1,w2] [--not w] [--min-intent 2] [--json|--md file]
askhound queries --competitor Otter.ai --competitor Fireflies --category "transcript export"
askhound pack save <name> --competitor A --competitor B --category "..." [--job "..."] [--context ...]
askhound pack run [name] [--days 14] [--md report.md]     # new results only
askhound mark <url> replied|skipped|seen
askhound login AH-XXXXX-XXXXX-XXXXX-XXXXX                # paid: cloud reply-state sync + more packs
askhound sync
askhound mcp                                             # local MCP over stdio

Environment: GITHUB_TOKEN (raises GitHub search from 10 to 30 requests/min), STACKEXCHANGE_KEY (raises Stack Exchange quota), ASKHOUND_HOME (default ~/.askhound). Source: askhound.mjs (MIT).

Anonymous telemetry: the CLI and local MCP send at most one ping per day with a random install id (stored in ~/.askhound/install_id) and the version. Nothing else is sent: no queries, results, paths, hostnames or keys. Opt out with ASKHOUND_TELEMETRY=0 or DO_NOT_TRACK=1. Downloads of the tarball are counted anonymously. Once a day the CLI and local MCP also fetch /version.json (no id, nothing sent) to tell you about updates; the same opt-outs skip it.

Local MCP tools

find_conversations, run_pack, mark_conversation, list_packs, reply_policy. All four sources, queried from your machine.

Remote MCP

Endpoint https://askhound.haullabs.dev/api/mcp (Streamable HTTP, stateless). Optional header Authorization: Bearer AH-…. Tools: find_conversations, build_intent_queries, run_intent_pack, reply_policy. Server-side sources: Stack Exchange and Bluesky only. For HN and GitHub use the local MCP.

curl -s https://askhound.haullabs.dev/api/mcp -H 'content-type: application/json' \
 -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_conversations","arguments":{"query":"notion alternative","days":14}}}'

REST

  • GET /api/license with Authorization: Bearer AH-… returns plan and limits
  • GET|POST|DELETE /api/watches (paid) list, create or delete (?id=) watches. Create: {"q":"notion alternative","context":["notes"],"channel":"email","to":"you@example.com"}; channel is email (all paid plans, beta) or slack, discord, webhook (Pro, Agency). A first digest goes out right away; after that only new matches. Stack Exchange + Bluesky.
  • GET /api/report?id=<watch>&days=7&format=md|html&title=… (Agency) unbranded client report for a watch
  • POST /api/quota what the browser tool asks before a search (free: 3/day per IP)
  • GET|PUT /api/state (paid) reads or merges reply-state {"items": {"<id>": {"status":"replied","ts":"…","url":"…"}}}

Sources and terms

SourceAPINotes
Hacker Newshn.algolia.comQueried from your browser/CLI only
Stack Exchangeapi.stackexchange.com 2.3Content CC BY-SA; we show attribution and link to the original
Blueskyapi.bsky.app searchPostsPublic AppView; we respect deletions by never storing posts
GitHubapi.github.com search/issuesQueried with your own rate limit/token

Honest-reply policy

  1. A human approves every public reply. No auto-posting, no mass DMs.
  2. Disclose your affiliation.
  3. Answer the question first; mention your product only when it truly fits, and name alternatives.
  4. Follow each community's rules. Hacker News does not allow AI-generated or AI-edited comments.
  5. Attribute Stack Exchange content.