Harnesses

Mastra Code

Mastra's coding agent. LibSQL database for threads, messages and observational memory, hooks and MCP in JSON, reads Claude's files as its own, no headless mode.
getHarness
getHarness("mastracode")
binary
mastracode
invoke modes
none
model listing
no
mcp config
unknown
agents file
none

Mastra Code stores everything it remembers in one LibSQL database under ~/.local/share/mastracode/ on Linux, threads and messages alongside its observational memory. Hooks are a JSON file rather than a directory, at project and user scope, and MCP servers sit in .mastracode/mcp.json and its global twin.

It reads Claude's files as its own: CLAUDE.md, .claude/CLAUDE.md, ~/.claude/CLAUDE.md and both skills directories, beside AGENTS.md and .mastracode/. No non-interactive mode is recorded, so invoke rejects before spawning and the CLI's run refuses it with the same message. The MCP config files are known but not yet mapped for the MCP tools, so listMcpServers returns nothing for it.

Capabilities and invocation

mcp: yesvision: yesaudio: novideo: notools: yesstreaming: yes

No non-interactive invocation is recorded, so invoke() rejects before spawning anything and every invocation mode reports false.

Paths

Templates as the registry stores them. ~, ${HOME} and %VAR% expand in resolve(); entries tagged with a platform are dropped on the others. Open in the explorer to see them expanded for a home directory of your choice.

config

  • .mastracode/mcp.jsonproject · official · allProject-scoped MCP server configurations.
  • ~/.mastracode/mcp.jsonuser · official · allGlobal MCP server configurations.
  • .mastracode/hooks.jsonproject · official · allProject-scoped hooks.
  • ~/.mastracode/hooks.jsonuser · official · allGlobal hooks.

sessions

  • ~/.local/share/mastracode/mastra.dbdata · official · linuxLibSQL database with threads, messages, and observational memory.

instructions

  • AGENTS.mdproject · official · all
  • CLAUDE.mdproject · official · allSupported for Claude Code compatibility.
  • .claude/CLAUDE.mdproject · official · allClaude Code compatible.
  • .mastracode/AGENTS.mdproject · official · allAlternative project-level location.
  • ~/.claude/CLAUDE.mduser · official · allClaude Code compatible.
  • ~/.mastracode/AGENTS.mduser · official · allGlobal user-level instructions.

skills

  • .mastracode/skills/project · official · all
  • ~/.mastracode/skills/user · official · allGlobal user-level skills.
  • .claude/skills/project · official · allClaude Code compatible.
  • ~/.claude/skills/user · official · allClaude Code compatible.

commands

  • .mastracode/commands/project · official · all
  • ~/.mastracode/commands/user · official · allGlobal commands.

hooks

  • .mastracode/hooks.jsonproject · official · all
  • ~/.mastracode/hooks.jsonuser · official · allGlobal hooks.

MCP servers

No MCP config file is mapped, so listMcpServers returns nothing for it and syncMcpServers skips it.

Detection

envVars

None. Detection is by project markers only.

projectMarkers

.mastracode

Persistence

  • JSON - MCP and hooks config files. (official)
  • SQLite - LibSQL database for threads, messages, and observational memory. (official)

No stable user-scope instructions file, so syncAgentsFiles skips this harness.

@agntn/harnesses·MIT license· Paths follow the upstream CLIs and carry their evidence level. This site reads nothing from your machine.