Day One MCP Server

What is the Day One MCP Server?

The Day One MCP (Model Context Protocol) Server enables AI assistants like Claude to interact directly with your Day One journals. This integration allows you to create entries, search your journal history, and manage your journaling workflow naturally through conversations with AI.

With the MCP Server, you can ask your AI assistant to:

  • Create journal entries from your conversations
  • Search through your past entries
  • Add tags, photos, and other metadata to entries
  • Retrieve entries from specific dates or journals

Important: The Day One MCP server is currently available only for Day One for Mac. The server accesses your journal data directly from the Mac app’s local database.

How It Works

The Day One MCP server is a local server that runs entirely on your Mac. Here’s how it works:

  1. Fully Opt-In: This feature is completely inactive until you install the CLI, enable it in Labs preferences, and grant journal-specific permissions.
  2. Local Processing: When you use an AI assistant with Day One MCP, the server runs on your Mac and accesses your journal data directly from Day One’s local database.
  3. How Data Flows: The MCP server acts as a bridge between your AI assistant and your local Day One data. When you ask your AI assistant to read or create journal entries, the MCP server retrieves or updates the data locally, then returns the results to your AI assistant.
  4. Communication Flow:
   AI Assistant (Claude, Cursor, etc.)
        ↓ Request (e.g., "create an entry")
   Day One MCP Server (on your Mac)
        ↓ Accesses local data
   Day One Database (on your Mac)
        ↓ Returns result
   AI Assistant receives response
        ↓ Sends to LLM provider (Anthropic, OpenAI, etc.)
  1. Privacy Considerations: The MCP server itself doesn’t send your journal data to external services. However, the AI assistant you’re using will send any journal content it retrieves to its LLM provider (such as Anthropic for Claude, OpenAI for ChatGPT, etc.) for processing. You have full control over which journals are accessible through the MCP Access Control settings.

Setup

Prerequisites

Before setting up the MCP server, you need to install the Day One Command Line Interface (CLI).

Install Day One CLI →

Setting Up MCP for Claude Desktop

The easiest way to set up Day One MCP for Claude Desktop is using our MCP bundle file:

  1. Download the Day One MCP Bundle (.mcpb file) from this download link (On GitHub)
  2. Double click the .mcpb file in Finder
  3. Follow the prompts to complete installation

That’s it! Day One MCP is now installed.

Setting Up MCP for Other AI Tools

For other AI tools that support the Model Context Protocol, you’ll need to manually configure the MCP server. Here are instructions for popular tools:

Claude Code

claude mcp add --scope user --transport stdio dayone-cli /usr/local/bin/dayone mcp

Cursor

Add the following to your ~/.cursor/mcp.json file:

{
  "mcpServers": {
    "dayone-cli": {
      "command": "/usr/local/bin/dayone",
      "args": ["mcp"]
    }
  }
}

Gemini CLI

Add the following to your ~/.gemini/settings.json file:

{
  "mcpServers": {
    "dayone-cli": {
      "command": "/usr/local/bin/dayone",
      "args": ["mcp"]
    }
  }
}

Configure Journal Access

For security and privacy, you need to explicitly grant the MCP server access to specific journals:

  1. Open Day One on your Mac
  2. Go to Preferences → Labs
  3. Enable “Mac CLI MCP Server”
  4. Click “MCP Access Control”
  5. Toggle on the journals you want to make accessible to AI assistants

Important: Only journals with MCP access enabled will be visible to AI assistants. This gives you complete control over which journals can be accessed.

Available Tools

The Day One MCP Server provides the following tools to AI assistants:

List Journals

Returns a list of all journals that have MCP access enabled, including their IDs and names.

Use cases:

  • “Show me all my journals”
  • “What journals do I have?”

Create Entry

Creates a new journal entry with text content and optional metadata.

Parameters:

  • text (required): The content of the journal entry in markdown format
  • journal_id or journal_name (optional): Specify which journal to use
  • date (optional): Entry date in ISO8601 format (e.g., ‘2025-08-20T15:30:00Z’)
  • tags (optional): Comma-separated list of tags (e.g., ‘work,meeting,important’)
  • attachments (optional): Comma-separated file paths to attach (images, videos, audio, PDFs)
  • starred (optional): Mark the entry as starred/favorite
  • all_day (optional): Mark the entry as an all-day event

Use cases:

  • “Create a journal entry about today’s meeting”
  • “Add a new entry to my Work Journal with tags ‘project’ and ‘ideas'”
  • “Write a journal entry dated yesterday about my trip”

Get Entries

Retrieves journal entries by search query, date range, or from specific journals.

Parameters:

  • journal_ids or journal_names (optional): Specify which journals to search
  • query (optional): Search text to find entries
  • start_date (optional): Filter entries from this date onwards (YYYY-MM-DD)
  • end_date (optional): Filter entries up to this date (YYYY-MM-DD)
  • limit (optional): Maximum number of entries to return (default: 10, max: 50)

Use cases:

  • “Find all entries about ‘vacation’ from last year”
  • “Show me entries from my Travel Journal in August”
  • “What did I write about on this day in previous years?”
  • “Search for entries mentioning ‘project alpha'”

Update Entry

Updates an existing journal entry’s content or metadata.

Parameters:

  • entry_id (required): The ID of the entry to update
  • journal_id (optional): Journal ID for unique identification
  • text (optional): New content for the entry in markdown format
  • tags (optional): Comma-separated list of tags (replaces existing tags)
  • attachments (optional): File paths to add as attachments
  • starred (optional): Update starred status
  • all_day (optional): Update all-day event status

Use cases:

  • “Update yesterday’s entry to add more details”
  • “Add the tag ‘important’ to my last entry”
  • “Edit my most recent entry to fix a typo”

Privacy and Security

Password Lock

If you have password lock enabled in Day One, the MCP server will not start. This ensures your journals remain secure when your Mac is unlocked but Day One requires authentication.

Journal-Level Access Control

You have granular control over which journals are accessible through the MCP server. Only journals you explicitly enable in the MCP Access Control panel can be accessed by AI assistants.

Local Processing

The Day One MCP server runs entirely on your Mac. Your journal data is never sent to external servers – it’s only accessible to AI assistants you’ve configured to use the MCP server.

Troubleshooting

“CLI Not Installed” Error

Make sure you’ve installed the Day One CLI by following the installation guide.

You can check if Day One CLI is properly installed by executing the following command in Terminal.app:

$ /usr/local/bin/dayone -version

If it’s installed correctly, you should see output similar to the following.

    Version: 2025.23.1709
Loaded From: /Applications/Day One.app/Contents/Frameworks/CLIKit.framework

Also, you can check if Day One MCP server is enabled in the Labs by the following command.

$ /usr/local/bin/dayone mcp

If it’s enabled, you should see output similar to the following. (Then, Ctrl + C to stop the MCP server)

2025-11-20 09:13:06:950 [main            ] I <App>     **** NEW SESSION ****
2025-11-20 09:13:06:950 [main            ] I <App>     **** NEW SESSION ****
2025-11-20 09:13:06:951 [main            ] I <App>     dayone/0 (en_US; macOS/26.1; MacBook Pro; MacBookPro18,2; Release/0; Core/1709) <11/20/2025 09:13:06 EST(-0500)> <11/20/2025 07:13:06 MST(-0700)>
2025-11-20 09:13:06:951 [main            ] I <App>     dayone/0 (en_US; macOS/26.1; MacBook Pro; MacBookPro18,2; Release/0; Core/1709) <11/20/2025 09:13:06 EST(-0500)> <11/20/2025 07:13:06 MST(-0700)>
2025-11-20 09:13:06:955 [com.apple.root.u] I <Core>    Starting Day One MCP Server
2025-11-20 09:13:06:955 [com.apple.root.u] I <Core>    Starting Day One MCP Server

“No Journals Available” Message

This means no journals have MCP access enabled. Go to Day One → Preferences → Labs → MCP Access Control and enable access for the journals you want to use.

MCP Server Not Working in AI Assistant

  1. Verify the CLI is installed: Open Terminal and run /usr/local/bin/dayone --version
  2. Check that MCP access is enabled for at least one journal
  3. Restart your AI assistant application
  4. For Claude Desktop: Check Settings → Extensions to ensure Day One MCP is installed

FAQs

Q: Is the MCP server included in Day One?

A: The MCP server code is included in Day One’s frameworks, but it is completely inactive by default. To use it, you must:

  1. Manually install the Day One Command Line Interface (CLI) through Day One → Help → Install Command Line Tools
  2. Enable “MCP Access” in Day One → Preferences → Labs
  3. Grant explicit access to each journal you want to make available

Without these deliberate steps, the MCP functionality remains dormant and cannot access your journals.

Q: How do I completely disable or remove MCP access?

A: You have several options depending on your needs:

  • Temporary disable: Toggle off “MCP Access” in Day One → Preferences → Labs
  • Remove specific journals: Revoke access to individual journals in the MCP Access Control settings
  • Complete removal: Uninstall the Day One CLI by deleting /usr/local/bin/dayone (or wherever you installed it)

Capture life’s moments, anytime, anywhere.

Download the free Day One journal app for free on iPhone, Android, iPad, Mac, and Apple Watch. Or access your Day One Journal from any browser.