magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

Tool

An action a model can call through its host: a name, a description, a typed input and a result. magus serves its tools over MCP (client, buzz, status, console, config and diff), and each one is a read of the workspace model or a run of the CLI magus already has, so a tool call and the command a person types get the same answer.

The magusfile's tools key and magus describe tool name something else: the toolchain binaries a spell drives (go, node), with the versions magus probed.

Elsewhere

In Anthropic's tool use a tool is declared to the model by name, description and an input_schema in JSON Schema; your code runs a client tool, and Anthropic runs a server tool such as web search. MCP servers list tools with tools/list and run one with tools/call, beside two other primitives, resources and prompts. Mastra builds one with createTool({ id, description, inputSchema, outputSchema, execute }) and attaches it to an agent. The shape is the same in all of them, and magus keeps it; what magus adds is that its tools answer deterministically from the workspace model.

Example

magus describe mcp-tool lists the tools the daemon serves to an agent host.

magus describe mcp-tool

Used in

In the docs:

In the code (magus refs <name> lists every site):

  • spells.Tool (Go)
  • mcp.Tool (Go)

See also

glossaryagents
Last updated (2df714e8)
Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. Workspace in full.

Magusfile

The magusfile.buzz that declares a project's targets (as export funs) and binds its spells. Magusfile in full.

Op

A single tool-native command a target composes (long form: operation); the middle of the work hierarchy (Spell to Op to Target). Op in full.

Spell

A language/runtime adapter (e.g. go, md) that maps generic targets onto a toolchain's real commands. Spell in full.

Buzz

The language magusfiles are written in (the .buzz engine). Buzz in full.

Cache

The content-addressed store magus consults before running a target, so unchanged work is skipped. Cache in full.

Daemon

The background process a person starts with magus server start. It serves MCP, the console, background jobs and the warm knowledge graph, and adopts nested magus calls into one pool. Daemon in full.

Knowledge graph

The queryable graph of a workspace's spells, targets, docs, and code relationships; query it with magus query/explain/path. Knowledge graph in full.

Agent

A model working through an agent host such as Claude Code, Codex, Cursor or OpenCode. magus treats an agent as one more caller of its CLI, MCP tools and console, held to the same checks as a person. Agent in full.

Tool

An action a model can call through its host: a name, a description, a typed input and a result. magus serves its tools over MCP, each a read of the workspace model or a run of the CLI it already has. Tool in full.

Harness

The deterministic scaffolding around the work on a change, for a person or an agent: compiler errors, formatters, linters, checks, gates, leases and hooks, placed at points a person chose. Around an agent's loop, magus supplies one and keeps it outside. Harness in full.

Run

One target executing under one magus invocation, such as magus run test web or magus affected ci. A run keeps its captured output behind an output reference. Every magus run is a run whether or not any job asked for it; see Job for how the two relate. Run in full.

Conventions

Placeholders

Angle brackets mark a value you replace with your own; never type the brackets:

magus run <target>
magus completion <shell>    # e.g. bash, zsh, fish

<target>, <path>, <shell>, <name> and the like are stand-ins, not literal text.