MCP 服务器

HEY Research Lab

io.github.hey-research-lab/hey-research

此 MCP 可以做什么

Provides evidence-backed research on Robinhood Chain projects, contracts, token markets, development activity, changes, and market context.

ask_hey
Ask HEY
A free-text question about one project (English or Malay). HEY matches it to the parts of its record it is about and answers only from that record, every line tagged FACT, DERIVED or UNKNOWN with its source. It records building only and offers no view on price.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug', 'question'], 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}, 'question': {'type': 'string', 'maxLength': 280, 'minLength': 3, 'description': "The question, in the reader's words."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
chain_overview
Chain overview
Robinhood Chain as a whole. view: days (default; trades, volume, tokens, transactions, launches, ships per day), this-week, weekly-report (an ISO week, or the latest), unlocks (scheduled HoodLock unlocks with proof), build-market (Build Momentum beside market attention). Aggregates only; nobody is named.
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {'days': {'type': 'integer', 'maximum': 400, 'minimum': 1, 'description': 'days: 1–400 (default 14); unlocks: 1–365 ahead (default 30).'}, 'view': {'enum': ['days', 'this-week', 'weekly-report', 'unlocks', 'build-market'], 'type': 'string'}, 'week': {'type': 'string', 'pattern': '^\\d{4}-W\\d{2}$', 'description': 'weekly-report: e.g. 2026-W37.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
explain_fact
Explain a fact
Why HEY publishes a fact about one project: the value, FACT, DERIVED or UNKNOWN, the canonical rule and version, the winning source and why, the inputs, the lineage from source to public value, and the evidence ids. Omit fact to list what can be explained; source.counted takes a source id.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'fact': {'enum': ['market.valuation', 'market.status', 'activity.status', 'build.momentum', 'discovery_gap', 'still_building', 'research.level', 'token.verification', 'source.counted', 'market_integrity.state'], 'type': 'string'}, 'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}, 'source': {'type': 'string', 'maxLength': 80, 'description': 'With fact=source.counted: the source id.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
find_projects
Find projects
Find Robinhood Chain projects by name, ticker or contract, or browse one of HEY's surfaces. A full 0x address is a contract lookup: is anyone building it, its ships in 30 days, the last one with its source. Surfaces: building-with-token: verified shipping, active or resumed, with a token whose market is live. still-building: verified activity continuing through a market drawdown HEY tracked. under-the-radar: eligible under HEY's Under the Radar rule (status shipping, active or resumed; Build Momentum at least 30; at least 2 meaningful events in the last 30 days, one of them a ship rather than a commit summary; a fresh reading of an active market, not a thin one or only a launch curve, for the project's own token) and a positive Discovery Gap — market-attention percentile below the build percentile; a positive gap alone is not enough, and it does not bound attention itself. shipping-now: status SHIPPING. most-active: shipping, active or resumed, by Build Momentum. new-builders: recorded in the last 7 days. back-from-dormancy: status RESUMED, narrowed to verified builders native to the chain (status=RESUMED gives every resumed project). utility, memes: by kind. shipping-in-silence: eligible under the Under the Radar rule AND below the 40th market-attention percentile. accelerating: more meaningful events in 30 days than in the 30 before. builder-radar: the Builder Radar, ranked by verified development, on-chain use and research, never price. shipping-in-silence and accelerating take no other argument (at most 100 rows); builder-radar takes query, radar, limit and offset. Not a ranking by price: a market sort is context, and rows without the figure follow in activity order.
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {'age': {'enum': ['day', 'week', 'month', 'older'], 'type': 'string', 'description': 'Since the first pool opened.'}, 'has': {'type': 'array', 'items': {'enum': ['token', 'x', 'marketCap', 'launchpad', 'liveMarket', 'verifiedToken', 'trading', 'github'], 'type': 'string'}, 'description': 'Facts every row must carry.'}, 'kind': {'enum': ['UTILITY', 'MEME', 'HYBRID', 'INFRASTRUCTURE', 'RWA', 'APPLICATION', 'OTHER'], 'type': 'string'}, 'sort': {'enum': ['activity', 'shipped', 'marketCap', 'newest', 'liquidity', 'volume24h'], 'type': 'string', 'description': 'Default activity; shipped = newest ship first.'}, 'limit': {'type': 'integer', 'maximum': 48, 'minimum': 1, 'description': 'Default 24.'}, 'query': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'Name, ticker or contract (or its start).'}, 'radar': {'enum': ['all', 'pons', 'virtuals', 'other-launch', 'no-token', 'new', 'established', 'most-improved', 'development', 'onchain', 'resumed'], 'type': 'string', 'description': 'With surface=builder-radar: a Radar view.'}, 'stage': {'enum': ['curve', 'graduated', 'dex'], 'type': 'string', 'description': 'Token launch stage.'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'The offset a previous answer gave.'}, 'status': {'enum': ['SHIPPING', 'ACTIVE', 'QUIET', 'DORMANT', 'RESUMED', 'UNKNOWN'], 'type': 'string', 'description': 'Activity status.'}, 'surface': {'enum': ['building-with-token', 'still-building', 'under-the-radar', 'shipping-now', 'most-active', 'new-builders', 'back-from-dormancy', 'utility', 'memes', 'shipping-in-silence', 'accelerating', 'builder-radar'], 'type': 'string'}, 'deployed': {'enum': ['day', 'week', 'month', 'older'], 'type': 'string', 'description': 'Since the contract was deployed.'}, 'launchpad': {'type': 'string', 'maxLength': 40, 'description': 'e.g. "pons", "virtuals".'}, 'minVolume': {'type': 'number', 'description': '24h volume, USD.', 'exclusiveMinimum': 0}, 'narrative': {'type': 'string', 'maxLength': 80, 'description': 'Narrative slug, e.g. "ai-agents".'}, 'maxMarketCap': {'type': 'number', 'description': "USD, on the card's valuation reading.", 'exclusiveMinimum': 0}, 'minLiquidity': {'type': 'number', 'description': 'USD; unknown is excluded, never zero.', 'exclusiveMinimum': 0}, 'minMarketCap': {'type': 'number', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
get_changes
What changed
The canonical change ledger for Robinhood Chain or one project: releases, ships, status moves, contract deployments and upgrades, verification, sources, scheduled unlocks — one event per change, with its own time and precision, when HEY first knew, and its evidence. Browse newest first; to follow along pass after=c1.0 (or a kept cursor) and keep each answer's cursor. A retraction means HEY no longer makes that claim. Facts, never causes.
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {'type': {'type': 'array', 'items': {'enum': ['build.release', 'build.code_activity', 'build.ship', 'build.status_changed', 'build.dormant', 'build.resumed', 'build.accelerating', 'build.slowing', 'contract.deployed', 'contract.followup_deployed', 'contract.implementation_changed', 'contract.source_verified', 'contract.source_unverified', 'contract.interface_changed', 'contract.usage_changed', 'contract.method_first_observed', 'contract.method_resumed', 'market.status_changed', 'market.liquidity_moved', 'market.volume_spike', 'market.distribution_changed', 'token.launch_stage_changed', 'token.verification_changed', 'research.published', 'research.builder_verified', 'research.owner_verified', 'research.source_added', 'research.source_unavailable', 'research.source_restored', 'research.source_changed', 'research.narrative_assigned', 'lock.unlock_due', 'lock.observed', 'lock.withdrawn', 'market_integrity.event'], 'type': 'string'}}, 'after': {'type': 'string', 'maxLength': 64, 'description': 'Sync forward from this cursor (c1.0 is the start).'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Default 30.'}, 'since': {'type': 'string', 'maxLength': 40, 'description': 'ISO date: events whose own time is at or after it (events with no source time are left out).'}, 'until': {'type': 'string', 'maxLength': 40}, 'before': {'type': 'string', 'maxLength': 64, 'description': 'Browse older than this cursor.'}, 'domain': {'type': 'array', 'items': {'enum': ['build', 'contract', 'market', 'token', 'research', 'lock', 'market_integrity'], 'type': 'string'}}, 'project': {'type': 'string', 'maxLength': 120, 'description': 'A project slug.'}, 'contract': {'type': 'string', 'pattern': '^\\d{1,10}:0x[0-9a-fA-F]{40}$', 'description': '<chainId>:<address>.'}, 'detectedSince': {'type': 'string', 'maxLength': 40, 'description': 'ISO instant: start a sync at the first event HEY recorded at or after it.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
get_contract
Contract
A contract as a research entity: creation, deployer (the only account named, with a count of other tracked projects' tokens it deployed), verified source and whose code it is (template, bytecode match or its own), Sourcify's answer, proxy and implementation history or the clone's original, interface changes, and 7 days of calls per method (counts; names withheld; an undecoded selector's signature candidate — a guess, never a name). chainId and address, or slug for all of a project's. A proxy HEY did not read is "not read", never "not a proxy".
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, for all of its contracts.'}, 'address': {'type': 'string', 'pattern': '^0[xX][a-fA-F0-9]{40}$'}, 'chainId': {'type': 'integer', 'description': 'Default 4663.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
get_evidence
Open evidence
Open one published record by its typed id — ship:, signal:, abi:, impl:, lock:, source:, claim:, state:, method:, sourcechange:, security: — as a receipt: what it claims, its source URL, when it happened at what precision, when HEY knew, how it is backed. Ids come from the other tools. A withdrawn record says so.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'pattern': '^[a-z_]+:[A-Za-z0-9:._-]{1,200}$', 'description': 'A typed evidence id, e.g. "ship:2ac87a66-…".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
get_project_snapshot
Project snapshot
One project in one read: identity, build status and Build Momentum, market context with its kind or why it is withheld, on-chain use, 7-day product usage (distinct caller addresses per day — addresses, not people), verification, HoodLock locks, latest changes, freshness and what HEY does not know. Context blocks, never building: paid promotion (presence and dates), DefiLlama protocol economics (measured, not tracked or unread), developer footprint (counts only where measured).
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
get_project_timeline
Project timeline
One project's research timeline: builds, releases, code, contract deploys, upgrades and interface changes, token verification, locks and scheduled unlocks, each with how precisely HEY knows its time. Lenses: everything, build, code, onchain, market, locks. Paged with the before cursor each answer gives.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'lens': {'enum': ['everything', 'build', 'code', 'onchain', 'market', 'locks'], 'type': 'string'}, 'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Default 30.'}, 'before': {'type': 'string', 'maxLength': 400, 'description': 'The cursor the previous answer gave.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
get_token_market
Token market
One token's market from HEY's own daily index: the current reading (valuation kind, provider), price, liquidity, volume and trades by day, the lifecycle (deploy, launchpad claim, stage, first trade), pools and depth, supply concentration (shares only, no addresses), contract checks and events by day. include=["moves"] adds each day-on-day valuation move with the building events published before it — a sequence, never a cause. Context, never a recommendation.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'days': {'type': 'integer', 'maximum': 400, 'minimum': 1, 'description': 'Days of history; default 30.'}, 'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}, 'include': {'type': 'array', 'items': {'enum': ['moves'], 'type': 'string'}}, 'min_change_pct': {'type': 'integer', 'maximum': 500, 'minimum': 5, 'description': 'With moves: smallest move in percent; default 25.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
market_integrity
Market integrity
For one project: what happened to its tracked token market — liquidity against the level it held, trading, a pool migration — beside its builder activity, and where the two disagree. It describes the token market, never whether development stopped, and never calls a project a rug or safe.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
project_diff
Project diff
One project between two dates (YYYY-MM-DD, at most 400 days apart): releases and meaningful ships, status and Build Momentum then and now, valuation and liquidity then and now, and the changes recorded — each from the nearest persisted point with its date and basis. Never a cause.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['slug', 'from', 'to'], 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'A project slug, e.g. "agentos".'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'api'], 'properties': {'api': {'type': 'string'}, 'data': {}, 'schema': {'type': 'string', 'const': 'hey.mcp-api-answer'}}, 'additionalProperties': True}
research_answer
Agent research answer
HEY's agent contract (AgentIntelligenceResponse v1), Robinhood Chain 4663: research_project; what_changed (1–30 days, project or chain); builder_status (rule, inputs, evidence); verify_project (is a contract the project’s); compare_builders (2–4, no winner); unknowns (every coverage state). Claims FACT/DERIVED/UNKNOWN with freshness and evidence ids; source text is quoted data.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['capability'], 'properties': {'days': {'type': 'integer', 'maximum': 30, 'minimum': 1}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'types': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z_]+\\.[a-z_]+$'}, 'maxItems': 20, 'minItems': 1}, 'address': {'type': 'string', 'pattern': '^0[xX][a-fA-F0-9]{40}$'}, 'project': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'building': {'type': 'string', 'const': 'only'}, 'projects': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'maxItems': 4, 'minItems': 2}, 'capability': {'enum': ['research_project', 'what_changed', 'builder_status', 'verify_project', 'compare_builders', 'unknowns'], 'type': 'string'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['schema', 'schemaVersion', 'capability', 'status', 'answer', 'claims', 'evidence', 'data'], 'properties': {'data': {'anyOf': [{'type': 'object', 'properties': {}, 'additionalProperties': True}, {'type': 'null'}]}, 'answer': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}, 'additionalProperties': True}, 'claims': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'status'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['FACT', 'DERIVED', 'UNKNOWN'], 'type': 'string'}}, 'additionalProperties': True}}, 'schema': {'type': 'string', 'const': 'hey.agent-intelligence-response'}, 'status': {'enum': ['ok', 'not_found', 'moved', 'invalid_request', 'unavailable'], 'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}, 'additionalProperties': True}}, 'capability': {'enum': ['research_project', 'what_changed', 'builder_status', 'verify_project', 'compare_builders', 'unknowns'], 'type': 'string'}, 'schemaVersion': {'type': 'string', 'const': '1'}}, 'additionalProperties': True}
已移除
lookup_token
2026年10月1日 02:40
已移除
get_project_coverage
2026年10月1日 02:40
已移除
compare_projects
2026年10月1日 02:40
已更改
market_integrity
2026年10月1日 02:40
已添加
research_answer
2026年10月1日 02:40
已更改
chain_overview
2026年10月1日 02:40
已更改
ask_hey
2026年10月1日 02:40
已更改
project_diff
2026年10月1日 02:40
已更改
get_contract
2026年10月1日 02:40
已更改
get_token_market
2026年10月1日 02:40
已更改
get_evidence
2026年10月1日 02:40
已更改
explain_fact
2026年10月1日 02:40
已更改
get_project_timeline
2026年10月1日 02:40
已更改
get_changes
2026年10月1日 02:40
已更改
get_project_snapshot
2026年10月1日 02:40
已更改
find_projects
2026年10月1日 02:40
已添加
market_integrity
2026年9月29日 02:40
已添加
chain_overview
2026年9月29日 02:40
已添加
ask_hey
2026年9月29日 02:40
已添加
compare_projects
2026年9月29日 02:40
已添加
project_diff
2026年9月29日 02:40
已添加
get_contract
2026年9月29日 02:40
已添加
get_token_market
2026年9月29日 02:40
已添加
get_evidence
2026年9月29日 02:40
已添加
explain_fact
2026年9月29日 02:40
已添加
get_project_coverage
2026年9月29日 02:40
已添加
get_project_timeline
2026年9月29日 02:40
已添加
get_changes
2026年9月29日 02:40
已添加
get_project_snapshot
2026年9月29日 02:40
已添加
lookup_token
2026年9月29日 02:40