Skip to main content

MCP Tools Reference

CodeFire’s MCP server exposes 60+ tools organized into seven categories. This page provides an overview of each tool. For detailed parameter schemas, use your AI agent’s built-in tool listing.
Most tools that operate on a specific project accept an optional project_id parameter. If omitted, the MCP server uses the auto-detected project based on your current working directory.Use get_current_project to see which project was detected.

Projects

get_current_project

Get the auto-detected project for the current session based on the working directory. Parameters: None Returns: Project name, ID, and working directory. Explains that project_id can be omitted from subsequent tool calls. Example Use Case:
What CodeFire project am I working on?

list_projects

List all projects tracked by CodeFire. Parameters: None Returns: Array of projects with ID, name, and path. Example Use Case:
Show me all my CodeFire projects

Tasks

list_tasks

List tasks for a project or globally. Parameters:
  • project_id (string, optional): Project ID (auto-detected if omitted)
  • status (string, optional): Filter by status: todo, in_progress, or done
  • global (boolean, optional): Set true to list global planner tasks
Returns: Task ID, title, status, priority, labels, and description preview. Example Use Cases:
Show me all in-progress tasks
List global planner tasks
What tasks are marked as done?

get_task

Get full details of a specific task, including notes and attachments. Parameters:
  • task_id (integer, required): Task ID
Returns: Complete task details with creation date, completion date, description, labels, and all notes. Example Use Case:
Show me the details of task #42

create_task

Create a new task in a project or the global planner. Parameters:
  • title (string, required): Task title
  • project_id (string, optional): Project ID (auto-detected if omitted)
  • description (string, optional): Task description
  • priority (integer, optional): Priority level: 0=none, 1=low, 2=medium, 3=high, 4=urgent
  • labels (array of strings, optional): Labels like ["bug", "frontend"]
  • global (boolean, optional): Set true to create a global planner task
Returns: Confirmation with task ID. Example Use Cases:
Create a task titled "Fix login bug" with high priority and label it as a bug
Create a global task to update documentation

update_task

Update a task’s status, priority, title, description, or labels. Parameters:
  • task_id (integer, required): Task ID
  • status (string, optional): New status: todo, in_progress, or done
  • priority (integer, optional): New priority (0-4)
  • title (string, optional): New title
  • description (string, optional): New description
  • labels (array of strings, optional): New labels array
Returns: Summary of changes made. Example Use Cases:
Mark task #42 as done
Change task #15 priority to urgent
Update task #7 title to "Implement user authentication"

add_task_note

Add a note or comment to a task. Use this to log progress, decisions, or context. Parameters:
  • task_id (integer, required): Task ID
  • content (string, required): Note content
  • session_id (string, optional): Claude session ID (auto-detected if omitted)
Returns: Confirmation that the note was added. Example Use Case:
Add a note to task #42: "Discovered the issue is in the auth middleware"

list_task_notes

List all notes for a specific task. Parameters:
  • task_id (integer, required): Task ID
Returns: All notes with timestamps and sources. Example Use Case:
Show me all notes for task #42

Notes

list_notes

List all project-level notes. Notes are rich documents (title + content) for capturing project context, decisions, patterns, and reference material. Parameters:
  • project_id (string, optional): Project ID (auto-detected if omitted)
  • pinned_only (boolean, optional): If true, only return pinned notes
  • global (boolean, optional): Set true to list global planner notes
Returns: Array of notes with ID, title, pinned status, update time, and content preview. Example Use Cases:
Show me all pinned notes for this project
List all notes
Show global notes

get_note

Get the full content of a specific note. Parameters:
  • note_id (integer, required): Note ID
Returns: Complete note with title, content, pinned status, and timestamps. Example Use Case:
Show me note #5

create_note

Create a new project-level note. Use for architectural decisions, discovered patterns, session learnings, or any context that should persist. Parameters:
  • title (string, required): Note title
  • project_id (string, optional): Project ID (auto-detected if omitted)
  • content (string, optional): Note content (supports Markdown)
  • pinned (boolean, optional): Pin to the top (default: false)
  • session_id (string, optional): Session ID that created this note
  • global (boolean, optional): Set true to create a global planner note
Returns: Confirmation with note ID. Example Use Cases:
Create a note titled "API Design Decisions" with content explaining our REST vs GraphQL choice
Create a pinned note with our coding standards

update_note

Update a note’s title, content, or pinned status. Parameters:
  • note_id (integer, required): Note ID
  • title (string, optional): New title
  • content (string, optional): New content
  • pinned (boolean, optional): Pin or unpin the note
Returns: Summary of changes made. Example Use Case:
Pin note #3
Update note #7 content with the latest architecture diagram

delete_note

Delete a note by ID. Parameters:
  • note_id (integer, required): Note ID
Returns: Confirmation of deletion. Example Use Case:
Delete note #12

search_notes

Full-text search across all project notes (titles and content). Parameters:
  • query (string, required): Search query
  • project_id (string, optional): Project ID (auto-detected if omitted)
  • global (boolean, optional): Set true to search global notes
Returns: Notes matching the query with title and content preview. Example Use Case:
Search notes for "authentication"
Find notes mentioning "database migration"

Browser

CodeFire includes a full-featured browser controller. All browser tools require CodeFire to be running. browser_navigate: Navigate to a URL
browser_snapshot: Get the accessibility tree (page structure)
browser_extract: Extract text from an element using CSS selector
browser_list_tabs: List all open tabs
browser_console_logs: Get console log entries (log, warn, error, info)
browser_screenshot: Take a PNG screenshot

Tab Management

browser_tab_open: Open a new tab
browser_tab_close: Close a tab by ID
browser_tab_switch: Switch to a different tab

Interaction

browser_click: Click an element by ref from browser_snapshot
browser_type: Type text into an input field
browser_select: Select an option from a dropdown
browser_scroll: Scroll the page or scroll an element into view
browser_wait: Wait for an element to appear
browser_press: Press a key or key combination
browser_hover: Hover over an element

Advanced

browser_eval: Execute JavaScript and return the result
browser_upload: Set a file on an <input type="file">
browser_drag: Drag and drop elements
browser_iframe: Switch context to an iframe

Session & Storage

browser_clear_session: Clear cookies, cache, localStorage
browser_get_cookies: Get cookies for the current page
browser_get_storage: Read localStorage or sessionStorage
browser_set_cookie: Set a cookie

Network Inspection

get_network_requests: Get captured network requests
get_request_detail: Get full details of a specific request
clear_network_log: Clear all captured network requests
Example Use Cases:
Navigate to localhost:3000 and take a screenshot
Click the login button and wait for the dashboard to load
Get all network requests that failed with 4xx errors
Extract the error message from the alert dialog
Browser tools use element refs from browser_snapshot. Always call browser_snapshot first to get refs, then use those refs in interaction tools like browser_click and browser_type.

Git

Manage git operations directly from your AI agent. All git tools run against the project’s repository.

git_status

Get the current git status: branch, staged files, unstaged changes, and untracked files. Parameters:
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: JSON with branch, staged, unstaged, untracked arrays, and counts. Example Use Case:
What's the git status for this project?

git_diff

Get git diff output for unstaged or staged changes. Parameters:
  • file_path (string, optional): Specific file to diff (relative to project root)
  • staged (boolean, optional): Show staged changes instead of unstaged (default: false)
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Diff output. Example Use Cases:
Show me the unstaged changes
Show the staged diff for src/auth.ts

git_log

Get recent git commit history. Parameters:
  • count (integer, optional): Number of commits to show (default: 15, max: 50)
  • file_path (string, optional): Show only commits affecting this file
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Commit hash, message, author, and date. Example Use Cases:
Show me the last 10 commits
Show commit history for src/api/users.ts

git_stage

Stage files for commit. Parameters:
  • file_path (string, optional): File to stage (relative to project root). Omit to stage all changes.
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Confirmation of staged files. Example Use Cases:
Stage all changes
Stage src/components/Login.tsx

git_unstage

Unstage files from the staging area. Parameters:
  • file_path (string, optional): File to unstage. Omit to unstage all.
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Confirmation of unstaged files. Example Use Case:
Unstage src/config.ts

git_commit

Create a git commit with the currently staged changes. Parameters:
  • message (string, required): Commit message
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Confirmation with commit hash. Example Use Case:
Commit staged changes with message "Add user authentication"

Clients

Clients are groups used to organize projects in the CodeFire sidebar.

list_clients

List all clients. Parameters: None Returns: Client ID, name, and color. Example Use Case:
Show me all clients

create_client

Create a new client for grouping projects. Parameters:
  • name (string, required): Client name
  • color (string, optional): Hex color (e.g. #3B82F6). Defaults to blue.
Returns: Confirmation with client ID. Example Use Case:
Create a client named "Acme Corp" with color #FF6B6B

Images

Generate and manage AI-generated images for your project.

generate_image

Generate an image from a text prompt using AI (Gemini 3.1 Flash). Saves to assets/generated/ in the project. Parameters:
  • prompt (string, required): Text description of the image
  • aspect_ratio (string, optional): 1:1, 16:9, 9:16, 4:3, or 3:2 (default: 1:1)
  • size (string, optional): 1K, 2K, or 4K (default: 1K)
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: File path of the generated image. Example Use Case:
Generate a 16:9 hero image of a futuristic city skyline at sunset
Requires an OpenRouter API key configured in CodeFire settings.

edit_image

Edit an existing image with text instructions. Parameters:
  • image_path (string, required): Absolute file path of the image to edit
  • prompt (string, required): Editing instructions (e.g., “make the background blue”)
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: File path of the edited image. Example Use Case:
Edit /path/to/image.png and add a shadow effect

list_images

List generated images for a project, ordered by most recent first. Parameters:
  • project_id (string, optional): Project ID (auto-detected if omitted)
  • limit (integer, optional): Max results (default: 20)
  • offset (integer, optional): Skip first N results (default: 0)
Returns: Array of images with ID, prompt, file path, model, and timestamp. Example Use Case:
Show me the last 10 generated images

get_image

Get details of a specific generated image by ID. Parameters:
  • image_id (integer, required): Image ID
Returns: Full image details including prompt, file path, model, aspect ratio, and creation date. Example Use Case:
Show me details of image #42

Environment & Services

detect_services

Detect cloud services and deployment platforms configured in the project (Firebase, Supabase, Vercel, Netlify, Docker, Railway, AWS Amplify). Parameters:
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: List of detected services with configuration file paths.

list_env_files

List environment files (.env, .env.local, etc.) in the project with variable counts. Parameters:
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Array of env files with paths and variable counts.

get_env_variables

Parse and return variables from a specific environment file. Values are masked by default for security. Parameters:
  • file_name (string, required): Environment file name (e.g., .env)
  • show_values (boolean, optional): Show actual values instead of masked (default: false)
  • project_id (string, optional): Project ID (auto-detected if omitted)
Returns: Array of environment variables with keys and (optionally) values.
Semantic code search across the current project. Finds functions, classes, documentation, and git history using hybrid vector similarity + keyword search. Parameters:
  • query (string, required): Natural language description of what you’re looking for
  • limit (integer, optional): Max results (default: 10, max: 30)
  • types (array of strings, optional): Filter by chunk type: function, class, block, doc, commit
Returns: Matching code chunks with file path, line numbers, content, and relevance score. Example Use Cases:
Find all authentication-related functions
Search for code that handles user registration
Show me database migration commits
Code search requires the project to be indexed in CodeFire. Check the “Index” status in the CodeFire GUI.

Next Steps

Integration Guide

Learn how to use these tools effectively in your workflow

API Reference

Detailed API schemas and examples

Build docs developers (and LLMs) love