Try the demo

Reference

MCP tools

Eleven tools, most with several modes, so an agent loads few definitions and still reaches everything. dmn mcp-init connects them; agents with a shell can use the same abilities through the dmn command line instead.

The tools

Tool What it does Modes and main inputs
search Code search: plain-language questions, symbols, callers, folder maps, file globs and exact text mode: auto (the default), symbol, trace, structure, files, grep, keyword, graph. query, path, file_types, limit; curate returns full code sections for the top hits
read Read source by file and line range, or by symbol name; also the project's rules path or symbol, start_line, end_line; source: rules
memory The project's shared notes mode: read (a note, the list, or a search with query), write, delete; reflect and synthesize distil and merge notes with the model set in Settings ▸ Memory
impact What could break if a symbol or file changes symbol or path, depth
lease Claims on files an agent is about to edit, so other agents can see them mode: claim, release, list, check. paths, reason, ttl_minutes (30 by default, at most 480)
repo Branch, status, recent commits, ahead and behind, stashes and an in-progress merge or rebase commit_limit
index The project's index: its status, what's in it, and starting an update mode: status, list, preview, start, drop
test Which tests exercise the current changes, for Rust projects, with the commands to run them base_ref, head_ref
edit Change a file: replace exact lines, or a whole symbol's body path, then deltas or symbol with replace. Needs your approval
run Run a command in the project and capture its output and exit code command, cwd, timeout_secs. Needs your approval, unless the project runs commands in the WSL jail
canvas Show a diff, a file or test results as a tile in the DMN app mode: diff, file, test_results

Approvals

edit and run change things, so the first call doesn't do it: it returns approval_required with an id. The request waits in the Fleet panel until you click Approve once or Reject, and the agent retries with that id. An approval covers that exact request, once.

With the WSL jail on for a project, run executes in Linux over a copy of the project and needs no approval.

Connecting a client

dmn mcp-init            # preview what it would add, for every client it finds
dmn mcp-init --apply    # write it
dmn mcp-init --print    # just print the config block for each client

The server is the dmn-mcp-bridge program, over standard input and output. It finds the project from the folder the client starts it in. Connect your agents covers each client.

Skill or MCP

The tools and the dmn command line reach the same engine. The skill is lighter: tool definitions are sent with every request an agent makes, and the skill sends none. In our benchmark, agents given DMN over MCP instead of the skill never called its tools, and saved nothing. Use MCP for agents without a shell.