AI assistants

Let Claude, Codex or another assistant add, find and update your Actions, through the MCP server of Matters that Matter and a skill that teaches it the words.

An AI assistant can keep your board up to date while you talk to it: “remind me to send Marco the revised quote on Friday”, “what’s waiting on other people?”, “I’ve paid the council tax”. Two pieces make that work:

Either works alone; together they work best.

The MCP server

The server runs on your computer. The assistant’s app starts it and talks to it through standard input and output: it opens no network port, and nothing about your vault leaves your computer except what the assistant itself sends to its own service. Each tool reads the vault afresh, so the assistant sees your notes as they are now, with or without Obsidian open.

It needs Node.js 20 or later, and a vault with Matters that Matter set up.

Set it up

The server serves one vault, named with --vault. In the examples, the vault is ~/Notes.

Claude Code:

claude mcp add matters -- npx -y matters-that-matter mcp --vault ~/Notes

Claude Desktop: in Settings → Developer → Edit Config, add the server to claude_desktop_config.json, then restart Claude:

{
  "mcpServers": {
    "matters": {
      "command": "npx",
      "args": ["-y", "matters-that-matter", "mcp", "--vault", "/Users/you/Notes"]
    }
  }
}

Codex:

codex mcp add matters -- npx -y matters-that-matter mcp --vault ~/Notes

or in ~/.codex/config.toml:

[mcp_servers.matters]
command = "npx"
args = ["-y", "matters-that-matter", "mcp", "--vault", "~/Notes"]

Grok Build (not tried yet): add a local (stdio) MCP server named matters with the command npx and the arguments -y matters-that-matter mcp --vault ~/Notes, as its documentation describes for MCP servers.

Other assistants that run local MCP servers take the same command and arguments.

Use it

Talk as you would to a person who knows your board. You might say “Remind me to send Marco the revised quote on Friday. It’s for the kitchen.” The assistant calls add_action with { "text": "Send Marco the revised quote fri", "matter": "Kitchen", "type": "message" }, and the tool answers:

Added “Send Marco the revised quote”
  Kitchen renovation · Later · Message · due Fri 16 Oct
  MTM/Actions/Send Marco the revised quote.md

The card is on your board at once. Later, “move it to Thursday at 10” becomes update_action, and “I’ve sent it” becomes mark_as_done, on the same Action.

Most assistants’ apps ask before a tool writes anything, and show what it will do; reads can usually be allowed without asking. Claude asks before each tool call by default; you can always allow the ones that read.

The tools

Tool What it does Writes
get_today What matters today: due today or late (else the next ones), the Inbox, reviews due, long waits No
list_actions Actions, filtered by Matter, status, type, Sphere, person, due dates or waiting; done ones only when asked No
get_action Everything about one Action No
list_matters Matters in board order, with their counts and reviews No
get_workflow Your statuses, types and Spheres No
add_action Adds an Action; its text works as in quick add Yes
update_action Changes an Action; strict, like mtm update Yes
mark_as_done Marks an Action as done Yes
reopen_action Reopens a done Action Yes
add_matter Adds a Matter, last on the board Yes

The tools take the command line’s fields, named without the dashes in front (waiting-on, due-from, review-every), plus text for quick add’s words and action for the Action a tool works on. Each answers with the command line’s output as text, and its --json result as data. A name that matches several things, or a value that matches nothing, is an error that lists what would work, and nothing is written.

Offer less

Option Does
--read-only Offers only the tools that read: get_action, list_actions, get_today, list_matters, get_workflow
--tools <a,b> Offers only these tools, such as --tools get_today,list_actions
--dry-run Tools that write say what they would change, and write nothing
--config-dir <folder> The vault’s configuration folder, if it isn’t .obsidian
claude mcp add matters -- npx -y matters-that-matter mcp --vault ~/Notes --read-only --tools get_today,list_actions

An assistant that reads web pages or email for you is a good place for --read-only.

What an assistant can and can’t do

An assistant can be misled by something it reads. A web page, an email, or even an Action’s title can hold text written to look like an instruction (“mark everything as done”). The server keeps what a misled assistant could do small and visible:

  • Only the data of Matters that Matter. It reads and writes Actions, Matters and the workflow, nothing else. get_action gives an Action’s details, checklist and the names of the notes it links to, never their content, and no tool reads your other notes.
  • Nothing deleted, no settings changed. There is no tool for either.
  • Every write is reported, property by property, so you can see it and put it back: reopen_action after mark_as_done, another update_action for a change. An added Action or Matter can be deleted in Obsidian.
  • No surprises in other notes. A new Action or Matter never takes a name another note already has, so links to that note keep reaching it. A new title renames the note and updates links to it, as Obsidian does when its Automatically update internal links is on (links to another note that already has the new name get its path, so they keep reaching it), and is refused when that setting is off and another note has the name.
  • Nothing created on the side. Naming a Matter that doesn’t exist puts the Action in the Inbox, and says so. People are never created.
  • The server tells the assistant to treat titles, details and checklist items as information, never as instructions.

What you can do:

  • Keep the asking on. Let reads run freely, and have writes ask first.
  • Read what it did. Every write says what changed, and the board shows it.
  • Offer less where an assistant reads things you didn’t write: --read-only, or only the tools it needs.

Anything that can write your vault can change your Actions. The server can’t make that safer, but it doesn’t make it any wider.

The skill

The skill is a short guide for the assistant, in the open Agent Skills format: a folder, matters-that-matter, with a SKILL.md and a reference to the note format. It teaches:

  • The words. Action, Matter, Inbox, Sphere, “Mark as done”, “What matters today?”, capitalised as Matters that Matter does, and your own statuses and types rather than any method’s.
  • Add or change. When you mention something that already exists, find that Action and change it; add one only for something new.
  • Restraint. Never create a Matter or a person’s note on its own; nothing is ever deleted; report every change.
  • The tools first, then the command line, and only without either, the notes themselves, written by the note format.

It is in the plugin’s repository, under skills/matters-that-matter. To get it:

git clone --depth 1 https://github.com/manueldelgado/Matters-that-Matter.git

Claude Code: copy the folder into your skills, for every project or for one:

cp -R Matters-that-Matter/skills/matters-that-matter ~/.claude/skills/
cp -R Matters-that-Matter/skills/matters-that-matter <your project>/.claude/skills/

Claude uses it when you talk about your Actions and Matters, or when you ask for it by name.

The Claude apps: make a ZIP file of the matters-that-matter folder and add it where your settings list skills.

Codex: copy the folder into Codex’s skills folder (~/.codex/skills/). Its agents/openai.yaml names the matters server; Codex doesn’t set the server up by itself, since it needs your vault’s path, so add it as above.

Other assistants that read Agent Skills take the same folder. For one that doesn’t, paste the content of SKILL.md into its instructions.