← Back to Discover

Enola

Open-source command-line tool and MCP server that builds a local graph of how code connects inside and across repositories, and checks each change for new structural problems.

MCP serversCode review

What it does

Enola is an open-source CLI and MCP server that reads source code and links what it finds, within each repository and across several of them. It runs as one local binary, uses no model or embeddings, and sends nothing off your machine. Running enola --explain inside a repository prints an overview of languages, cyclic dependencies, layer violations and the modules that many others depend on. It is read-only and needs no config or account. Across repositories, Enola links a call in one codebase to the code that serves it, even when the path is assembled from several pieces, and it reports URLs built at runtime as unresolved rather than guessing. To check a change, you pin the graph, make the change and run enola check, which reports only the structural regressions the change introduced, such as a layer violation, and can fail on the rules you choose. A GitHub Action runs the same check on pull requests. With a coding agent, Enola can be added as an MCP server so the agent asks what depends on the code before it edits and checks itself afterwards. The site names Claude Code, Codex, Copilot, Cursor, opencode and Pi. It is free under Apache 2.0, with an Enterprise page for rollouts across many teams, and the site publishes benchmarks and scripts.

Capabilities

  • Cross-repository code graph covering 23 languages and formats
  • enola --explain overview of languages, cycles, layer violations and hotspots
  • enola check reports only the structural regressions a change introduces
  • GitHub Action that runs the check on every pull request
  • MCP server and agent hooks so coding agents can ask what depends on a piece of code
  • Runs locally with no model, embeddings or account

When to use it

  • You work across several repositories and need to see who calls an endpoint you are changing
  • You want a CI check that fails only on new architecture problems, not existing debt
  • You want a coding agent to look up dependencies before it edits