Turn your journal into an AI knowledge base

Claude can read, search, and organize your entries through the SavingThoughts MCP server. You stay in control: it's your token, scoped to exactly what you allow, and revocable at any time.

What you can do

Build legal chronologies from tagged entries

Point Claude at a case tag and a date range, and let it draft a dated chronology you can hand to opposing counsel.

Search across everything by meaning

Ask questions across months of entries. Semantic search surfaces the right thoughts even when you don't recall the exact words.

Keep a living timeline up to date

Merge fresh entries into an existing timeline document, in chronological order, with new events flagged automatically.

Step 1 — Create your API key

Your API key authorizes Claude to talk to your journal. Create one in a minute.

  1. Log into https://my.savingthoughts.app.
  2. Go to Settings → MCP API Keys (path /settings/mcp).
  3. Click Generate Key.
  4. Enter a name, select the scopes you want to grant, and optionally set an expiry date.
  5. Copy the token now. It is shown once and can never be retrieved again. If you lose it, generate a new one.

Each scope grants a specific kind of access. Pick only what you need:

  • entries:read — read your journal entries
  • entries:write — create and update entries
  • tags:read — read your tags
  • tags:write — create tags
  • summaries:read — read your daily summaries

Tokens always start with sta_mcp_. You can hold up to 20 tokens per account, and you can revoke any token at any time from the same screen.

Step 2 — Connect Claude Code

Add the MCP server from your terminal, or drop it straight into a .mcp.json file.

Terminal
claude mcp add --transport http saving-thoughts https://api.savingthoughts.app/api/mcp --header "Authorization: Bearer sta_mcp_YOUR_TOKEN_HERE"

Prefer to commit the config? Use the .mcp.json equivalent:

.mcp.json
{
  "mcpServers": {
    "saving-thoughts": {
      "type": "http",
      "url": "https://api.savingthoughts.app/api/mcp",
      "headers": { "Authorization": "Bearer sta_mcp_YOUR_TOKEN_HERE" }
    }
  }
}

Use --scope local for just the current project (the default), --scope project to write a shareable .mcp.json into the repo, or --scope user to make the server available across all of your projects.

Step 3 — Connect Claude Desktop

Claude Desktop reaches the server through the mcp-remote bridge.

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "saving-thoughts": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.savingthoughts.app/api/mcp", "--header", "Authorization: Bearer ${STA_TOKEN}"],
      "env": { "STA_TOKEN": "sta_mcp_YOUR_TOKEN_HERE" }
    }
  }
}

This requires Node.js installed on your machine. After editing the file, restart Claude Desktop so it picks up the new server.

Note: SavingThoughts authenticates with a static API token, so you do not use Claude Desktop's native “Custom Connector” UI here — the mcp-remote bridge above is the supported path.

Step 4 — Verify it works

Ask Claude something simple. If it answers from your journal, you're connected.

Try this prompt
List my SavingThoughts tags

If Claude returns your tags, the connection works. The server exposes nine tools, grouped by what they do:

  • Read: list_entries, get_entry, search_entries, get_daily_summary, list_summaries, list_tags
  • Write: create_entry, update_entry, create_tag

Worked legal examples

Two real workflows a litigator can run end to end.

Example A — Build a chronology (new document)

You type
Using the saving-thoughts MCP, pull every entry from 2026-03-01 to 2026-04-30 tagged smith-case, then draft a dated chronology document I can hand to opposing counsel.

What Claude does: Claude calls list_entries with date_from=2026-03-01, date_to=2026-04-30, and tag=smith-case, then reads the details of individual entries via get_entry where it needs more, and composes a new chronological document for you. Note that list_entries filters by a single tag per call — if the facts you need are spread across several tags, Claude pulls each tag in turn rather than combining them in one filter. The result is a draft built in seconds instead of hours of manual copy-and-paste.

Example B — Merge into an existing timeline

You type
Now take those same entries and merge them into my existing case-timeline.md, keeping everything in chronological order and flagging any new events not already listed.

What Claude does: Claude reuses the entries it already fetched for the smith-case tag, reconciles them against your existing case-timeline.md, and inserts any new dated events in order while flagging the additions. This step is read-only on SavingThoughts (it only needs entries:read) — the merge happens entirely in your local document, so your journal is never modified.

Create your API key and connect Claude today

Your token, your scopes, revocable any time.

Create your API key →