Docs

MCP server

Applies to monthlet 0.13.1 and later

monthlet can act as an MCP server, so an agent outside the app — Claude Code, for example — can read and write the notes in your vault through monthlet itself rather than touching the files behind its back. This page lists what is published and what each tool guarantees. For the steps inside the app, see Help in the app.

What it is

When you turn it on, monthlet listens for MCP connections and offers a fixed set of tools: searching and listing notes, reading a note as Markdown, reading spreadsheet cells and chart values, and — separately opt-in — creating and rewriting notes.

The app has to be running. Agents connect only while monthlet is open, and the vault they see is the one you have open. Switching vaults switches what is published.

Everything goes through monthlet, which stays the single writer of your files. That is what keeps the note history, the search index, and the open editor in step with what an agent does.

Setting it up

  1. In monthlet, open Settings → Connectors → Publish to external agents and turn on Publish.
  2. Under Setup, press Copy command and run what you copied in a terminal. It registers monthlet with Claude Code.
  3. To let agents write as well, turn on Allow writing in the same place. It is off by default.

The command looks like this. Copy the real one from the settings screen — the path depends on where the app is installed.

claude mcp add --scope user monthlet -- \
  /Applications/monthlet.app/Contents/Resources/bin/monthlet-mcp

This is the newer of two ways to connect, and it needs monthlet 0.13.3 or later, which is where the command started being bundled. You can also tell from the settings screen: if Setup offers both Copy command and Direct HTTP (with token), you have it. If there is only one button, use the HTTP method below instead.

Connecting over HTTP instead

Clients that cannot launch a command, or that only speak streamable HTTP, can connect to the endpoint directly. Copy this one from Direct HTTP (with token) on the same screen — it carries your token, and the port differs when the default one is taken.

claude mcp add --scope user --transport http monthlet \
  http://127.0.0.1:27180/mcp --header "Authorization: Bearer <token>"

Tools

Reading

ToolWhat it doesMain argumentsReturns
search_notesFull-text search over notes and spreadsheets: titles, bodies, and tags.query (required), tags, includeArchived, limit (20)Matches by relevance, each with path, title, kind, updated date, tags, and a short snippet.
list_notesLists notes and spreadsheets, most recently updated first.folder, includeExcerpt, includeArchived, limit (200)Path, folder, title, kind (note or sheet), updated date, tags, pinned, archived, and the first 160 characters when asked for.
read_noteReads a note body as Markdown. Spreadsheets are not covered — use read_sheet_range.path (required)Path, title, tags, updated date, and the body as Markdown.
read_sheet_rangeReads cells from a spreadsheet in the vault.path (required over this connection), range (A1 notation), sheet_idThe cell values. Without a range, an overview of the used area.
read_chart_dataReads the numbers behind a chart in a note.path (required), idLabels and series values per chart. For charts bound to a sheet, the source path and range as well.

Writing

These appear only while Allow writing is on. Paths are relative to the vault, the same ones the reading tools return.

ToolWhat it doesMain argumentsReturns
create_noteCreates a note from Markdown. Missing folders are created along the way.title (required), markdown (required), folderThe path and title of the new note. A number is appended when the title is already taken.
update_noteReplaces the body of a note with Markdown.path (required), markdown (required)The path, the title, the placeholders that survived, and any that were dropped.
create_folderCreates an empty folder, intermediate levels included.path (required)The folder that was created.
create_sheetCreates a spreadsheet from rows of text. Formulas and formatting are not set at creation.title (required), rows (required), folderThe path and title of the new spreadsheet.

What the tools guarantee

Not exposed, on purpose

These exist in the app but are not offered over the connection.

Security

Compatibility