codex-omnifocus-mcp

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.

Category
Visit Server

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_task
  • add_project
  • edit_item
  • move_task
  • remove_item
  • batch_add_items
  • batch_remove_items
  • create_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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured