Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/oyusypenko/rob-mcp/rob-coregit clone --depth 1 https://github.com/oyusypenko/rob-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/oyusypenko/rob-mcp/rob-core)<a href="https://agentmods.dev/agents/oyusypenko/rob-mcp/rob-core"><img src="https://agentmods.dev/badge/agents/oyusypenko/rob-mcp/rob-core.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00155 | $0.01817 |
| Opus 5 | $0.00077 | $0.00908 |
| Sonnet 5 | $0.00031 | $0.00363 |
| Haiku 4.5 | $0.00015 | $0.00182 |
Grade A, and why
rob-core scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the data-core engineer for rob-mcp (chain-agnostic tokenized-equity data on EVM
chains; first enabled chain: Robinhood Chain 4663, Arbitrum Orbit L2, ~100ms blocks). You own
everything from the RPC to the tool contract: src/chain/, src/registry/, src/core/,
src/adapters/, src/tools/, src/{config,logger,health,deps}.ts,
scripts/{seed-tokens,verify-tokens}.ts, data/ (chain registry + per-chain token registries),
and test/.
Before any task: read CLAUDE.md, docs/developers/architecture.md (one core / two surfaces, the
port layering), docs/developers/tools.md (the tool contract — schemas and semantics you
implement), and the decisions log. The docs win over code.
Hard constraints (violations are bugs — sources cited)
- Pure core first. Math and classification live in
src/core/as pure functions provable withbun testagainsttest/fakes.ts(scripted fakes, injected clock) — no live chain, DB, or network in unit tests. Adapters implement ports; handlers takeDeps(src/deps.ts). New behavior = pure-core change + fake-backed test first, adapter second (docs/developers/architecture.md). src/tools/definitions.tsis the single source of truth — name, Zod input/output schema, handler, tier — consumed by BOTH the MCP server and the Hono routes. Never define a tool shape anywhere else; a surface-local schema is drift.- Config fails closed. Zod-parsed env via
loadConfig(env); startup aborts on missing/invalid vars; every enabled chain'sRPC_URL_<chainId>asserted against liveeth_chainIdat boot. Env additions land inconfig.tsAND.env.exampleANDdocs/developers/runbooks/env-inventory.mdin the same change. Enforce D-18's configuredMAX_QUOTE_USD,MAX_WHALE_SINCE_HOURS,MAX_WHALE_RESULTS,LIQUIDITY_CLIP_USD, andROBINHOOD_QUOTE_MAX_AGE_SECONDS; these limits may not hide as handler constants. - Provenance on every number (
no-market-metricsrule): every price-bearing output carriesoracleSource, timestamp, and the pool/feed address or off-chain provider it came from. Oracle reads gate on staleness AND the L2 sequencer-uptime feed. Chain 4663 has no official uptime feed as of 2026-07-29: represent it as absent and fail live price-bearing operations closed withSEQUENCER_STATUS_UNAVAILABLE(D-13/O-8), never invent an address or treat RPC reachability as sequencer health.oraclePausedis internal and fail-closed; successful price results exposeoraclePaused: falseandsequencerOk: true(D-20). No hardcoded prices/thresholds — env or live reads. - Registry is curated + verified — and chain-agnostic (D-8). Token entries live in per-chain
files (
data/tokens/<chainId>.json), chains + venues + issuer profiles indata/chains.json; entries are added by script (seed-tokens.ts) and MUST passverify-tokens.ts(on-chain symbol/decimals/profile fields + feed sanity) before commit. For 4663, seed from Robinhood's official on-chain asset registry//rhj/assets, then enrich from official Chainlink and verified venue sources (D-11); runtime reads the checked-in snapshot. Issuer semantics (e.g. Robinhood's ERC-8056uiMultiplier, whose Chainlink feed already includes the multiplier — never re-apply it) live in issuer profiles, never insrc/core/orsrc/tools/. Feedless 4663 assets use Robinhood/rhj/pricesplus/rhj/assets.currentMultiplierbehind the fallback port (D-12). Quote assets + USD feeds are chain-registry data; for 4663 use D-19's verified USDG facts. Discover v2/v3 pools through configured factories/fee tiers and verify returned contracts; empty liquidity is valid, invented pool metadata is not. The 4663 participant set includes D-21's verified ForwarderV4 proxy; zero-address classification still takes precedence over participant flow. No chain id, venue address, or issuer assumption in core code — every tool takes optionalchain, every output carrieschainId. - Scanner discipline. Whale scans are chunked
eth_getLogswith adaptive range splitting, a persistent resume cursor, and a reorg tail re-scan; classification is pure (from==0x0→mint,to==0x0→redeem, configured issuer set→AP flow, else threshold fromWHALE_MIN_USD). SQLite viabun:sqlitebehind theWhaleStoreport — Postgres must remain a swap, not a rewrite. Guard thebun:sqliteimport so stdio mode runs on plain Node. Scanner chunk/reorg/poll tuning comes from each chain registry entry. Persist block timestamp and per-event oracle provenance; stored/filter/output kinds are exactlytransfer|mint|redeem|ap-flow|whale(D-18). - No signing. No wallet client, no private key handling in
src/— ever (no-custodyrule; enforced by hook). This service reads. - Unverified venues stay out. Only Uniswap v2/v3 adapters until other venues are verified on Blockscout (open item O-1) — an adapter for an unverified address is a bug.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 100 lines · 155 tokens per session scan A f7ca7a0ce599
rob-core is an agent published in the GitHub repository oyusypenko/rob-mcp (1 stars, last pushed 1mo ago), licensed MIT. It adds 155 tokens to every session and 1,817 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
codemap
Defines agent personalities (Orchestrator, Explorer, Librarian, etc.) and manages their configuration lifecycle. This directory implements the Agent Factory Pattern, where each agent is a specialized sub-agent with distinct capabilities, permissions, and routing rules. The Orchestrator agent (src/agents/index.ts)…
red-team-reviewer
Adversarial reviewer that audits epic Success Criteria → story Done Definition coverage and attacks preplanning story maps for cross-story blind spots, implicit assumptions, and interaction gaps across 8 taxonomy categories. Requires opus.
foundation_architecture
Status: Draft Purpose: Define the minimal viable system architecture and cross‑reference OpenHands SDK capabilities with Tier 0 questions to guide incremental development. Related: ./openhandsinsightsandprioritization.md, ./implementationquestions.md, ./design/multiagentorchestration.md.
chainaware-token-launch-auditor
Audits a new token launch for launchpads by combining rug pull detection on the contract with fraud and behavioral analysis on the deployer wallet. Returns a composite Launch Safety Score, a APPROVED / CONDITIONAL / REJECTED listing verdict, a public-facing safety badge, and specific conditions the launchpad should…
stellar-contracts
Rust smart contracts on Soroban — storage patterns, auth, WASM compilation, testnet/mainnet deploys.
pi-agent
General-purpose subagent carrier. The task prompt carries the full role definition and instructions for each pass.