> ## Content Index
> Fetch the complete content index at: https://blog.brokk.ai/llms.txt
> Use this file to discover other available public pages before exploring further.

# Introducing Bifrost, Anvil, and Mjolnir
- URL: https://blog.brokk.ai/introducing-bifrost-anvil-and-mjolnir/
- Published: 2026-07-01T20:53:48.000Z
- Updated: 2026-07-01T20:53:48.000Z
- Author: Jonathan Ellis

We've modularized the tools we originally built for Brokk/Java and moved them to Rust. In increasing order of abstraction, these are:

## [Bifrost](https://github.com/BrokkAi/bifrost/?ref=blog.brokk.ai)

Brokk's static analysis toolkit, including MCP for the most common tools (`get_summaries`, `get_symbol_sources`, `scan_usages`, `get_definitions`), LSP if you prefer to roll that way, and as Python and Rust APIs when you need more power and flexibility. Higher-level tools powering [SlopCop](https://slopcop.brokk.ai/?ref=blog.brokk.ai) like `compute_cognitive_complexity` and `analyze_git_hotspots` are also here, as well as an experimental `semantic_search.`

## [Anvil](https://github.com/BrokkAi/anvil?ref=blog.brokk.ai)

Anvil is an Agent Client Protocol ([ACP](https://zed.dev/acp?ref=blog.brokk.ai)) server (i.e. a headless agentic coding harness) that natively uses Bifrost. Bring your own keys and use any model.

## [Mjolnir](https://github.com/BrokkAi/mjolnir/?ref=blog.brokk.ai)

Mjolnir is a TUI ACP client, the "head" for the headless servers. You can use `mj` with Anvil, or with Claude Code, or Codex, or any other ACP server, and get a standardized UI including remote control and centralized logging.