Noel Shell
Native tool calling from the webapp chat. Available at app.noelclaw.com since
@noelclaw/mcp@3.43.1.
Overview
Noel Shell bridges the gap between conversation and action. When you chat with an agent in the Noelclaw webapp, the chat doesn't just answer questions — it can call tools to spawn agents, save to your vault, search memory, create automations, estimate and execute swaps, list agents, and check wallet balances.
This means a single natural-language message can trigger real work: creating a DCA, saving research, recalling what you know, spawning a background agent, or executing a real swap on Base — without leaving the chat.
Shell Tools
spawn_agent
Spawn a persistent named agent with a goal
"Start an agent to monitor DeFi yields"
save_to_vault
Save content to the vault with auto-versioning
"Save this analysis to my vault"
search_memory
Semantic search across accumulated memories
"What do I already know about ETH?"
create_automation
Create DCA, price alert, or conditional automation
"Set up a DCA buying $50 of ETH every day"
estimate_swap
Preview a swap — expected output and price impact
"How much USDC do I need for 0.5 ETH?"
execute_swap
Execute a swap on Base mainnet after user confirms. Requires confirmed=true. Returns tx hash + Basescan link.
"Yes, confirm the swap"
list_agents
List all available specialist agents
"Show me my active agents"
get_wallet_balance
Check live wallet balance on Base with USD pricing
"What's my Base balance?"
7 Agents
Each agent has its own persona, model routing, and tool access. The chat routes your message to the right agent based on context, or you can switch agents manually.
Noel
Crypto analysis and DeFi
crypto
CoinGecko
Live crypto market data
crypto
Sage
Research and analysis
analysis
Forge
Developer and code
developer
Quill
Creative writing and content
creative
Spectre
Trading and execution
trading
Atlas
General-purpose
general
Crypto-category agents (Noel, CoinGecko) get live market data injected into their context and have trade-related suggestions available.
Architecture
Multi-Provider Chat
Chat requests flow through a provider cascade. If the first provider fails or has no API key configured, the next is tried automatically:
Bankr → OpenAI → Anthropic → Groq → OpenRouter → Custom → Local fallback
This ensures the chat is always available regardless of which providers have keys. Override with NOELCLAW_PROVIDER=bankr|openai|anthropic|groq|openrouter.
How It Works
Tool Calling Flow
User sends a message — e.g., "Save my ETH analysis to the vault"
Chat router identifies the active agent and injects relevant context
Intent detection — the LLM determines the message implies an action (saving)
Noel Shell dispatch —
save_to_vaultis called with the contentExecution — the vault write happens server-side on Convex
Result returned — confirmation + vault key shown in chat
Spawn Agent Example
Create Automation Example
Estimate Swap Example
Security
Noel Shell tools respect the same security model as all Noelclaw tools:
Row-level authorization — every tool call resolves
userIdfrom the session token. User identity is never trusted from client args.Private key safety —
get_wallet_balancereturns balance only, never the private key. Private keys are stored encrypted (AES-256-CBC) and never leave the server.Vault isolation —
save_to_vaultandsearch_memoryare scoped to the authenticated user. Cross-user access is impossible.Automation limits —
create_automationenforces swap limits (MAX_AMOUNT_USD = 500,MIN_AMOUNT_USD = 1) and slippage/price-impact guards.
8 Security Boundaries
The backend enforces 8 security boundaries across wallet, vault, chronicle, API keys, notifications, activities, agent identities, and marketplace — all with row-level auth and cross-user isolation tested.
4 Vulnerability Fixes (v3.31.0)
getDecryptedPKByUserId→ converted tointernalAction(was publicly callable)createWallet→ converted tointernalAction(was publicly callable)getPrivateKey→ returns address only, never the raw private keyAuth is Privy (web) + API key (CLI) — OTP removed Jul 2026
ConnectMcpModal
The webapp includes a ConnectMcpModal — an onboarding flow for connecting the MCP server to your IDE directly from the webapp. When you click "Connect to IDE", the modal:
Detects your OS and available MCP clients (Cursor, Windsurf, Claude Desktop, VS Code, Zed)
Shows the exact install command:
npm install -g @noelclaw/mcp@3.43.1Provides copy-paste config snippets for each client
Guides you through restarting your client to activate the tools
This makes it easy to go from using the webapp to having all 121 MCP tools available in your IDE.
Theme
The webapp features a Claude-style warm palette with:
Inter font for all UI text
Neural-network knowledge graph visual on the Brain/knowledge page
Warm beige and amber tones throughout
Smooth Framer Motion animations
Related Docs
Last updated
Was this helpful?