{{template "shellTop" "tools"}}

Tools

enabling requires step-up — assert a passkey first.

{{if .Msg}}
{{.Msg}}
{{end}}

proposed {{len .Proposed}}

{{if .Proposed}}

maven drafted these from acts she couldn't run. Fill the command (argv, space-separated) and enable. A row in an mcp: scope came from an MCP server and already knows what it calls — check the command, then enable.

{{range .Proposed}}{{end}}
namecapabilityscopefrom utteranceenable as
{{.Name}}{{capability .}}{{.Scope}}{{.Utterance}}
{{else}}
no proposed tools
maven will propose tools here when she needs help running an action
{{end}}

enabled {{len .Enabled}}

{{if .Enabled}}

grouped by capability domain. The dotted id is scope.domain.action — the same shape Hexis speaks — and it is derived from the row, so it always describes what the command actually does.

{{range .Groups}}

{{.Prefix}} {{len .Tools}}

{{range .Tools}}{{end}}
capabilitynamecommandrisk
{{capability .}}{{.Name}}{{join .Cmd " "}} {{$r := risk .}}{{if eq $r "irreversible"}}irreversible{{else if eq $r "destructive"}}destructive{{else}}safe{{end}}
{{end}} {{else}}
no tools enabled
enable proposed tools above, or ask maven to configure one
{{end}}

MCP servers {{len .MCP}}

{{if .MCP}}

servers she connects OUT to. Their tools appear above as proposals — a configured server is a place she may look, not a capability she has. A stdio target is a process on this box; an http one on a loopback or LAN address is inside the network, so treat its tools accordingly.

{{range .MCP}}{{end}}
nametransporttargetstatetools
{{.Name}}{{.Transport}}{{.Target}} {{if .Connected}}connected{{if .Server}} — {{.Server}}{{end}}{{else}}down{{if .Err}} — {{.Err}}{{end}}{{end}} {{.Tools}}
{{else}}
no MCP servers configured
add an mcp.servers block to mavend.json to let her use an external tool server
{{end}}
{{template "shellBottom"}}