Architecture
Tool Types
Built-in
Core tools written in Rust (shell, file ops, HTTP, memory)
MCP Servers
External tool servers via Model Context Protocol
WASM Tools
Sandboxed WebAssembly tools with capability-based security
Built-in Tools
IronClaw includes essential tools out of the box:File Operations
Shell Execution
HTTP Requests
Memory Operations
MCP Integration
Model Context Protocol allows connecting to external tool servers:Configuration
Create~/.ironclaw/mcp_servers.json:
OAuth Authentication
For hosted MCP servers that require OAuth:Available MCP Servers
Filesystem
Read/write access to specified directories
GitHub
Repository operations, issues, PRs, workflows
GitLab
Project management and CI/CD
PostgreSQL
Query and schema operations
Slack
Send messages, list channels
Google Drive
File operations in Drive
Tool Discovery
WASM Tools
WebAssembly tools run in a sandboxed environment with strict security controls:Security Model
Constraints
Capabilities
Tools declare required capabilities intool_name.capabilities.json:
Creating a WASM Tool
IronClaw provides a Rust template:Building WASM Tools
Dynamic Tool Building
The agent can build new tools on-demand using LLM-driven code generation:Build Process
- Analyze: Parse natural language requirement
- Scaffold: Generate project structure
- Implement: Write code with LLM
- Build: Compile with appropriate toolchain
- Fix: Parse errors and iterate
- Test: Run test harness
- Validate: Check WASM interface (for WASM tools)
- Register: Auto-register if successful
Example: Build a Tool
- Create a Cargo project
- Write the tool implementation
- Add HTTP endpoint to capabilities
- Build to wasm32-wasip2
- Register the tool for immediate use
Builder Configuration
Supported Languages
Rust
Native WASM support, best performance
Python
For scripts and data processing
TypeScript
For web API interactions
Go
For systems tools
JavaScript
Interpreted, no build step
Bash
Shell scripts
Tool Registry
TheToolRegistry manages all available tools:
Tool Execution
Approval System
Sensitive tools require user approval:Configuration
Approval Flow
Rate Limiting
Per-tool rate limits prevent abuse:Next Steps
Workspace
Learn about persistent memory
Sandbox
Explore Docker-based job execution
