Skip to main content
Glama

Server Details

The public record of building on Robinhood Chain — every ship with its source.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.6% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
hey-research-lab/hey-research-open
GitHub Stars
1
Server Listing
HEY Research MCP Server
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation3/5

Most tools have a distinct retrieval role (changes ledger, contract detail, evidence receipt, v4 hook, timeline), but research_answer is a composite that overlaps heavily with get_project_timeline, get_changes, get_contract and explain_fact, so an agent must infer when to use the cited one-shot answer versus the granular tools. Descriptions provide guidance (raw data vs. one cited answer) but the boundary is fuzzy, especially between research_answer's what_changed/builder_status and get_changes/get_project_timeline.

Naming Consistency5/5

All eight tools use snake_case verb_noun or verb_object patterns (explain_fact, find_projects, get_changes, get_contract, get_evidence, get_project_timeline, get_v4_hook, research_answer) with the get_ prefix dominant for retrievals. No camelCase mixing or vague bare verbs.

Tool Count4/5

Eight tools is a well-scoped size for a read-only research/evidence server and each maps to a distinct data surface. The only redundancy is research_answer acting as a synthesized wrapper over several granular tools, which slightly inflates the surface without adding new capability.

Completeness4/5

The surface covers identity lookup, change feed, project timeline with lenses, contract/creator analysis, v4 hooks, evidence receipts and cited answers, giving strong lifecycle coverage for a research domain. Minor gaps: no way to discover or list projects without already knowing a name/ticker/address, and no batch or export operation.

Available Tools

8 tools
explain_factExplain a factA
Read-only
Inspect

Why does HEY say a project is Shipping, Dormant or Still Building, or show a figure? The value, FACT, DERIVED or UNKNOWN, the rule and version, the winning source, the inputs, the lineage and the evidence ids. Omit fact to list what can be explained; source.counted takes a source id. build.change explains one change (event=, or the latest): its stage, who reported it, any exact release↔deployment link, what HEY does not know.

NameRequiredDescriptionDefault
factNoThe fact to explain; omit to list them.
slugYesA project slug, e.g. "agentos".
eventNoWith fact=build.change: a change-ledger id; omit for the latest.
sourceNoWith fact=source.counted: the source id.

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool read-only and open-world; the description adds meaningful behavioral detail about what is returned, including derived vs unknown values, winning source, rule version, lineage, and evidence ids, and notes what HEY does not know for build.change. It does not cover permissions, rate limits, or pagination, but those are secondary given the annotations and output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the user-facing question and then output and mode details; no filler. The dense fragments and question format are slightly less direct than a plain verb-first statement, but the description remains compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter read-only provenance tool with complete input schema coverage and an output schema, the description covers purpose, output shape, list mode, and conditional parameters. It could be stronger by routing among sibling tools, but nothing essential to invoking it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter already has a description, so the description's parameter guidance is mostly reinforcement. It adds cross-parameter context for source.counted and build.change but does not give syntax beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('explain') and resource ('fact') and details the output components such as value, derivation, rule/version, winning source, lineage, and evidence ids. It clearly distinguishes listing facts from explaining a specific fact, but does not explicitly differentiate itself from sibling evidence or change tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides conditional usage for optional parameters: omit fact to list what can be explained, source.counted takes a source id, and build.change explains one change via event id or the latest. It does not say when to prefer this tool over get_evidence, get_changes, or other siblings, leaving alternative selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_projectsFind a Robinhood Chain projectA
Read-only
Inspect

Which Robinhood Chain project is this name, $TICKER or 0x contract? Identity only (name, ticker, contract, slug), at most eight rows; give the slug to research_answer. 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.

NameRequiredDescriptionDefault
queryYesName, $TICKER, slug or 0x contract; q also works.

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real behavioral detail beyond that: results are capped at eight rows, output is identity-only, and a full 0x address changes the response to activity status, 30-day ship records, last ship with source, and whether the project names the contract. It does not describe no-match or ambiguity behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the identity question and then the scope/cap and the 0x-mode behavior. No filler, but the phrasing is compact to the point of being terse ('give the slug to research_answer'), which costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, yet the description usefully summarizes both response modes and the row cap. Gaps remain around fuzzy matching, result ordering, and empty-result handling, but for a single-parameter lookup tool it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With one parameter at 100% schema coverage, the baseline is 3; the description exceeds it by explaining that a full 0x address produces a materially different answer shape than a name/ticker query. It adds semantic meaning the schema does not convey, though it never defines what counts as a 'full' address.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description frames the tool as resolving a name/$TICKER/0x contract to a Robinhood Chain project identity, listing the exact return fields (name, ticker, contract, slug). This is specific enough that an agent can tell it apart from get_project_timeline or research_answer, though it opens with a question rather than a verb, which makes the core action slightly less immediate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear downstream routing instruction ('give the slug to research_answer') and describes a distinct usage mode for full 0x addresses. It stops short of stating when NOT to use it (e.g., for contract data, use get_contract), so it is strong context without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_changesWhat changed on Robinhood ChainA
Read-only
Inspect

What changed on Robinhood Chain today or this week, or for one project or contract? The change ledger without market readings: releases, ships, status moves, contract deploys and upgrades, verification, sources, unlocks — one event per change with its own time and precision, when HEY first knew, and its evidence. Newest first by first arrival; for today pass detectedSince; to sync, pass after=c1.0 and keep each cursor. A retraction means HEY no longer makes that claim. Facts, never causes.

NameRequiredDescriptionDefault
typeNoKeep only these event types.
afterNoSync forward from this cursor (c1.0 is the start).
limitNoDefault 30.
sinceNoISO date: events whose own time is at or after it (events with no source time are left out).
untilNoISO date: events whose own time is before it.
beforeNoBrowse older than this cursor.
domainNoKeep only these domains.
projectNoA project slug.
contractNo<chainId>:<address>.
detectedSinceNoISO instant: start a sync at the first event HEY recorded at or after it.

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, but the description adds real behavior: results are 'newest first by first arrival', 'one event per change with its own time and precision, when HEY first knew', and that a retraction means the claim is withdrawn. It also states the epistemics ('Facts, never causes'). Missing are rate limits or error behavior, but the added semantics go well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scoping question is front-loaded before the ledger definition and cursor instructions, and the phrasing is dense but purposeful. A few fragments ('Facts, never causes.') and the em-dash list are stylistic load rather than wasted space, though they slightly slow comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, zero-required read tool with an output schema, the description covers scope, ordering, cursor/sync protocol, and retraction semantics, which is what an agent needs to call it correctly. It leaves the query-mode selection (since vs detectedSince vs after) partially inferable rather than fully spelled out, keeping it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage the baseline is 3, but the description earns more by explaining the ordering model ('newest first by first arrival') that governs the after/before cursors and by clarifying the distinction between an event's own time and 'when HEY first knew it' (since vs detectedSince). That resolves the trickiest ambiguity in the parameter set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a concrete question ('What changed on Robinhood Chain today or this week, or for one project or contract?') and defines the resource as a 'change ledger' enumerating releases, ships, status moves, deploys, verification, sources and unlocks. 'Without market readings' carves out scope, but no sibling tool (get_project_timeline, get_evidence, explain_fact) is named for contrast, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear invocational guidance is given: 'for today pass detectedSince; to sync, pass after=c1.0 and keep each cursor', which tells the agent exactly which mode to pick. There is no explicit when-not guidance or routing to alternatives like get_project_timeline for the same project view, so it stops short of full alternative coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contractWho made this contractA
Read-only
Inspect

Who made this Robinhood Chain contract, and is it a known project's? Project, creation, deployer (the only account named, with a count of other tracked projects' tokens it deployed), published source code and whose code it is (template, bytecode match or its own), Sourcify's answer, proxy and implementation history, interface changes, 7 days of calls per method (counts, names withheld; a selector's signature candidate — a guess, never a name). Address (chainId default 4663) or slug for all of a project's. An unread proxy is "not read", never "not a proxy". Not a safety verdict.

NameRequiredDescriptionDefault
slugNoA project slug, for all of its contracts.
addressNoA 0x contract address; or give slug.
chainIdNoDefault 4663.

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint/openWorldHint, the description discloses real behavioral quirks: an unread proxy is reported as 'not read' rather than 'not a proxy', method names are withheld and selector signatures are explicitly guesses, and it disclaims being a safety verdict. These are exactly the kind of data-caveats an agent needs and cannot get from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The lead question is front-loaded well, but the body is a dense comma-spliced list that is hard to parse, and much of it re-enumerates return fields already covered by the output schema. It is information-rich but not efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the return enumeration is partly redundant, but the description still covers inputs, key interpretive caveats, and the limits of the data. The main gap is routing guidance relative to the seven sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so address/slug/chainId are already fully documented, and the description largely restates them (chainId default 4663, slug returns all of a project's contracts). It adds no format or constraint detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening question ('Who made this Robinhood Chain contract, and is it a known project's?') plus the enumerated outputs (deployer, source provenance, Sourcify answer, proxy history, method call counts) make the retrieval target unambiguous. It does not, however, distinguish itself from siblings like get_evidence or get_project_timeline, which could plausibly overlap with provenance and history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the field list; there is no explicit 'use this when' or named alternative. The closing 'Not a safety verdict' functions as a when-not hint, steering agents away from treating it as an audit tool, but no positive selection criteria are offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_evidenceOpen evidenceA
Read-only
Inspect

What backs this claim? Open the record a HEY answer cited by its typed id — ship:, signal:, abi:, impl:, lock:, source:, claim:, state:, narrative:, method:, sourcechange:, security:, v4hook:, v4pool:, ponsgrad: — as a receipt: what it claims, its source URL, when it happened at what precision, when HEY knew, how it is backed. A withdrawn record says so.

NameRequiredDescriptionDefault
idYesA typed evidence id, e.g. "ship:2ac87a66-…".

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuine behavioral context beyond that: what fields the returned receipt contains (claims, source URL, timing precision, when HEY knew, backing) and that withdrawn records are explicitly flagged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The motivating question is front-loaded and the payload description is dense but single-pass. The long inline prefix list is necessary information but makes the single sentence heavy; a small structural break would help without losing content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with a full output schema and readOnly/openWorld annotations, the description covers purpose, valid input types, returned fields, and the withdrawn-record edge case. An agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already shows the id pattern, so baseline is 3. The description goes further by enumerating the valid typed prefixes (ship:, signal:, abi:, claim:, etc.), which the schema's generic pattern does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Open the record') and resource (a typed evidence id cited by a HEY answer), then enumerates the exact id prefixes accepted. An agent can distinguish it from siblings like explain_fact or get_contract without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The opening question 'What backs this claim?' gives a clear trigger condition for use, and the receipt framing implies verification/provenance workflows. It does not name an alternative tool or state when not to use it, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_timelineWhat a project shippedA
Read-only
Inspect

What did this project ship, and when? Builds, releases, code, contract deploys, upgrades and interface changes, token verification, locks and unlocks, each with how precisely HEY knows its time. Lenses: build (default), code, onchain, locks. Paged with the before cursor.

NameRequiredDescriptionDefault
lensNoDefault build.
slugYesA project slug, e.g. "agentos".
limitNoDefault 30.
beforeNoThe cursor the previous answer gave.

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, and the description adds real context beyond them: the event taxonomy returned, the fact that each event carries a timestamp-precision signal ('how precisely HEY knows its time'), and that results are cursor-paged via 'before'. It stops short of describing ordering direction or what an empty page means.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded as a question that frames intent, followed by one dense but purposeful sentence on event coverage and lenses, then the paging note. Every clause carries information, though the long run-on enumeration is slightly harder to scan than a short list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and annotations cover the safety profile; the description fills in the event taxonomy and paging model that the schema does not. The main residual gap is routing guidance among the several sibling read tools, but nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all four parameters are already documented, including defaults for lens and limit and the cursor meaning for before, so the baseline applies. The description only restates the lens set and the cursor paging, adding no syntax or semantic detail the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening question 'What did this project ship, and when?' plus the enumeration of event types (builds, releases, code, contract deploys, upgrades, locks/unlocks) makes the resource and returned content specific. It does not name or exclude a sibling such as get_changes or get_evidence, so an agent cannot fully distinguish overlapping read tools from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It notes 'Lenses: build (default), code, onchain, locks', which implies which lens to pick for which interest, and states paging behavior. However, there is no explicit when-to-use guidance versus get_changes, get_evidence, or explain_fact, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_v4_hookUniswap v4 hookB
Read-only
Inspect

Who built this Robinhood Chain Uniswap v4 hook? The project HEY ties it to and why (named only while listed; never a creator account), declared callbacks (not a safety verdict), source, hooklist entry, pools by week and unknowns.

NameRequiredDescriptionDefault
addressYesThe hook's 0x contract address.

Output Schema

NameRequiredDescription
apiYes
dataNo
schemaYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description does add genuine behavioral caveats beyond the annotations: project attribution is reported only while listed and never resolves to a creator account, and declared callbacks are explicitly 'not a safety verdict'. However, it says nothing about lookup failure behavior or what 'unknowns' means operationally, so the added context is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single compact sentence with no filler, and the resource is front-loaded. But the sentence is overloaded with stacked parentheticals and a trailing 'and unknowns', which makes the returned fields harder to parse on first read than a short enumerated list would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required address parameter), an output schema exists so return shape needn't be explained, and annotations cover the read-only profile. The description supplies the attribution caveats an agent would otherwise get wrong (listed-only naming, callbacks not being a safety judgment), leaving only sibling routing as a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter 'address' is fully documented with a pattern in the schema, so the description carries no additional burden. It does not add format or disambiguation detail (e.g., which chain to assume), so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the concrete resource (a Uniswap v4 hook on Robinhood Chain, keyed by address) and enumerates what is returned: builder/project attribution, declared callbacks, source, hooklist entry, and pools by week. An agent can tell this is a provenance/attribution lookup rather than a generic contract fetch, though the interrogative phrasing ('Who built this...?') leaves the verb implicit and no sibling is named for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no routing to alternatives such as get_contract or find_projects. The only conditional language ('named only while listed; never a creator account') constrains what the output will contain, not when to call the tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_answerResearch a Robinhood Chain projectA
Read-only
Inspect

Is this Robinhood Chain project still being built, what did it ship, what changed, is this contract its own? One cited answer. capability: research_project or builder_status (q: a name or $TICKER, or address, or project: a slug; a shared name lists candidates); what_changed (project or chain, 1–30 days); verify_project (address, project?); compare_builders (2–4, no winner); unknowns (every coverage state). Claims FACT/DERIVED/UNKNOWN with evidence ids; not_found is a status, not isError. Not price advice or a safety verdict.

NameRequiredDescriptionDefault
qNoA name or $TICKER; a shared name lists candidates, never a guess.
daysNowhat_changed: default 7.
limitNowhat_changed: events shown, default 25; the total is the whole window.
typesNowhat_changed: change types to keep, e.g. build.release.
detailNoDefault summary text; full text; compact drops the capability data from the JSON.
addressNoA 0x contract address on Robinhood Chain.
projectNoA project slug.
buildingNowhat_changed: only events that count as building.
projectsNocompare_builders: 2 to 4 slugs.
capabilityYesWhich answer; each takes the arguments the tool description names.

Output Schema

NameRequiredDescription
dataNo
answerYes
claimsYes
schemaYes
statusYes
evidenceYes
capabilityYes
schemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuinely non-obvious behavior: claims are labeled FACT/DERIVED/UNKNOWN with evidence ids, and 'not_found is a status, not isError', which tells the agent how to interpret an empty result rather than treating it as a failure. It also notes that a shared name lists candidates 'never a guess', and that `detail` controls whether capability data is dropped from the JSON.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the questions it answers, then capability/argument pairs, then behavior and exclusions — a sensible order with no filler sentences. The telegraphic style ('q: a name or $TICKER, or address, or project: a slug') is dense to the point of being slightly cryptic on first read, but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, 7-capability tool with an output schema, the description covers the capability routing, the claim taxonomy, error semantics, and scope exclusions, which is most of what an agent needs. The remaining gap is cross-tool routing against its many overlapping siblings, which is not addressed at all.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot express: which capability consumes which argument, the 1–30 day window for what_changed, and the 2–4 / 'no winner' constraint on compare_builders. The capability-to-argument coupling is the key missing piece in the flat schema and the description supplies it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with concrete research questions ('is this project still being built, what did it ship, what changed, is this contract its own') and promises 'One cited answer', which pins down both the verb and the deliverable. It also enumerates the capability modes (research_project, what_changed, verify_project, compare_builders, unknowns) so the tool's scope is legible. What it lacks is explicit differentiation from siblings like find_projects, get_changes, and get_evidence, which cover overlapping ground.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It maps each capability to its required arguments ('what_changed (project or chain, 1–30 days)', 'compare_builders (2–4, no winner)'), which is useful internal routing, and states exclusions ('Not price advice or a safety verdict'). However, it never says when to use this tool instead of the seven siblings, and the overlaps are severe — `what_changed` vs `get_changes`, `research_project` vs `find_projects`, cited claims vs `get_evidence`. Usage is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedresearch_answer1 field changed
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "ok",
        -  "not_found",
        -  "moved",
        -  "invalid_request",
        -  "unavailable"
        -]New value: +[
        +  "ok",
        +  "ambiguous",
        +  "not_found",
        +  "moved",
        +  "invalid_request",
        +  "unavailable"
        +]
  2. 6 tool updates
    • Changedexplain_fact1 field changed
      • addedInput schema / properties / fact / description
        Added value: +"The fact to explain; omit to list them."
    • Changedget_changes3 fields changed
      • addedInput schema / properties / domain / description
        Added value: +"Keep only these domains."
      • addedInput schema / properties / type / description
        Added value: +"Keep only these event types."
      • addedInput schema / properties / until / description
        Added value: +"ISO date: events whose own time is before it."
    • Changedget_contract1 field changed
      • addedInput schema / properties / address / description
        Added value: +"A 0x contract address; or give slug."
    • Changedget_project_timeline1 field changed
      • addedInput schema / properties / lens / description
        Added value: +"Default build."
    • Changedget_v4_hook1 field changed
      • addedInput schema / properties / address / description
        Added value: +"The hook's 0x contract address."
    • Changedresearch_answer10 fields changed
      • addedInput schema / properties / address / description
        Added value: +"A 0x contract address on Robinhood Chain."
      • addedInput schema / properties / building / description
        Added value: +"what_changed: only events that count as building."
      • addedInput schema / properties / capability / description
        Added value: +"Which answer; each takes the arguments the tool description names."
      • addedInput schema / properties / days / description
        Added value: +"what_changed: default 7."
      • addedInput schema / properties / detail / description
        Added value: +"Default summary text; full text; compact drops the capability data from the JSON."
      • addedInput schema / properties / limit / description
        Added value: +"what_changed: events shown, default 25; the total is the whole window."
      • addedInput schema / properties / project / description
        Added value: +"A project slug."
      • addedInput schema / properties / projects / description
        Added value: +"compare_builders: 2 to 4 slugs."
      • addedInput schema / properties / q / description
        Added value: +"A name or $TICKER; a shared name lists candidates, never a guess."
      • addedInput schema / properties / types / description
        Added value: +"what_changed: change types to keep, e.g. build.release."
  3. 1 tool update
    • Changedexplain_fact2 fields changed
      • addedInput schema / properties / event
        Added value: +{
        +  "description": "With fact=build.change: a change-ledger id; omit for the latest.",
        +  "maxLength": 240,
        +  "type": "string"
        +}
      • changedInput schema / properties / fact / enum
        Previous value: -[
        -  "activity.status",
        -  "build.momentum",
        -  "still_building",
        -  "research.level",
        -  "token.verification",
        -  "source.counted"
        -]New value: +[
        +  "activity.status",
        +  "build.momentum",
        +  "still_building",
        +  "research.level",
        +  "token.verification",
        +  "source.counted",
        +  "build.change"
        +]
  4. 1 tool update
    • Changedresearch_answer4 fields changed
      • changedInput schema / properties / capability / enum
        Previous value: -[
        -  "research_project",
        -  "what_changed",
        -  "builder_status",
        -  "verify_project",
        -  "compare_builders",
        -  "unknowns"
        -]New value: +[
        +  "research_project",
        +  "what_changed",
        +  "builder_status",
        +  "verify_project",
        +  "compare_builders",
        +  "unknowns",
        +  "chain_brief"
        +]
      • changedInput schema / properties / detail / enum
        Previous value: -[
        -  "summary",
        -  "full"
        -]New value: +[
        +  "summary",
        +  "full",
        +  "compact"
        +]
      • changedOutput schema / properties / capability / enum
        Previous value: -[
        -  "research_project",
        -  "what_changed",
        -  "builder_status",
        -  "verify_project",
        -  "compare_builders",
        -  "unknowns"
        -]New value: +[
        +  "research_project",
        +  "what_changed",
        +  "builder_status",
        +  "verify_project",
        +  "compare_builders",
        +  "unknowns",
        +  "chain_brief"
        +]
      • changedOutput schema / required
        Previous value: -[
        -  "schema",
        -  "schemaVersion",
        -  "capability",
        -  "status",
        -  "answer",
        -  "claims",
        -  "evidence",
        -  "data"
        -]New value: +[
        +  "schema",
        +  "schemaVersion",
        +  "capability",
        +  "status",
        +  "answer",
        +  "claims",
        +  "evidence"
        +]
  5. 1 tool update
    • Changedfind_projects1 field changed
      • changedInput schema / properties / query / description
        Previous value: -"Name, $TICKER, slug or 0x contract."New value: +"Name, $TICKER, slug or 0x contract; q also works."
  6. 1 tool update
    • Changedget_changes1 field changed
      • changedInput schema / properties / type / items / enum
        Previous value: -[
        -  "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"
        -]New value: +[
        +  "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",
        +  "contract.v4_pool_initialized",
        +  "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"
        +]
  7. 1 tool update
    • Changedresearch_answer2 fields changed
      • addedInput schema / properties / detail
        Added value: +{
        +  "enum": [
        +    "summary",
        +    "full"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / q
        Added value: +{
        +  "maxLength": 64,
        +  "minLength": 2,
        +  "type": "string"
        +}
  8. 1 tool update
    • Changedfind_projects1 field changed
      • changedInput schema / properties / query / description
        Previous value: -"Name, ticker, slug or 0x contract."New value: +"Name, $TICKER, slug or 0x contract."
  9. 1 tool update
    • Addedget_v4_hook

Publisher details

Operator
HEY Research Lab · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Not available
Restrictions
None. Free, no key and no sign-up. Fair-use rate limits apply. · Publisher source

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    A zero-config data server for read-only queries on Robinhood Chain (stock tokens, memecoins, launches, chain stats) and an opt-in trading server with spend caps and confirm gates for executing swaps and transfers.
    9
    59 npm
    8
    -
  • A
    license
    A
    quality
    B
    maintenance
    Robinhood Chain safety checks for trading agents: check a coin before buying (who is behind it, bundles, dev record, LP), check a transaction or x402 payment before signing (ALLOW / WARN / BLOCK), ERC-8004 agents, Uniswap v4 hooks and Stock Token data. Read-only, free tier, no key.
    24
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables agents to query live Robinhood Chain data including tokens, wallets, Chainlink feeds, heat scores, and tracking error on tokenized equities, all read-only without API keys.
    4
    11 npm
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Provides read-only access and unsigned transaction building for the Robinhood Chain Arbitrum Orbit L2, including NFT, ERC-20, stock tokens, oracles, and EIP-3009 tooling.
    100
    17 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.