@hey-research-lab/mcp
npx -y @hey-research-lab/mcp
Or use the hosted endpoint, which needs nothing installed:
claude mcp add --transport http hey-research https://heyresearch.xyz/mcp.
HEY Research as tools an assistant can call, over the
Model Context Protocol. HEY is the
builder-discovery layer for Robinhood Chain; it answers one question — which
projects are still building, what have they shipped, and which of them are not
yet getting much market attention? — from a public, source-backed record.
The tools read the same public API anyone can curl, so they can say nothing
the API does not.
Hosted
claude mcp add --transport http hey-research https://heyresearch.xyz/mcp
Streamable HTTP, stateless and read-only. Add
--header "Authorization: Bearer hey_…" to read with your key's allowance.
See docs/MCP.md for what the endpoint does
and does not do.
Local (stdio)
npx -y @hey-research-lab/mcp
Node 20 or newer — the floor @modelcontextprotocol/sdk brings with it.
Claude Code
claude mcp add hey-research -- npx -y @hey-research-lab/mcp
Claude Desktop — in claude_desktop_config.json:
{
"mcpServers": {
"hey-research": {
"command": "npx",
"args": ["-y", "@hey-research-lab/mcp"]
}
}
}
Environment
HEY_API_URL | Another HEY to read, e.g. http://localhost:3000 when developing. Default https://heyresearch.xyz. Anything but https is refused except on localhost, because the key rides on every request. |
HEY_API_KEY | An API key from heyresearch.xyz/account. Names your integration and gives it its own per-minute bucket instead of the one every caller on your address shares, with a monthly allowance; a free key keeps the anonymous per-minute figure, a holder key gets more. No tool is gated behind it. Sent as a bearer token, never logged. |
HEY_MARKET_INTEGRITY | Set to public only when the HEY you read publishes Market Integrity; market_integrity is offered only then. Unset, the server offers thirteen tools. |
HEY_MCP_PROFILE | research serves the research profile (round 4): builder intelligence first — research_answer (which still carries its contract's labelled market context), find_projects by identity, get_changes without market events, get_project_timeline, explain_fact, get_evidence, get_contract, get_v4_hook. Unset, the full set. Hosted: https://heyresearch.xyz/mcp/research. |
The thirteen tools
find_projects | Find a project by name, ticker or contract, or browse a surface — still-building, under-the-radar (eligible under the Under the Radar rule, with a positive Discovery Gap), back-from-dormancy, shipping-in-silence, accelerating, builder-radar, … — with the catalogue's filters. A 0x… address is the contract lookup: is anyone building it, its ships in 30 days, the last one and its source. |
get_project_snapshot | One project in one read: identity, build, market with its valuation kind or why it is withheld, on-chain, verification, locks, latest changes, freshness, and what HEY does not know. |
get_changes | The change ledger: what changed chain-wide or on one project, one event per change with its own time and precision, when HEY knew, and its evidence; a cursor to follow along. |
get_project_timeline | One project's evidence on one axis, paged with a cursor. |
explain_fact | Why HEY shows a figure: the rule, the source, the inputs, the lineage, the evidence ids. |
get_evidence | One typed evidence id (ship:, signal:, abi:, impl:, lock:, source:, claim:, state:, integrity: (while Market Integrity is public), narrative:, method:, sourcechange:, security:, v4hook:) as a receipt. |
get_token_market | One token's market from HEY's daily index, lifecycle, pools, supply concentration (shares only), contract checks; include: ["moves"] adds the valuation moves with what shipped before each. |
get_contract | A contract as a research entity — creation, deployer, verified source, proxy and implementation history, interface counts, activity, and for a Uniswap v4 hook HEY stores its callbacks and attribution. |
get_v4_hook | Who built a Robinhood Chain Uniswap v4 hook: the project HEY ties it to and on what basis (named only while HEY lists the hook; never a creator account), the callbacks its address declares (never a safety verdict), source and proxy as read, Uniswap's hooklist entry as context, pools on tracked tokens by week, and what HEY does not know. |
project_diff | What changed for one project between two dates, never a cause. |
ask_hey | A free-text question about one project, answered only from HEY's record. |
chain_overview | The chain day by day, this week, an archived weekly report, scheduled HoodLock unlocks, or Build Momentum beside market attention. |
research_answer | HEY's agent contract (AgentIntelligenceResponse v1) for one of six capabilities — research_project, what_changed, builder_status, verify_project, compare_builders, unknowns — the answer first, then claims tagged FACT, DERIVED or UNKNOWN, what HEY does not know, freshness and evidence ids. research_project, builder_status and unknowns take project (a slug), q (a name or $TICKER) or address (a 0x contract) — exactly one; a name several projects share answers the candidate slugs and picks none. The text is the lean summary by default (detail: "full" for the data, freshness and evidence lines; the whole JSON is always the resource link and structuredContent) and ends on the citation line: "Source: HEY Research Lab, builder research for Robinhood Chain — , as of , rules ". A source's words are quoted as data. |
Plus market_integrity where the site publishes it.
Folded on 2026-09-30 and still callable, unlisted, until 2026-12-31: lookup_token (use
find_projects with the address), compare_projects (use research_answer with
compare_builders) and get_project_coverage (use research_answer with unknowns). Each
answers as before, plus one line naming its replacement.
Every tool returns typed structuredContent beside its text and declares an outputSchema:
research_answer returns the AgentIntelligenceResponse v1 itself; every other tool returns
{ schema: "hey.mcp-api-answer", api, data, notice }, the public API object it rendered. Resources
(hey://project/{slug}, hey://project/{slug}/timeline,
hey://project/{slug}/coverage, hey://contract/{chainId}/{address},
hey://changes/latest) and eight prompts (deep_research_project,
what_changed_since, explain_metric, investigate_contract, what_changed_today,
compare_project_usage, explain_project_evidence, monitor_project) come with them.
Every answer quotes a source's words «…» (a name, a ticker, a release title) as data, tags its lines FACT, DERIVED or UNKNOWN, says how many it showed
of how many and how to read on, names a valuation by its kind, carries the
source, and links the JSON it was rendered from. Nothing is rendered as zero or
"n/a" where HEY has no figure.
What it will not say
HEY records public building activity. It is not investment advice, it does not
predict or rank by price, and it holds no wallet data. The only account any
tool names is a contract's deployer: get_token_market names it beside one
token's supply-concentration summary (shares only), and get_contract names it
with how many other tracked projects' tokens the same account deployed — a
count, never a profile, called a launch service only on HEY's own
shared-deployer rule. Still Building is a narrow claim — verified activity continuing
through a market drawdown HEY tracked — and the server never states it without
its meaning.
From source
The tools live in packages/mcp-core of the
public HEY Research repository;
this package is their stdio entry point and bundles them, with
@hey-research-lab/sdk, into one file.
pnpm --filter @hey-research-lab/mcp build && node apps/mcp/dist/index.js
Licence
MIT © HEY Research Lab