# AI Agent Tokenized Stock OS

> Non-custodial MCP for Stock Tokens on Robinhood Chain (4663): quotes, plans, Morpho Earn.

- name: dev.aatos/aatos
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 76/100 flags: no-repository
- quality: 69/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.aatos%2Faatos
- tools: https://api.protogrid.dev/v1/servers/dev.aatos%2Faatos/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "aatos": {
      "type": "http",
      "url": "https://aatos.dev/mcp",
      "headers": {
        "x-api-key": "${X_API_KEY}"
      }
    }
  }
}
```

Placeholders to fill: `${X_API_KEY}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 65
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-94d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 69/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- warn `tools.annotations`: only 5 of 37 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 5 of 37 tools declare all four hints; missing: stocktoken_fees (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); stocktoken_subscription_tiers (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); stocktoken_access_pricing (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 4,057 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 11 tool changes in 30 days
- fail `stability.rug_pull`: 10 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 37, about 4,057 tokens to load them all
- tool set hash: d968cd24a3f20ce9b5e01c00398792e9
- tools last changed: 2026-09-29T02:03:13.655Z
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.aatos/aatos.svg)](https://protogrid.dev/servers/dev.aatos/aatos)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-29 `stocktoken_explain_routing` changed (description) **meaning changed**
  - before: Explain when to use AI Agent Tokenized Stock OS vs Robinhood official Agentic Trading MCP vs raw Uniswap/0x.
  - after: Start here. Brokerage equities go to Robinhood Trading MCP. Stock Tokens on chain 4663 stay here: stocktoken_list, stocktoken_price, stocktoken_quote, stocktoken_execute_plan.
- 2026-09-29 `stocktoken_find_pools` changed (description) **meaning changed**
  - before: Scan for Uniswap V3 pools between two tokens on chain 4663. Useful when APIs block Stock Tokens.
  - after: Scan Uniswap v3 pool addresses only. This is not a fill check and it does not see v4. For a swap, use stocktoken_quote then stocktoken_execute_plan.
- 2026-09-29 `stocktoken_liquidity_matrix` changed (description) **meaning changed**
  - before: Liquidity / V3-executable route matrix for major USDG pairs on chain 4663. Use to know which Stock Tokens have live AMM fills.
  - after: Liquidity matrix for major USDG pairs on chain 4663. each row reports hookless Uniswap v4 and on-chain v3. eitherExecutable true means at least one of those can fill the sample size. A false row is not every pool on earth: hooked v4 pools are not scanned. If stocktoken_quote.executable is false, do not promise a fill.
- 2026-09-29 `stocktoken_permit2_prepare` changed (description) **meaning changed**
  - before: Prepare Permit2 approve + optional typed data for Uniswap-style flows on chain 4663.
  - after: Optional Permit2 helper. stocktoken_execute_plan already includes the Permit2 approval on a v4 route. Use this only when you are assembling a plan by hand.
- 2026-09-29 `stocktoken_basket_preview` changed (description) **meaning changed**
  - before: Preview AI mega-cap basket constituents and live Chainlink prices (vault scaffold preview).
  - after: Preview basket prices only. This does not swap and it is not a vault deposit. For one Stock Token, use stocktoken_quote then stocktoken_execute_plan.
- 2026-09-29 `stocktoken_execute_plan` changed (description, inputSchema, annotations) **meaning changed**
  - before: Build non-custodial tx plan (approve + swap) via best venue (Uniswap / 0x). Does NOT sign or broadcast. Chain 4663.
  - after: Build an unsigned swap plan on chain 4663. Picks the executable venue with the higher amountOut (v4, v3, 0x, or Uniswap API). Steps are an ETH fee of about 10 bps, token approve, and the swap. v4 also adds a Permit2 approval. Does NOT sign or broadcast. Pro required. The user signs. A v4 plan expires 30 minutes after it is built.
- 2026-09-29 `stocktoken_simulate` changed (description, inputSchema, annotations) **meaning changed**
  - before: Simulate / pre-trade check for a tokenized stock swap on chain 4663: allowlist, policy, multi-venue quote integrity.
  - after: Pre-trade check on chain 4663: allowlist, policy limits, and whether the quote is executable. This is not an eth_call of the swap. Pro required. If executable is false, stop and do not promise a fill.
- 2026-09-29 `stocktoken_quote` changed (description, inputSchema, annotations) **meaning changed**
  - before: AI Agent Tokenized Stock OS multi-venue quote: Uniswap Trading API, then 0x RFQ (Stock Tokens), then Chainlink oracle-indicative. Chain 4663.
  - after: Quote a Stock Token swap on chain 4663. Compares 0x, the Uniswap API, on-chain Uniswap v3, and hookless Uniswap v4, and returns the executable route with the higher amountOut. If none is executable, the result is oracle-indicative and is not a fill. Pro required. Does not sign or broadcast.
- 2026-09-29 `stocktoken_value_holdings` changed (description) **meaning changed**
  - before: Value a wallet's Stock Token / ETF / USDG balances on Robinhood Chain 4663. Use for portfolio analysis of onchain RWA holdings.
  - after: Read balances. This does not quote or swap. For a trade, use stocktoken_quote then stocktoken_execute_plan.
- 2026-09-29 `stocktoken_price` changed (description, inputSchema, annotations) **meaning changed**
  - before: Read USD price and ERC-8056 uiMultiplier for a Robinhood Stock Token on chain 4663. Prefer this over generic price tools for Stock Tokens. Feed price already includes corporate-action multiplier when Chainlink is configured. Not for brokerage stock quotes.
  - after: Read the Chainlink USD price and ERC-8056 uiMultiplier for one registry token on chain 4663. This is not a swap quote and not a brokerage quote. Use stocktoken_quote when you need amountOut.

Full history: https://api.protogrid.dev/v1/servers/dev.aatos%2Faatos/changes

## Remotes

- https://aatos.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (37)

- `stocktoken_access_activate`: After ETH payment to treasury is confirmed, verify and issue API key (shown once).
- `stocktoken_access_checkout`: Build on-chain ETH payment plan for Pro/Team. After user pays, call stocktoken_access_activate.
- `stocktoken_access_pricing`: List Free / Pro / Team pricing (ETH on-chain, no Stripe) and how agents pay for write tools.
- `stocktoken_access_status`: Check paid access for current API key context or a wallet owner.
- `stocktoken_basket_preview`: Preview basket prices only. This does not swap and it is not a vault deposit. For one Stock Token, use stocktoken_quote then stocktoken_execute_plan.
- `stocktoken_execute_plan`: Build an unsigned swap plan on chain 4663. Picks the executable venue with the higher amountOut (v4, v3, 0x, or Uniswap API). Steps are an ETH fee of about 10 bps, token approve, and the swap. v4 also adds a Permit2 approval. Does NOT sign or broadcast. Pro required. The user signs. A v4 plan expires 30 minutes after it is built.
- `stocktoken_explain_routing`: Start here. Brokerage equities go to Robinhood Trading MCP. Stock Tokens on chain 4663 stay here: stocktoken_list, stocktoken_price, stocktoken_quote, stocktoken_execute_plan.
- `stocktoken_fees`: Summarize disclosed AATOS execution fee events and on-chain monetization status (treasury / ETH fees).
- `stocktoken_find_pools`: Scan Uniswap v3 pool addresses only. This is not a fill check and it does not see v4. For a swap, use stocktoken_quote then stocktoken_execute_plan.
- `stocktoken_get`: Get metadata for one canonical Stock Token or core asset by symbol (e.g. NVDA) or contract address on Robinhood Chain 4663. Use to verify a token is official before trading.
- `stocktoken_intent_typed_data`: Build EIP-712 typed data for an agent trade intent (offchain authorization standard). User/wallet signs; onchain verifier later.
- `stocktoken_liquidity_matrix`: Liquidity matrix for major USDG pairs on chain 4663. each row reports hookless Uniswap v4 and on-chain v3. eitherExecutable true means at least one of those can fill the sample size. A false row is not every pool on earth: hooked v4 pools are not scanned. If stocktoken_quote.executable is false, do not promise a fill.
- `stocktoken_list`: List canonical Stock Tokens, ETFs, USDG, and WETH on Robinhood Chain 4663. Use this before trusting any address. Do NOT use for US brokerage equities (use Robinhood Trading MCP). Only registry addresses are real tokenized stocks.
- `stocktoken_metrics`: Operational metrics for this AI Agent Tokenized Stock OS process.
- `stocktoken_morpho_deposit_plan`: Build non-custodial ERC-4626 deposit plan (approve USDG + deposit) into Morpho Steakhouse Earn vault. Does NOT broadcast.
- `stocktoken_morpho_position`: Read a wallet's Morpho Earn (steakUSDG) share balance and underlying USDG on chain 4663.
- `stocktoken_morpho_status`: Morpho / Robinhood Earn status on chain 4663: Steakhouse USDG vault address, live TVL, share price.
- `stocktoken_morpho_withdraw_plan`: Build non-custodial Morpho Earn withdraw (by USDG) or redeem (by shares) plan. Does NOT broadcast.
- `stocktoken_permit2_prepare`: Optional Permit2 helper. stocktoken_execute_plan already includes the Permit2 approval on a v4 route. Use this only when you are assembling a plan by hand.
- `stocktoken_policy_get`: Get current AI Agent Tokenized Stock OS agent policy (max notional, slippage, simulate-first, kill switch).
- `stocktoken_policy_set`: Update session policy guardrails for AI Agent Tokenized Stock OS.
- `stocktoken_price`: Read the Chainlink USD price and ERC-8056 uiMultiplier for one registry token on chain 4663. This is not a swap quote and not a brokerage quote. Use stocktoken_quote when you need amountOut.
- `stocktoken_protocols`: Return Uniswap Universal Router, PoolManager, WETH, USDG, and feed source metadata for Robinhood Chain 4663.
- `stocktoken_quote`: Quote a Stock Token swap on chain 4663. Compares 0x, the Uniswap API, on-chain Uniswap v3, and hookless Uniswap v4, and returns the executable route with the higher amountOut. If none is executable, the result is oracle-indicative and is not a fill. Pro required. Does not sign or broadcast.
- `stocktoken_session_create`: Create a durable agent session with scoped permissions (persisted to DATA_DIR). Non-custodial.
- `stocktoken_session_kill`: Kill an agent session immediately (kill switch).
- `stocktoken_session_list`: List agent sessions, optionally filtered by owner.
- `stocktoken_session_update`: Update limits/permissions on an existing session.
- `stocktoken_simulate`: Pre-trade check on chain 4663: allowlist, policy limits, and whether the quote is executable. This is not an eth_call of the swap. Pro required. If executable is false, stop and do not promise a fill.
- `stocktoken_subscribe_plan`: Build non-custodial ETH subscription plan (tier pro|team, or custom ethAmount). Pays treasury on chain 4663.
- `stocktoken_subscription_status`: Check on-chain subscription status for a wallet (requires SUBSCRIPTION_REGISTRY_ADDRESS when deployed).
- `stocktoken_subscription_tiers`: List AATOS on-chain subscription tiers (paid in ETH to treasury). No Stripe.
- `stocktoken_system_status`: Full system status: secrets, venues, chain, version, session count, fees.
- `stocktoken_tip_assets`: What the AATOS tip wallet can accept: native ETH + any ERC-20 on Robinhood Chain 4663; optional native BTC address if configured.
- `stocktoken_tip_plan`: Build OPTIONAL tip plan. asset=ETH (default) | BTC | registry symbol (USDG,WETH,NVDA,…) | 0x token. amount or ETH preset. User must confirm. Never coerce.
- `stocktoken_tip_presets`: List optional tip presets (ETH) and what assets the tip wallet accepts (ETH, any ERC-20 on 4663, optional native BTC). Tips never required.
- `stocktoken_value_holdings`: Read balances. This does not quote or swap. For a trade, use stocktoken_quote then stocktoken_execute_plan.
