Open. No lock-in. Ever.

More than notes.
Still just Markdown.

People, tags, tasks and databases, all built on plain Markdown files in Git. Work with them on the desktop, on the web, or through your AI agents, and edit them in any editor you like.

brew install --cask mahfouz-app/tap/mahfouz

Homebrew, on macOS with Apple silicon.

Open the web app

Field Notes · Cairo Journal.md

# Cairo Journal

Cairo Journal

A place to collect small details from the city.

The old stone holds the warmth of the day. I followed a quiet lane past the market and turned toward the river.

See also [[Old streets]]

More than notes

Build it all on Markdown.

People, tags, tasks and databases aren't hidden in an app database. Each one is a line, a field or a folder in your notes, so you can change it in any editor and Mahfouz picks it up.

People

Everyone you work with.

A person is a note with a handle. Mention @ada anywhere, and their page gathers the tasks and notes that mention them.

Ada Lovelace.md
---
person: ada
email: ada@engine.co
company: Analytical Engines
---

Tasks

Due dates, right in the line.

A checkbox, an assignee and a date. The Tasks view collects them from every vault, and reminds you when they're due.

Reading list.md
- [ ] Finish Dune @ada // 2026-11-04
- [/] Notes on chapter 3 // 2026-11-02 18:30
- [x] Order the next book

Tags

Tag as you write.

Type a #tag in a sentence or list tags in the frontmatter. Search, filter and map your vault by them.

Cairo Journal.md
---
tags: [travel, cairo]
---
The old stone holds the warmth. #field-notes

Databases

Tables, boards and calendars.

A database is a note whose child notes are its rows. Each cell is a row's own frontmatter, and the views are YAML in the note.

Books/
Books.md              database: true
Dune.md               status: Reading
The Dispossessed.md   status: Done

Everywhere

Everything you build, wherever you work.

People, tasks, tags and databases work the same in the desktop app, in the web app, and for AI agents over MCP. Underneath, every one of them is text in a .md file, so any editor can change it too, with nothing to export.

  • DesktopmacOS with Apple silicon
  • WebAny modern browser
  • AgentsClaude, Codex and more, over MCP
  • Any editorPlain Markdown and YAML
  • GitEvery change, on any remote
  • MobileComing soon

A little more room to think

Your notes, without the lock-in.

Write in Markdown, follow ideas across your vault, and keep every note in a format that will still open in twenty years.

Files

A home for every thought.

Ordinary Markdown in folders you choose. Nest notes, open several vaults and tabs, and pin the ones you return to.

Format

.md

Every note is a plain file. Nothing to export.

Search

Every vault at once.

Links

Move through ideas, not folders.

Wikilinks, backlinks, an outline, and a page preview for long notes.

Plugins

Add what you need. Or build it.

Turn plugins on one vault at a time, and nothing installs or updates until you approve it. A plugin is a folder with a manifest and a JavaScript module, shared from any Git repository.

  • MermaidDiagrams · desktop and web
  • Draw.ioDiagrams · desktop and web
  • SlidevPresent and export to PowerPoint
  • PDF exportDesktop
  • Git LFSLarge media · desktop
  • Notion importPages, databases, files · desktop

Browse all plugins

Write your own plugin

Private by default

Your notes go nowhere you didn't send them.

Mahfouz has no cloud of its own, keeps no copy of your notes, and doesn't hand them to an AI. Your notes leave your computer only when you choose where: a Git remote you pick, or an AI agent you set up.

Cloud

No Mahfouz cloud.

A vault is a folder and a Git repository on your disk. To sync, push it to a private GitHub repository or any remote you already trust. Until then, nothing is uploaded.

AI

No AI until you add one.

The AI agent does nothing until you add your own Anthropic, OpenAI, or OpenRouter key, and then talks to that provider directly. External agents stay off until you turn them on, and see only the vaults you tick.

Your choice

Every way out is one you turn on.

  • SyncCommits, to the Git remote you add
  • AI agentTo the provider whose key you add
  • External agentsOnly the vaults you allow
  • PublishingOne note and its images, when you click Publish
  • FeedbackApp version and OS. Never your notes
  • AnalyticsNone. No account needed

Where your notes go

AI agents

Speaks agent, natively.

Your notes are already in the format language models read best. When you turn it on, Claude, Codex, and other agents can work in the vaults you pick, through MCP, while you stay in charge.

Markdown

No integration needed.

Every note is a plain .md file. Point any agent at the folder and it reads, searches, and edits your notes the way it works with code.

~/Field Notes $ ls
Cairo Journal.md   Ideas.md
Old streets.md     Reading list.md
~/Field Notes $ grep -l "#cairo" *.md
Cairo Journal.md
Old streets.md

MCP

A server, built in.

Turn on External agents and connect a client. Agents can create and nest notes, add database rows and tasks, tick them off, and comment.

Claude CodeClaude DesktopCodexclaude.ai
Connector URL
https://api.mahfouz.app/mcp

Approval

You decide what waits for you.

Pick which vaults each agent can reach and how it edits them. Every accepted change is committed as Agent: …, so it lands in history like any other edit.

  • Add a task to Reading listClaude Code · Field Notes · +1 line
    Applied · Undo
  • Expand "Morning light" in Cairo JournalCodex · Field Notes · +6 lines
    Applied · Undo
  • Delete Old draftsClaude Code · Field Notes · note deleted
    Waiting · destructive

Publishing a note always waits for you, whatever the mode. Connect an agent

Built on Git

Every change has
a way back.

Edits become commits as you write. Browse any note's history, restore a version, or push to a remote you already use.

Auto-savejust now
a19d20c
Auto-save31 minutes ago
7d4a812
Initial noteYesterday
02eb9a1
30 s
after you stop typing
Any
Git remote
0
servers to run

Get Mahfouz.

Free for macOS with Apple silicon. Install it with Homebrew.

brew install --cask mahfouz-app/tap/mahfouz

Updates arrive with brew upgrade --cask mahfouz. What's new