izan.io
Local AI Assistant - Open Source, Transparent, Free
Wisdom • Understanding • Intellect
⚡ What is this?
izan.io is an open-source AI assistant platform that brings all AI models into one place while keeping your privacy first. Use your own API keys and your own data.
🚨 Copyleft: This project is licensed under AGPL-3.0. If you fork, modify, or create derivative works, you must make your code open source too. Derivatives offered over a network must make their source code available. See LICENSE for details.
✨ Highlights
| Feature | Description |
|---|---|
| 🔐 Privacy | API keys stored only in your browser. Never sent to our servers. |
| 🧠 Multi-Provider | 17+ AI providers supported (see below). |
| 🤖 Smart Agents | MCP-connected agents - web search, code, and more. |
| 🔗 Multi-Agent Orchestration | Chain agents together - one agent's output becomes another's input. Up to 3 levels deep. |
| 🌐 MCP | Built-in and custom MCP servers. |
| 🎬 Action Recorder | Record browser actions, extract data via CSS or accessibility tree, and save as MCP tools; no coding required (see docs/visual-mcp-tool-builder.md). |
| ⏱️ Long Running Tasks | Agents work in the background on complex research and multi-step workflows. Get notified when results are ready. |
| 📅 Scheduled Automations | Run agent tasks on a schedule - price tracking, data collection, and recurring workflows on autopilot. |
🔌 Supported Providers
OpenAI · Google (Gemini) · Groq · Mistral · xAI (Grok) · DeepSeek · Qwen (DashScope) · Together AI · Fireworks AI · Perplexity · Cerebras · Deep Infra · Cohere · Moonshot AI (Kimi) · MiniMax · OpenRouter (hundreds of models) · Ollama (local) · Custom (OpenAI-compatible endpoints)
🏗️ Architecture
izan.io/
├── apps/web/ # React + Vite web app
├── packages/
│ ├── agent-core/ # Agent routing, tool execution, LLM-agnostic
│ ├── mcp-client/ # MCP protocol client
│ ├── mcp-browser-servers/ # Browser MCP servers (TabServerTransport)
│ │ ├── crypto-analysis/ # CoinGecko, technical indicators
│ │ ├── domain-check/ # RDAP + DoH domain availability
│ │ └── general/ # get_time, random_number, uuid, calculate, generate_password
│ ├── mcp-extension-servers/ # Chrome extension: side panel recorder, dynamic MCP, CDP automation
│ └── infra/ # CDK infra (S3/CloudFront, incl. /mcp-tools/)
Action recorder: The extension (mcp-extension-servers) provides a side panel to record clicks, typing, and scrolls; parameterize URL/path segments; and extract data via CSS selectors or the accessibility tree (ARIA roles, full-page snapshot). The element picker works with or without an active recording. Recordings become MCP tool definitions (stored as JSON in IndexedDB or loaded from S3). A built-in accessibility_snapshot tool is always available to agents. See docs/visual-mcp-tool-builder.md.
🚀 Quick Start
Requirements: Node.js 18+, npm 10+
git clone https://github.com/ekingunoncu/izan.io.git
cd izan.io
npm install
npm run dev
Open http://localhost:5173. Add a provider and API key in settings, then start chatting.
See apps/web/.env.example for optional env vars. API keys are stored in the browser.
📦 MCP Servers
| Type | Package | Description |
|---|---|---|
| Browser | mcp-browser-servers/ | crypto-analysis (CoinGecko, indicators), domain-check (RDAP/DoH), general (time, uuid, calc, password). TabServerTransport, client-side. |
| Extension | mcp-extension-servers/ | Chrome extension: side panel (React + shadcn), action recorder, element picker (CSS + accessibility), dynamic MCP server, built-in accessibility_snapshot tool. User-recorded tools stored as JSON. |
Recording MCP tools: Install the extension, open the side panel, click Record; the action recorder captures clicks, typing, scrolls and URL params. Use List / Single to pick extraction targets via CSS, or A11y to extract by ARIA roles or full-page accessibility tree. Done sends the flow to the web app; save as an MCP tool in Settings. Built-in tool definitions (JSON) can be served from S3/CloudFront.
🌐 Deploy
Deploy via npm run deploy:infra or GitHub Actions (push to main). The stack uses S3 + CloudFront.
Custom domain (izan.io, www.izan.io): Set IZAN_DOMAIN_CERTIFICATE_ARN to an ACM cert in us-east-1 for those domains. CloudFront adds them to its domain list. DNS (A/CNAME records) is managed manually.
🛠️ Tech Stack
React 19 · React Router 7 · Vite 7 · Tailwind CSS 4 · Zustand · IndexedDB (Dexie) · react-i18next · npm workspaces + Turbo
🤝 Contributing
PRs welcome. See CONTRIBUTING.md for guidelines.
- Fork → create branch → commit → push → open PR
- By contributing, you agree to AGPL-3.0.
📜 License
GNU Affero General Public License v3.0 (AGPL-3.0)
- ✅ Use, modify, distribute
- ⚠️ Derivatives must be AGPL-3.0
- ⚠️ Network-hosted derivatives must offer source
See LICENSE.
izan.io - Wisdom • Understanding • Intellect
Fork it, build it, share it.