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.
Three 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 |
firepass_reviewer |
read, ripgrep, ast-grep, jq, glob, tree (read-only) | Code review with structured output |
Requirements
- Python 3.10+
- A Fireworks AI API key
rg(ripgrep),sg(ast-grep),jq,treeon PATH for full tool coveragebash,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
- You call
firepass_worker,firepass_researcher, orfirepass_reviewerwith a prompt and a requiredcwd - The server sends the prompt to Kimi K2.5 Turbo with function-calling enabled
- The model explores the codebase, makes edits, runs tests, and iterates
- When done, it calls
done()with an executive summary - The summary (plus an activity log) is returned as the tool result
All roles get 60 iterations by default, 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 and reviewer are 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 60 for all roles)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file firepass_mcp-0.1.2.tar.gz.
File metadata
- Download URL: firepass_mcp-0.1.2.tar.gz
- Upload date:
- Size: 14.3 MB
- 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a67d334e23115002c9328a1f7b42af80d9566c67a114f0b6b9d6182ad282654
|
|
| MD5 |
d2601c195cdbe8aac81e4a466b1def01
|
|
| BLAKE2b-256 |
30bc382ee052f8d57f02ed15f9df64015bd2283e0e204f1bcd23f1761543af15
|
File details
Details for the file firepass_mcp-0.1.2-py3-none-any.whl.
File metadata
- Download URL: firepass_mcp-0.1.2-py3-none-any.whl
- Upload date:
- Size: 13.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bba3001699504a128e67a27bce3a284de516b342233a1da26b61ad837be0c363
|
|
| MD5 |
97968a6067f06c6eff057de333541cd9
|
|
| BLAKE2b-256 |
99bb9c2bb388dfbefa8d368f903c680aed448fa135740b5728a4f0c3d1fe58e1
|