HEY Research Lab
Evidence-backed Robinhood Chain research: builders, ships, contracts, changes, market context.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"hey-research": {
"command": "npx",
"args": [
"@hey-research-lab/mcp"
]
}
}
}可运行的软件包
0.1.2stdio远程端点
https://heyresearch.xyz/mcpstreamable-httphttps://heyresearch.xyz/mcp/researchstreamable-http它能做什么
工具清单
工具(7)
🟢find_projects(query)
Find a Robinhood Chain project by name, ticker or contract: identity only (name, ticker, contract, slug), at most eight rows. A full 0x address answers whether anyone is building that contract: activity status, ship records in 30 days, the last ship with its source, whether the project names it.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 64,
"description": "Name, ticker, slug or 0x contract."
}
},
"required": [
"query"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.mcp-api-answer"
},
"api": {
"type": "string"
},
"data": {}
},
"required": [
"schema",
"api"
],
"additionalProperties": true
}🟢get_changes(project, contract, domain, type, since, ...)
The canonical change ledger for Robinhood Chain or one project, without market readings: 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": {
"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>."
},
"domain": {
"type": "array",
"items": {
"type": "string",
"enum": [
"build",
"contract",
"token",
"research",
"lock"
]
}
},
"type": {
"type": "array",
"items": {
"type": "string",
"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",
"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"
]
}
},
"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
},
"detectedSince": {
"type": "string",
"maxLength": 40,
"description": "ISO instant: start a sync at the first event HEY recorded at or after it."
},
"after": {
"type": "string",
"maxLength": 64,
"description": "Sync forward from this cursor (c1.0 is the start)."
},
"before": {
"type": "string",
"maxLength": 64,
"description": "Browse older than this cursor."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Default 30."
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.mcp-api-answer"
},
"api": {
"type": "string"
},
"data": {}
},
"required": [
"schema",
"api"
],
"additionalProperties": true
}🟢get_project_timeline(slug, lens, limit, before)
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: build (default), code, onchain, locks. Paged with the before cursor each answer gives.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "A project slug, e.g. \"agentos\"."
},
"lens": {
"type": "string",
"enum": [
"build",
"code",
"onchain",
"locks"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Default 30."
},
"before": {
"type": "string",
"maxLength": 400,
"description": "The cursor the previous answer gave."
}
},
"required": [
"slug"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.mcp-api-answer"
},
"api": {
"type": "string"
},
"data": {}
},
"required": [
"schema",
"api"
],
"additionalProperties": true
}🟢explain_fact(slug, fact, source)
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",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "A project slug, e.g. \"agentos\"."
},
"fact": {
"type": "string",
"enum": [
"activity.status",
"build.momentum",
"still_building",
"research.level",
"token.verification",
"source.counted"
]
},
"source": {
"type": "string",
"maxLength": 80,
"description": "With fact=source.counted: the source id."
}
},
"required": [
"slug"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.mcp-api-answer"
},
"api": {
"type": "string"
},
"data": {}
},
"required": [
"schema",
"api"
],
"additionalProperties": true
}🟢get_evidence(id)
Open one published record by its typed id — ship:, signal:, abi:, impl:, lock:, source:, claim:, state:, narrative:, method:, sourcechange:, security:, v4hook: — 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",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z_]+:[A-Za-z0-9:._-]{1,200}$",
"description": "A typed evidence id, e.g. \"ship:2ac87a66-…\"."
}
},
"required": [
"id"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.mcp-api-answer"
},
"api": {
"type": "string"
},
"data": {}
},
"required": [
"schema",
"api"
],
"additionalProperties": true
}🟢get_contract(address, chainId, slug)
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": {
"address": {
"type": "string",
"pattern": "^0[xX][a-fA-F0-9]{40}$"
},
"chainId": {
"type": "integer",
"description": "Default 4663."
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "A project slug, for all of its contracts."
}
},
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.mcp-api-answer"
},
"api": {
"type": "string"
},
"data": {}
},
"required": [
"schema",
"api"
],
"additionalProperties": true
}🟢research_answer(capability, project, projects, address, days, ...)
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",
"properties": {
"capability": {
"type": "string",
"enum": [
"research_project",
"what_changed",
"builder_status",
"verify_project",
"compare_builders",
"unknowns"
]
},
"project": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"projects": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"minItems": 2,
"maxItems": 4
},
"address": {
"type": "string",
"pattern": "^0[xX][a-fA-F0-9]{40}$"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 30
},
"types": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z_]+\\.[a-z_]+$"
},
"minItems": 1,
"maxItems": 20
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"building": {
"type": "string",
"const": "only"
}
},
"required": [
"capability"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "hey.agent-intelligence-response"
},
"schemaVersion": {
"type": "string",
"const": "1"
},
"capability": {
"type": "string",
"enum": [
"research_project",
"what_changed",
"builder_status",
"verify_project",
"compare_builders",
"unknowns"
]
},
"status": {
"type": "string",
"enum": [
"ok",
"not_found",
"moved",
"invalid_request",
"unavailable"
]
},
"answer": {
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"additionalProperties": true
},
"claims": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"FACT",
"DERIVED",
"UNKNOWN"
]
}
},
"required": [
"id",
"status"
],
"additionalProperties": true
}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": true
}
},
"data": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": true
},
{
"type": "null"
}
]
}
},
"required": [
"schema",
"schemaVersion",
"capability",
"status",
"answer",
"claims",
"evidence",
"data"
],
"additionalProperties": true
}社区
证据