{
  "markdown": "# Tychi MCP (`@tychilabs/tyi-mcp`)\n\n[![npm](https://img.shields.io/npm/v/@tychilabs/tyi-mcp?label=npm&tag=beta)](https://www.npmjs.com/package/@tychilabs/tyi-mcp)\n[![beta](https://img.shields.io/badge/status-v1.0%20beta-orange)](https://www.npmjs.com/package/@tychilabs/tyi-mcp)\n[![node](https://img.shields.io/badge/node-%3E%3D18-339933?logo=node.js&logoColor=white)](https://nodejs.org)\n[![mcp](https://img.shields.io/badge/MCP-stdio-8b5cf6)](https://modelcontextprotocol.io)\n[![chain](https://img.shields.io/badge/chain-Arbitrum-28A0F0?logo=arbitrum&logoColor=white)](https://arbitrum.io)\n[![custody](https://img.shields.io/badge/custody-self--custody-2b8a3e)](https://tychilabs.com)\n[![website](https://img.shields.io/badge/website-tychilabs.com-blue)](https://tychilabs.com)\n[![license](https://img.shields.io/badge/license-Apache--2.0-blue)](https://opensource.org/licenses/Apache-2.0)\n\n**Give your AI agent a wallet — onboard, hold funds, send, and pay under policy.**\n\nAgent-native MCP server (stdio) for Cursor and other hosts. Nine tools: routing (`tyi_route`), readiness (`tyi_status`), onboarding, fast wallet lifecycle (`create` / `import` / `switch`), and `tyi_chat` for balances, sends, and policy-gated payments on **Arbitrum One**. Private keys encrypted in `~/.tyi` on the operator machine; **signing never leaves the device**. Hosted Tychi brain parses intent and runs the LLM — configure `TYCHI_BRAIN_URL` (HTTPS recommended; see [SECURITY.md](./SECURITY.md)).\n\n**Agents →** `@tychilabs/tyi-mcp@1.0.0-beta.8` · **Humans →** [`@tychilabs/tyi`](https://www.npmjs.com/package/@tychilabs/tyi)\n\n![Tychi agent wallet architecture](https://unpkg.com/@tychilabs/tyi-mcp@beta/architecture.png)\n\n---\n\n## What it does\n\n- **Agent routing** — `tyi_route` maps intent → correct tool (avoids slow misuse of `tyi_chat`)\n- **Readiness gate** — `tyi_status` checks mode before any wallet action\n- **Onboarding** — `tyi_onboard` + `tyi_onboard_schema` for first-time setup (password, LLM provider, API key)\n- **Wallet lifecycle** — `tyi_create_wallet`, `tyi_import_wallet`, `tyi_switch_wallet` (fast, no brain loop)\n- **Agent chat** — `tyi_chat` for balances, sends, transfers, payments, policy, limits, history\n- **Multi-wallet** — create, import, switch active wallet from one keystore\n- **Policy caps** — spend limits enforced before signing\n- **Local signing** — private keys in memory on operator machine only\n- **Gasless routing** — UGF payment rails for cross-chain gas settlement\n- **Audit log** — local activity trail in `~/.tyi`\n- **Reset** — `tyi_reset` wipes local data when operator confirms\n\n**Beta ships on Arbitrum One** (chain id `42161`) — EVM balances, sends, and UGF gasless payments. More chains in registry; Solana/Sui import supported.\n\n---\n\n## Arbitrum One\n\nOnchain agent wallet on **Arbitrum One** — self-custody, local signing, UGF gas routing today:\n\n| Roadmap | What it unlocks |\n|---------|-----------------|\n| **Automation** | Policy-gated agents — recurring sends, triggers, scheduled flows |\n| **Trading** | Spot swaps across Arbitrum liquidity — agent quotes, operator confirms |\n| **Lending** | Supply on Arbitrum money markets — yield without leaving keystore |\n| **Borrowing** | Collateralized borrow — cap-enforced, fully self-custodial |\n\n---\n\n## Agent flow (mandatory)\n\n```\ntyi_route → tyi_status\n  → direct tool (onboard / create / import / switch / reset)   ← FAST\n  → tyi_chat (balance / send / pay / policy only)              ← SLOW\n```\n\nNever call `tyi_chat` when `tyi_status.ready` is false.\n\nImport seed or private key → `tyi_import_wallet` only (never via `tyi_chat`).\n\n---\n\n## Tools\n\n| Tool | Use when |\n|------|----------|\n| `tyi_route` | **First** — intent → tool map |\n| `tyi_status` | Session start — ready? what's missing? |\n| `tyi_onboard_schema` | Field schema before onboard |\n| `tyi_onboard` | First setup or LLM-only setup |\n| `tyi_create_wallet` | New wallet by name |\n| `tyi_import_wallet` | Import mnemonic or privkey (EVM / Solana / Sui) |\n| `tyi_switch_wallet` | Change active wallet |\n| `tyi_reset` | Wipe `~/.tyi` (`confirm: true`) |\n| `tyi_chat` | Balance, send, pay, transfer, policy, limits |\n\n---\n\n## Install\n\nPin the release (do not use floating `@beta` in production):\n\n```bash\nnpx @tychilabs/tyi-mcp@1.0.0-beta.8\nnpx @tychilabs/tyi-mcp@1.0.0-beta.8 --tools\n```\n\n---\n\n## Security\n\nSee **[SECURITY.md](./SECURITY.md)** — trust model, brain transport (HTTP beta endpoint), sensitive tools, supply-chain pinning. No install scripts.\n\n---\n\n## MCP host config\n\nRepo includes [`.mcp.json`](./.mcp.json) (Open Plugins) for Cursor Directory. Set **`TYI_PASSWORD`** and **`TYCHI_BRAIN_URL`** in host env (HTTPS brain recommended).\n\n```json\n{\n  \"mcpServers\": {\n    \"tychi\": {\n      \"command\": \"npx\",\n      \"args\": [\"@tychilabs/tyi-mcp@1.0.0-beta.8\"],\n      \"env\": {\n        \"TYI_PASSWORD\": \"<from tyi_onboard>\",\n        \"TYCHI_BRAIN_URL\": \"<https brain URL — required>\"\n      }\n    }\n  }\n}\n```\n\nBeta default if unset in code: `http://hosted_brain.tychilabs.com` — use HTTPS self-host or trusted network only.\n\nOpenClaw:\n\n```bash\nopenclaw mcp set tychi '{\"command\":\"npx\",\"args\":[\"@tychilabs/tyi-mcp@1.0.0-beta.8\"],\"env\":{\"TYI_PASSWORD\":\"<password>\",\"TYCHI_BRAIN_URL\":\"<https brain URL>\"}}'\nopenclaw mcp reload\n```\n\n---\n\n## Onboarding modes\n\n| Mode | Meaning |\n|------|---------|\n| `fresh` | No wallet — run `tyi_onboard` |\n| `llm_only` | Wallet exists, no LLM key — onboard LLM fields only |\n| `ready` | OK for `tyi_chat` |\n\n**Operator provides (never invent):** keystore password, LLM provider + API key, optional mnemonic for import.\n\nPrefer MCP `env` for `TYI_PASSWORD` over chat after onboard.\n\n| Field | Prompt |\n|-------|--------|\n| `password` | Keystore password for `~/.tyi` → later `TYI_PASSWORD` in MCP env |\n| `agent_name` | Agent name (default `Tychi`) |\n| `llm_provider` | `anthropic` \\| `gemini` \\| `openai` \\| `groq` |\n| `llm_api_key` | Provider API key (validated, stored encrypted on brain) |\n| `mnemonic` | Optional import (fresh only) |\n\n---\n\n## Remove integration + data\n\n1. `tyi_reset` with `{ \"confirm\": true }` — wipes `~/.tyi`\n2. Remove `TYI_PASSWORD` from MCP env\n3. OpenClaw: `openclaw mcp unset tychi` then `openclaw mcp reload`\n\n---\n\n## Errors\n\n| Symptom | Action |\n|---------|--------|\n| `not_ready` on chat | Run onboard flow |\n| `TYI_PASSWORD env required` | Set env after onboard; reload host |\n| `no_llm_key` / missing `llm_key` | `tyi_onboard` llm_only |\n| `partial install` | `tyi_reset` then fresh onboard |\n| `fetch failed` on brain | Set `TYCHI_BRAIN_URL` explicitly; use HTTPS self-host or beta `http://hosted_brain.tychilabs.com` |\n\n---\n\n## Environment\n\n| Variable | Required | Default |\n|----------|----------|---------|\n| `TYI_PASSWORD` | After onboard | — |\n| `TYCHI_BRAIN_URL` | Recommended | `http://hosted_brain.tychilabs.com` (beta; prefer HTTPS override) |\n| `TYI_DATA_DIR` | No | `~/.tyi` |\n| `KEYSTORE_PASSWORD` | Alias | same as `TYI_PASSWORD` |\n\n---\n\n## Links\n\n- Website: https://tychilabs.com\n- npm: https://www.npmjs.com/package/@tychilabs/tyi-mcp\n- GitHub: https://github.com/TychiWallet/tyi-mcp\n- Human CLI: https://www.npmjs.com/package/@tychilabs/tyi\n\n---\n\n## License\n\nApache License 2.0 — see [LICENSE](./LICENSE). Runtime dependency: `@tychilabs/tyi`.\n",
  "bytes": 7273,
  "sha": "af2348c31379e76d4d45d7cf8844ce956e1bb2504a9294521b08b80f8aa5da85",
  "repo_slug": "tychiwallet/tyi-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_tychiwallet_tyi_mcp_472aa0b8/readme"
}