Interfaces
StockSync MCP server
stocksync-mcp gives AI agents read-only access to Robinhood Chain Stock Token data over the
Model Context Protocol. It serves the same StockSync Core results
as the CLI and SDK.
It cannot sign, transfer, approve, or trade, and it holds no keys. Every tool is annotated
readOnlyHint: true, destructiveHint: false. Nothing it returns is investment advice.
Connect a client
The server speaks MCP over stdio. Use an absolute path to the built file.
Claude Code
Clients configured with an mcpServers file (Claude Desktop, Cursor, and others):
During development, node packages/mcp/src/bin.ts runs the TypeScript source directly on Node.js 24.
Tools
Tools that take chain accept "mainnet" (4663) or "testnet" (46630) and default to
STOCKSYNC_CHAIN.
Results
Every tool declares an output schema. A result carries structuredContent and the same JSON as a
text block for clients that do not read structured content.
freshness.stateisfresh,stale, orunknown.staleFallback: truemeans the upstream failed and older cached data was served.warningslists non-fatal issues such as an unavailable section, a multiplier mismatch, or a price feed past its heartbeat.- A lookup that finds nothing is a normal result (
found: false), not an error.
Canonical status
Only verify_stock_token (and the verification section of inspect_stock_token) establishes
canonical status, and only from the Robinhood Stock Token registry. A not-canonical result means
StockSync cannot confirm the contract; the explanation field says so, and it is not evidence that
the contract is malicious. Search matches never imply canonical status.
Price semantics
Errors
Failures return isError: true with a text message and structured content the agent can act on:
Use retryable rather than the code to decide whether to try again.
Malformed arguments (for example an address that is not 40 hex characters, both symbol and
address, or an unknown argument name such as include_oracle) return an Input validation error
result before any upstream is called. Error messages
never include upstream URLs or configured RPC endpoints.
Environment
The server reads the same variables as StockSync Core:
An invalid value stops the server at startup with exit code 5 and the variable name on stderr. stdout carries only MCP protocol messages.