Dear Agent
Automatically maintains a personal journal on behalf of an AI agent, storing text, photos, and voice notes as plain markdown files locally. Enables agents to add entries, recall memories, and reflect on patterns without user intervention.
README
Dear Agent
<p align="center"> <img src="https://raw.githubusercontent.com/BitmapAsset/dear-agent/main/assets/dear-agent.jpg" alt="A person tells their AI agent about a hard day; the agent writes it into their diary." width="100%"> </p>
Your AI agent keeps your diary for you. You never open an app or write a word.
You already talk to an AI agent all day. Dear Agent lets that agent quietly keep your personal life journal — filing what you tell it, the photos you send, and the voice notes you record, neatly by date. No app to open. No blank page to face. No habit to build. You just live your life and mention what matters; your agent does the writing.
It is a single, local-first MCP server plus a skill, so it drops into any agent that speaks MCP: Claude Code, Claude Desktop, Cursor, OpenClaw, and more.
Why it is different
- You do not write it. Your agent does. Every other journal — Day One, Obsidian, Notion, a paper notebook — needs you to open it and type. Dear Agent flips that: you talk, it records.
- Cross-agent. One diary, readable and writable by whatever agent you use.
- Text, photos, and voice. Send a picture or a voice note and it is filed under that day.
- Local-first and yours. Plain markdown on your own disk. No account, no cloud, no lock-in. Delete the folder and it is gone.
- It remembers with you. "On this day" resurfaces past entries; a weekly digest lets your agent write you a short reflection.
Install
npm install -g dear-agent
Or run it straight from npx (no install):
npx dear-agent
Claude Code / Claude Desktop
claude mcp add dear-agent -- npx -y dear-agent
Or add to your MCP config:
{
"mcpServers": {
"dear-agent": {
"command": "npx",
"args": ["-y", "dear-agent"]
}
}
}
Cursor / OpenClaw / other MCP clients
Point the client at the dear-agent command (stdio transport). Set DEAR_AGENT_DIR if you want the diary somewhere other than ~/.dear-agent.
Then drop SKILL.md into your agent's skills so it knows to keep your diary proactively.
How you use it
You never call tools yourself. You just talk to your agent:
"Remember that I closed the apartment lease today, felt huge relief." "Save this photo for today — first dinner in the new place." (send the photo) "What was I doing a year ago today?" "Give me a recap of this week."
Your agent calls the right tool and keeps the diary current.
It remembers you, and it talks back
Dear Agent is not just storage. Two capabilities turn it into a living memory of your life:
recall— your agent can ask the diary "what do you know about this person — their people, patterns, open commitments?" and get a synthesized portrait. Your agent finally remembers your life, so every conversation is grounded in who you actually are.reflect— a proactive loop that surfaces patterns, progress, open loops, and on this day memories, so your diary reflects your life back to you instead of sitting in a folder.
Obsidian stores your notes. Dear Agent remembers your life and talks back. And because it never leaves your machine, it's the one place you can be completely honest.
Works with any agent, harness, or interface
| Interface | How |
|---|---|
| MCP tools | 11 tools (below) over stdio. |
| MCP prompts | daily_checkin, weekly_reflection — surface as slash-commands. |
| MCP resources | diary://today, diary://index. |
| Skill | SKILL.md for skill-based harnesses (Claude Code, OpenClaw). |
| CLI | dear-agent add "...", recall, reflect, … — for any agent that can run a shell. |
CLI examples:
dear-agent add "Closed the interview, felt good." --mood hopeful --tags job,win
dear-agent recall Sarah
dear-agent reflect week
dear-agent on-this-day
Tools
| Tool | What it does |
|---|---|
add_entry |
Save a text moment (optional mood, tags) for a day. |
add_photo |
Save a photo for a day (local path or base64), with a caption. |
add_voice_note |
Save a voice note for a day, with an optional transcript. |
get_day |
Read one day's full entry. |
get_range |
Read entries between two dates. |
search |
Find days matching a word or phrase. |
recall |
What the diary knows about a person/topic, or a whole-life profile digest. |
reflect |
Patterns, progress, open loops, and on-this-day, for a proactive check-in. |
on_this_day |
Resurface this same calendar date from past years. |
weekly_digest |
Pull the last 7 days for a reflection. |
list_days |
List every day on record. |
Dates accept today, yesterday, or YYYY-MM-DD.
Where your diary lives
~/.dear-agent/
entries/
2026-06-29.md
media/
2026-06-29/
first-dinner.jpg
morning-thought.ogg
Set DEAR_AGENT_DIR to choose a different location.
Contributing
Issues and pull requests are welcome. Dear Agent is intentionally small and dependency-light — keep changes focused, keep storage as plain files the user owns, and keep everything local-first and private. See ROADMAP.md for where it is headed.
License
MIT © BitmapAsset. Free for anyone, anywhere, in any agent.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.