codex-omnifocus-mcp
Enables Codex to interact with the user's local OmniFocus database on macOS, allowing task management, project creation, and tag operations through natural language.
README
codex-omnifocus-mcp
Local Codex-focused MCP server for OmniFocus on macOS.
This project starts from omnifocus-mcp-enhanced and adds Codex-oriented server instructions, MCP resources, compact query tools, tag tools, clean shutdown, logging, and write audit logging.
What This Repo Is
This repository is the source code for a local MCP server. It is not a hosted web service and it does not run a central cloud server.
Each user installs this repo on their own Mac. Codex starts the MCP server locally with Node.js, talks to it over stdio, and the server reads or updates the user's local OmniFocus database through AppleScript/JXA.
In short:
Codex -> local MCP stdio -> node dist/server.js -> AppleScript/JXA -> OmniFocus
The GitHub repo's role is distribution: source code, docs, install scripts, tests, and release history.
Install From A Clone
git clone https://github.com/phd-peter/codex-omnifocus-mcp.git ~/.local/share/codex-omnifocus-mcp
cd ~/.local/share/codex-omnifocus-mcp
scripts/install-codex.sh
To clone from a script-driven install after downloading this script separately:
CODEX_OMNIFOCUS_REPO_URL=https://github.com/phd-peter/codex-omnifocus-mcp.git scripts/install-codex.sh
The installer runs npm ci, builds the TypeScript output, and registers the MCP server with Codex:
codex mcp add codex-omnifocus -- node /path/to/codex-omnifocus-mcp/dist/server.js
If Codex does not show the new tools immediately, restart Codex or open a new Codex session.
Local Development
npm install
npm run build
codex mcp add codex-omnifocus -- node "$PWD/dist/server.js"
The server is intended for local use. package.json remains marked private as an npm publishing guard; the GitHub repository can still be public.
Useful commands:
npm test
npm run build
npm run preflight
npm run register:codex
Create Your Own OmniFocus Agent
This repo provides the shared MCP server and the default Codex tool-use guidance in skills/codex-omnifocus/SKILL.md. Your personal agent behavior should live in a separate AGENTS.md so each user can define their own OmniFocus system without changing the server.
Start from the template:
cp AGENTS.example.md AGENTS.md
Then edit AGENTS.md for your own workflow:
- default capture destination
- tags and custom perspectives
- due/defer date habits
- daily planning and weekly review style
- when the agent may write directly and when it should ask first
Personal AGENTS.md files are ignored by default because they can include sensitive project names, routines, or decision rules.
Audit Logs
Write tools append JSONL entries to:
~/.codex/codex-omnifocus-mcp/audit/YYYY-MM-DD.jsonl
Override the directory with:
export CODEX_OMNIFOCUS_AUDIT_DIR=/path/to/audit
Audited tools:
add_omnifocus_taskadd_projectedit_itemmove_taskremove_itembatch_add_itemsbatch_remove_itemscreate_tag
Verification
npm test
npm run build
npm audit --omit=dev
OmniFocus integration tests should be run manually with OmniFocus open on macOS.
Privacy
See PRIVACY.md. Audit logs and OmniFocus exports can contain private task, project, tag, date, and note data. Do not commit backups/, exports/, .env*, audit/, or *.jsonl.
Architecture
See docs/architecture.md for the local runtime model and trust boundary.
Distribution
See docs/distribution.md for the public GitHub, local-first release strategy.
Marketing
See docs/marketing.md for launch positioning, channels, content ideas, and the first 30 days of public distribution work.
Notices
See NOTICE.md for upstream attribution.
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.