Your agent's toolbox, without the token bill.
Forge is a token-saving toolkit for AI coding agents: a single Rust binary, frg, plus a matching MCP server. Raw cargo, pytest, go test, and git diff output is verbose and token-expensive — frg wraps the most common developer operations and returns compact, structured JSON: errors with file paths and line numbers, warnings grouped by rule, summaries instead of wall-of-text logs. Run frg --mcp for stdio clients or frg --mcp-http for a Streamable HTTP MCP endpoint.
What's in the box
Structured toolchain wrappers
frg run cargo|go|dotnet|npm|python|mix parse native build/test/lint output into JSON with error locations, warning counts, and an actionable hint on failure. Covers build, test, check, clippy/vet/lint, and format checks.
Log & diff distillation
test-summary (cargo/pytest/jest/go/mix), log-distill (errors + warnings with context), diff-filter (collapses large hunks, skips lockfiles and generated files), lint-dedup, and log-monitor (stall, OOM, and disk-pressure detection on live streams).
Quality & security scans
smell-detect, doc-coverage, coverage-gate, STRIDE threat-scan, fail-loud-scan (swallowed errors and silent fallbacks, AST-based across 8 languages), materialization-scan, secret-scan, and CVE deps-audit.
Architecture analysis
dsm (Design Structure Matrix with cycle detection and refactor suggestions), dsm dead-code, dep-tree fan-in/fan-out, api-diff and schema-diff breaking-change detection, and merge-check.
Code discovery
digest — a structural summary with no bodies, the best first call on an unfamiliar file — plus excerpt, lookup, outline, glob with per-file stats, and project-detect.
CQL-backed task board
frg task create|update|list|link|board — a kanban store on a CQL cluster, plus checklist for persistent workflows with DAG dependencies, typed waiting gates, and atomic claim/release for agent fleets.
Knowledge-graph ingestion
ingest (codebase structure via LSP), SSRF-guarded ingest-url/fetch-url, web-search via a trusted SearXNG backend, and ingest-paper (academic PDFs with reading-order reconstruction for multi-column layouts) — all writing typed entities and edges into Ferrosa Memory.
Claude Code hooks & analytics
frg init --install wires a pre-tool-call output filter into Claude Code; frg gain and frg analytics report the token savings per tool.
Install
v0.14.0 is a developer-preview release with prebuilt binaries. Pick one path:
Homebrew (macOS Apple Silicon, Linux x86_64)
brew install ferrosadb/tap/forge
frg --version
Release binaries
Download from the GitHub Releases page and put frg on your PATH:
| Platform | Asset |
|---|---|
| macOS Apple Silicon (arm64) | frg-macos-aarch64.tar.gz |
| Linux x86_64 | frg-linux-x86_64.tar.gz |
| Windows x86_64 | frg-windows-x86_64.zip |
Each release includes a SHA256SUMS file; verify with sha256sum -c SHA256SUMS --ignore-missing.
From source
git clone https://github.com/ferrosadb/forge.git
cd forge
cargo build --release
cp target/release/frg ~/.cargo/bin/frg # or anywhere on your PATH
Any platform with a Rust toolchain works — unlike the database and memory server, frg has no Apple-Silicon-only constraint.
Connect it to your agent
Expose the stdio MCP server by adding Forge to ~/.claude/settings.json (Claude Code):
{
"mcpServers": {
"forge": {
"command": "/path/to/frg",
"args": ["--mcp"]
}
}
}
Any MCP client that can launch frg --mcp as a stdio server works the same way. For a long-running shared client, start Streamable HTTP on loopback and connect to POST /mcp:
frg --mcp-http --mcp-http-addr 127.0.0.1:9977
# MCP endpoint: http://127.0.0.1:9977/mcp
Ferrosa Memory's next release installs and validates Forge for its research and ingestion workflows, including project_summary and dry-run ingest. Then install the Claude Code output-filtering hooks:
frg init --install
Optional backends
The core tools are standalone. Some tool families need a backend, and each fails loud rather than silently degrading:
| Tool family | Needs | Resolution |
|---|---|---|
| Task board / checklists | A CQL contact point | cql_host arg → FORGE_CQL_HOST env → .forge/config.toml → 127.0.0.1:9042 |
| Ingestion | Running Ferrosa Memory HTTP endpoint | Auto-discovered from ~/.config/ferrosa-memory.toml |
web-search | Trusted SearXNG endpoint | FORGE_WEB_SEARCH_URL or SEARXNG_URL |
ingest-descriptions | Local Ollama model | Ollama default endpoint |