Skip to main content

MCP server that wraps Kimi K2.5 Turbo (Fireworks AI) as an agentic coding assistant with a full tool loop.

Project description

firepass-mcp

MCP server that turns Kimi K2.5 Turbo into an agentic coding assistant. The model gets a tool loop — it can read/write files, run shell commands, and search code with ripgrep, ast-grep, jq, and glob — and iterates autonomously until the task is done.

Two tools exposed over MCP:

Tool Capabilities Use case
firepass_worker read, write, edit, bash, ripgrep, ast-grep, jq, glob, tree Coding, refactoring, bug fixes
firepass_researcher read, ripgrep, ast-grep, jq, glob, tree (read-only) Code analysis, architecture review

Requirements

  • Python 3.10+
  • A Fireworks AI API key
  • rg (ripgrep), sg (ast-grep), jq, tree on PATH for full tool coverage
  • bash, ls (standard on POSIX systems)

Install

uvx firepass-mcp

Configuration

Set your API key:

export FIREWORKS_API_KEY="fw-..."

Codex CLI

Add the server with:

codex mcp add firepass --env FIREWORKS_API_KEY=fw-... -- uv run firepass-mcp

This writes a config like:

[mcp_servers.firepass]
command = "uv"
args = ["run", "firepass-mcp"]

[mcp_servers.firepass.env]
FIREWORKS_API_KEY = "fw-..."

Claude Code

Add the server with:

claude mcp add -e FIREWORKS_API_KEY=fw-... firepass -- uv run firepass-mcp

This writes a config like:

{
  "mcpServers": {
    "firepass": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "firepass-mcp"],
      "env": {
        "FIREWORKS_API_KEY": "fw-..."
      }
    }
  }
}

Claude Desktop / Generic MCP JSON

If your client reads MCP JSON directly, use:

{
  "mcpServers": {
    "firepass": {
      "command": "uvx",
      "args": ["firepass-mcp"],
      "env": {
        "FIREWORKS_API_KEY": "fw-..."
      }
    }
  }
}

Environment variables

Variable Default Description
FIREWORKS_API_KEY (required) Fireworks AI API key
FIREPASS_MODEL accounts/fireworks/routers/kimi-k2p5-turbo Model ID
FIREPASS_BASH_TIMEOUT 60 Shell command timeout (seconds)
FIREPASS_MAX_OUTPUT 50000 Max chars per tool result
FIREPASS_MAX_READ 100000 Max chars per file read

How it works

  1. You call firepass_worker or firepass_researcher with a prompt and a required cwd
  2. The server sends the prompt to Kimi K2.5 Turbo with function-calling enabled
  3. The model explores the codebase, makes edits, runs tests, and iterates
  4. When done, it calls done() with an executive summary
  5. The summary (plus an activity log) is returned as the tool result

The worker gets 50 iterations by default; the researcher gets 30. Both are configurable per call.

Security model

All file operations (read_file, write_file, edit_file, glob_find, ripgrep, ast_grep, jq, tree, list_dir) are sandboxed to the required cwd you provide. Paths are resolved and validated against the working directory before any I/O.

The researcher is read-only — bash, write_file, and edit_file are blocked both at the API schema level (model never sees them) and at runtime (server rejects them even if hallucinated). Dangerous ripgrep flags (--pre, --replace, -z) are also blocked.

The worker has full access including bash. It is not sandboxed at the command level — treat it like giving shell access to a remote developer scoped to your project directory.

Limits:

  • File writes capped at 1 MB per operation
  • File reads capped at 100K characters
  • Tool output capped at 50K characters
  • Context budget of 200K characters (old tool results truncated when exceeded)
  • Configurable iteration limits (default 50 worker, 30 researcher)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

firepass_mcp-0.1.1.tar.gz (55.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firepass_mcp-0.1.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file firepass_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: firepass_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for firepass_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 98062e9a90d9dfbda401b11b5d76f312e95601d22a8e0f64d769b9da42d7e0e2
MD5 e539cecec9c1079fa5f183fa1f89e9a7
BLAKE2b-256 d34cc43b1d11a49c8ae9e0a0abec794ed788411bc9f3e4151f9196cb57972957

See more details on using hashes here.

File details

Details for the file firepass_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: firepass_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for firepass_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 130f48f1892085e5acfd3e83ae0152823677d530e332267c7125e2e28208a23f
MD5 4fe4b3f04646e8b45821c7155ebd8986
BLAKE2b-256 962a5e17ee994743227c0bc94f02adefba9d1fb13accc60e34ea861a0782c378

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page