greenwood
Indexes and evaluates games on the Robinhood chain, providing data on playability, team visibility, liquidity, holder spread, and ticker clarity.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@greenwoodwhat's the current score and rank for Senkai on Robinhood Chain?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Greenwood
A game index for Robinhood Chain that ranks the build before it prices the token.
Robinhood Chain (chain id 4663) went live on 1 July 2026. Within weeks it had a gaming layer, and within weeks that layer was mostly tokens. Robinhood's own ecosystem directory has no games category. The one purpose-built hub that existed before this one advertised 42 games, surfaced ten, and displayed hardcoded prices on six of them, including a drained pool shown as the chain's busiest game.
Greenwood asks one question of every title: is this a game, or a ticker with art? It answers from live chain data, with every score carrying its written reason, and it refuses to show a number it cannot verify.
Website: index, per-game screen breakdown, evidence, market and token panels, site liveness.
REST API: the same JSON, with an OpenAPI 3.1 description and a studio economy ingest contract.
MCP server: eight tools and one resource for Claude, Cursor and any MCP client, reading the chain directly.
The screen
Criterion | Weight | Source |
Playable build | 30% | Direct HTTP check of the official site plus hand-verified playability |
Team visibility | 15% | Attested in the registry |
Liquidity depth | 20% | DexScreener best pool |
Holder spread | 15% | Blockscout top-ten share, or estimated from holder count and marked as such |
Ticker clarity | 20% | Registry collision count; capped when no contract is attested |
Bands: sound ≥ 65, watch 45–64, avoid < 45. Pre-launch entries are unscreened. Full rules in docs/METHOD.md and on /method.
Related MCP server: robinscan-mcp
Data rules
Nothing is backfilled. A failed provider leaves the field null and marks the snapshot
partial.Contracts are attested, not matched. A token address enters the registry only when two independent sources agree. This chain carries six Senkai-named and four Thornveil-named ERC-20s.
Liveness is checked directly, one request per listing per refresh.
Every score carries its basis as a sentence next to the number.
Registry edits are dated and the registry is re-swept every four weeks.
Workspace index
Every app and package is listed here and in the documentation index. Purpose lines for @greenwood/core and @greenwood/mcp are their package.json descriptions. @greenwood/web has no description and no package README; its purpose line is the layout sentence this file already used. Status is the package version, and private where set. Run commands are existing scripts. The documentation index records the build steps those scripts expect. Design notes are design.md at the repository root, not a file under docs/.
Path | Package | Purpose | Status | Run |
| Next.js 15 site + /api/v1 route handlers. | Version 0.2.0, private. |
| |
| Registry, chain providers, screen scoring and snapshot assembly for Greenwood, the Robinhood Chain game index. | Version 0.2.0. |
| |
| MCP server for Greenwood: live Robinhood Chain game index, screen scores, token economy and contract resolution for AI agents. | Version 0.2.0. |
|
Studio economy JSON, when present, is stored under data/economy/. Matching *.json files are gitignored.
Quick start
Requires Node 22.12+ and pnpm 10.
pnpm install
cp .env.example .env # optional; defaults use the public RPC and explorer
pnpm sweep # prints what the chain says about every registry entry right now
pnpm dev # http://localhost:3210Production:
pnpm build
pnpm startMCP
pnpm --filter @greenwood/core build && pnpm --filter @greenwood/mcp build
claude mcp add greenwood -- node /absolute/path/to/greenwood/packages/mcp/dist/index.jsSee docs/MCP.md for other clients and the tool list.
API
Base path /api/v1. Read-only, no key, CORS open. Every JSON response carries generatedAt; errors are RFC 7807 problems (application/problem+json).
Method | Path | Returns |
GET |
| Every snapshot, ranked by screen total. |
GET |
| One snapshot: record, market, token, liveness, screen with a |
GET |
| On-chain economy plus stored studio reports and the sink/faucet ratio |
POST |
| Disabled. 503 for every caller, with or without a bearer token |
GET |
| The attested registry, no live data |
GET |
| Ticker collisions |
GET |
| Block, block time, gas, ETH price and provider states |
GET |
| 200 when the RPC answers, 503 when it does not |
GET |
| The OpenAPI 3.1 document |
curl http://localhost:3210/api/v1/games
curl http://localhost:3210/api/v1/games/kindra
curl http://localhost:3210/api/v1/openapi.jsonRanking. The default order is the screen total, so the build is ranked before the token is priced. Games with no total (pre-launch, partial or missing observations) sort last. Under the market orders, a missing pool or holder count also sorts last, never as zero. The rule lives in packages/core/src/rank.ts and is shared by the API and the MCP list tool.
Gaps. A failed provider never becomes a backfilled value. The field is null, sources.<provider>.state is error, partial is true and the total is withheld.
OpenAPI
The document is written in apps/web/lib/openapi.ts, served at /api/v1/openapi.json and committed as docs/openapi.json. After changing a route or a response shape, update lib/openapi.ts and run pnpm openapi:write.
CI and pnpm test check that:
the document is valid OpenAPI 3.1;
every route handler under
apps/web/app/api/v1has a path and method in the document, and every documented operation has a handler (CORSOPTIONShandlers excepted);every example validates against its schema;
every response in the endpoint tests validates against the document, and every documented status code is exercised;
docs/openapi.jsonmatches the source (pnpm openapi:check).
See docs/API.md for field notes and the read-only economy contract.
Environment
Variable | Default | Purpose |
| public Robinhood RPC | Swap for Alchemy/QuickNode in production |
|
| Explorer instance |
|
| Where economy reports are stored |
| unset | Legacy setting; cannot enable ingestion in v0.3 |
|
| Canonical URL, OpenAPI servers |
Adding a game
Edit packages/core/src/registry.ts. Copy an entry, fill evidence with dated observations, leave tokenAddress null until two sources agree, then run pnpm sweep and pnpm test. Never resolve a contract by ticker.
Tests
pnpm test # core, MCP server, API endpoints and OpenAPI contract
pnpm test:ui # market view rulesEverything runs on Node's built-in runner with no network. Provider responses come from fixtures in packages/core/src/testing/. The DexScreener response and the RPC block number were recorded on 2026-10-14. The Blockscout bodies are synthetic, because the explorer answered the recording request with a Cloudflare challenge. The fetch stub fails closed: any request that does not match a fixture fails the test.
Core: registry integrity, ranking, band thresholds and weights, provider failures, and the non-negotiables. A failed provider leaves a visible gap. Every criterion carries a basis under every provider outcome. A name, ticker or address never resolves to a contract.
API (
apps/web/test/): every/api/v1route handler, run in process against the fixtures and validated against the OpenAPI document. The economyPOSTmust refuse a missing, wrong and matching bearer token (a throwaway value generated per run) and write nothing.MCP (
packages/mcp/src/server.test.ts): all eight tools and thegreenwood://registryresource over an in-memory transport.
Local verify
From the repository root, install dependencies and run the same checks as CI:
pnpm install
pnpm --filter @greenwood/core build
pnpm typecheck
pnpm check:links
pnpm test
pnpm test:ui
pnpm openapi:check
pnpm buildBuild the core first on a fresh checkout: the web app and MCP server consume its generated types from dist/. CI then starts the built site and runs pnpm smoke against it.
Independence
Greenwood is independent and not affiliated with Robinhood Markets, Inc., Offchain Labs, DexScreener or any listed project. Nothing here is investment advice. MIT licence.
Improvement sweep
See the implementation plan, method v0.3 and release checklist. Criteria can be null; incomplete totals are withheld. Studio writes are disabled at every boundary. Run pnpm test, pnpm test:ui, pnpm build, then pnpm smoke against a running preview.
This server cannot be deployed
Maintenance
Related MCP Connectors
Token intelligence for Robinhood Chain: onchain and social data on any token, timestamped.
Read Robinhood Chain live: scan a token, trace its deployer, list new launches.
Robinhood Chain intelligence: trend scores, launch radar, KOL leaderboard, pre-trade risk checks.
On-chain honeypot/rug scanner, market data, and launch tools for Robinhood Chain (EVM 4663).
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.45 npmMIT

robinscan-mcpofficial
AlicenseNot gradedqualityDmaintenanceMCP server for querying Robinhood Chain blockchain data, including network stats, transactions, token transfers, and stock prices.2MIT- AlicenseAqualityCmaintenanceA 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.943 npm6-
- AlicenseNot gradedqualityDmaintenanceEnables reading game state and preparing unsigned transactions for The Floor and StonkBrokers games on Robinhood Chain.1MIT