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

# From GitHub (available now)
uvx --from git+https://github.com/jameshgrn/firepass-mcp firepass-mcp

# From PyPI (once published)
uvx firepass-mcp

Configuration

Set your API key:

export FIREWORKS_API_KEY="fw-..."

Claude Code / Claude Desktop

Add to your MCP config (~/.mcp.json or Claude Desktop settings):

{
  "mcpServers": {
    "firepass": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/jameshgrn/firepass-mcp", "firepass-mcp"],
      "env": {
        "FIREWORKS_API_KEY": "fw-..."
      }
    }
  }
}

Any MCP client

{
  "firepass": {
    "command": "firepass-mcp"
  }
}

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 working directory
  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 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.0.tar.gz (55.7 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.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: firepass_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 55.7 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.0.tar.gz
Algorithm Hash digest
SHA256 90a79b374197db082cd87404cc981c563447ef3ed3cb5f52471e50dbd1a03449
MD5 931d9aa24e115e6f7fa6b85e7e7b9095
BLAKE2b-256 da0da6f3474393e48c625c09dfe932a27d60f01a7cad633c41ca119cf01eb250

See more details on using hashes here.

File details

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

File metadata

  • Download URL: firepass_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 afdd1515028d8d5abe867e2e03ed5fdca299341df94db415b53b93abf8faed61
MD5 2240f4da5d60f60d104e6920a4c48bdf
BLAKE2b-256 4cd904658d8931f4e2d7d2a0c431d670c2098b0a760ef89f3b6ee21562e095f6

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