Install CodeFire, connect your API keys, and set up MCP for your AI coding CLI.
Which version? Apple Silicon Macs get the native Swift app. Windows, Linux, and Intel Macs use the Electron app.
Download and install the app for your platform.
The app creates its data directory at ~/Library/Application Support/CodeFire/ and automatically deploys the MCP server binary.
Configure your API keys and preferences.
Click the gear icon in the bottom left of the sidebar, or use the menu bar CodeFire > Settings.
Settings has six tabs: General, Terminal, CodeFire Engine, Gmail, Browser, and Briefing.
Required for AI chat, semantic code search, and image generation.
sk-or-v1-...
What this unlocks: The OpenRouter key powers three features: the built-in AI Chat (ask questions about your codebase), Semantic Code Search (search by meaning, not just text), and AI Image Generation. All models are served through OpenRouter with a single key.
Optional settings on this tab:
text-embedding-3-small (faster, cheaper) or text-embedding-3-large (more accurate)Install the CodeFire MCP server so your CLI has access to persistent memory and tools.
Click the button for your CLI tool. CodeFire will automatically write the MCP config to the right file.
After installing, restart your CLI session for the connection to activate.
If the one-click install doesn't work, you can configure the MCP server manually.
The MCP binary is at ~/Library/Application Support/CodeFire/bin/CodeFireMCP — deployed automatically when you open CodeFire.
$ claude mcp add codefire ~/Library/Application\ Support/CodeFire/bin/CodeFireMCP
{
"mcpServers": {
"codefire": {
"command": "~/Library/Application Support/CodeFire/bin/CodeFireMCP",
"args": []
}
}
}
[mcp_servers.codefire] command = "~/Library/Application Support/CodeFire/bin/CodeFireMCP" args = []
{
"mcpServers": {
"codefire": {
"type": "local",
"command": ["~/Library/Application Support/CodeFire/bin/CodeFireMCP"]
}
}
}
Teach your AI agent how to use CodeFire's tools effectively.
Each CLI has a system instruction file where you can add persistent instructions. Copy the CodeFire instructions below into the appropriate file so your agent knows how to use tasks, notes, browser automation, and more.
For detailed setup guides with platform-specific paths, see the full docs: Claude Code, Gemini CLI, Codex CLI, OpenCode
Add the following to your ~/.claude/CLAUDE.md file (global instructions):
## CodeFire MCP CodeFire provides persistent memory across Claude Code sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Task Management | Tool | Purpose | |------|---------| | `list_tasks` | List tasks by status (todo/in_progress/done) | | `create_task` | Create a new task (title required) | | `update_task` | Update status, priority, title, description, labels | | `add_task_note` | Add progress notes to a task | | `get_task` | Get full task details + notes | ### Notes — Institutional Memory | Tool | Purpose | |------|---------| | `list_notes` | List project notes (pinned_only: true for critical) | | `create_note` | Create a persistent note (title + markdown) | | `update_note` | Update note content | | `search_notes` | Full-text search across notes | ### Context Search `context_search` — hybrid vector + keyword search across the indexed codebase. Types filter: function, class, block, doc, commit ### Browser Automation | Tool | Purpose | |------|---------| | `browser_navigate` | Open a URL | | `browser_screenshot` | Capture current page | | `browser_click` / `browser_type` | Interact with elements | | `browser_console_logs` | Capture JS console output | ### Git Operations | Tool | Purpose | |------|---------| | `git_status` | Check working tree state | | `git_diff` | View changes | | `git_log` | View commit history | | `git_stage` | Stage files | | `git_commit` | Create a commit |
Add the following to your ~/.gemini/GEMINI.md file (global instructions):
## CodeFire MCP CodeFire provides persistent memory across coding sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Tools Reference Tasks: list_tasks, create_task, update_task, add_task_note, get_task Notes: list_notes, create_note, update_note, search_notes Search: context_search (hybrid vector + keyword, types: function/class/block/doc/commit) Browser: browser_navigate, browser_screenshot, browser_click, browser_type, browser_console_logs Git: git_status, git_diff, git_log, git_stage, git_commit
Add the following to your ~/.codex/AGENTS.md file (global instructions):
## CodeFire MCP CodeFire provides persistent memory across coding sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Tools Reference Tasks: list_tasks, create_task, update_task, add_task_note, get_task Notes: list_notes, create_note, update_note, search_notes Search: context_search (hybrid vector + keyword, types: function/class/block/doc/commit) Browser: browser_navigate, browser_screenshot, browser_click, browser_type, browser_console_logs Git: git_status, git_diff, git_log, git_stage, git_commit
Create a file at ~/.config/opencode/agents/codefire.md or add to your project's AGENTS.md:
## CodeFire MCP CodeFire provides persistent memory across coding sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Tools Reference Tasks: list_tasks, create_task, update_task, add_task_note, get_task Notes: list_notes, create_note, update_note, search_notes Search: context_search (hybrid vector + keyword, types: function/class/block/doc/commit) Browser: browser_navigate, browser_screenshot, browser_click, browser_type, browser_console_logs Git: git_status, git_diff, git_log, git_stage, git_commit
CodeFire auto-discovers projects or you can add them manually.
When you use Claude Code in a project directory, CodeFire automatically detects it by scanning ~/.claude/projects/. Your project will appear in the sidebar within a few seconds.
Click + Open Folder at the bottom of the sidebar and select any project directory.
Sync emails into CodeFire and convert them to tasks.
Gmail integration requires a Google OAuth Client ID and Client Secret. You'll need to create these in the Google Cloud Console.
Whitelist rules (Swift version): You can set up whitelist rules to automatically assign incoming emails to specific project groups with priority levels. Go to the Gmail settings tab to configure patterns.
Open your terminal, start a Claude Code session, and your agent will have access to persistent memory, task tracking, browser automation, and semantic code search — all through MCP.