Skip to main content
Glama

OpenHandoff

Portable, local-first context handoffs between AI coding agents.

CI License: MIT Python

OpenHandoff keeps the durable project truth in two small files:

  • CONTEXT.md for people and Obsidian;

  • context.json for agents, MCP adapters, and automation.

The first MVP is deliberately boring and inspectable: no cloud account, no hidden database, and redaction happens before the handoff is written. Future adapters can read Codex, Claude Code, Cursor, and Windsurf transcripts without forcing a vendor-specific memory format.

OpenHandoff is designed for public repositories and team handoffs: files are plain text, the MCP server is dependency-free, and secret-shaped values are redacted before persistence.

Skill pack

The repository includes three portable skills under skills/:

  • openhandoff-context — capture, recover, and pack context between agents.

  • openhandoff-privacy — audit handoffs and transcripts before sharing them.

  • openhandoff-release — prepare tested, documented, reproducible releases.

Copy a skill directory into your Codex skills directory, or install it with the Codex skill installer using this GitHub repository. The skills are deliberately narrow so they can be used independently.

Related MCP server: ai-cortex

Quick start

python -m venv .venv
source .venv/bin/activate
pip install -e .
openhandoff init .context --title "My project"
openhandoff capture .context \
  --title "My project" \
  --decision "Use SQLite" \
  --todo "Add the MCP adapter" \
  --notes "The next agent should run the test suite first."
openhandoff show .context

For a normal user install, use pipx install openhandoff after a release is published. Development dependencies and checks are documented in CONTRIBUTING.md.

Build a compact context slice for a specific task. Matching decisions, TODOs, and note lines are kept first, then the result is trimmed deterministically to the requested budget:

openhandoff pack .context --task "MCP adapter" --max-chars 4000

MCP server

The dependency-free MCP server exposes load_handoff, save_checkpoint, search_handoff, and pack_context over stdio:

openhandoff-mcp

For a local agent configuration, use the command openhandoff-mcp with no network access. The server only reads and writes the handoff path supplied by the agent.

Example Codex configuration:

[mcp_servers.openhandoff]
command = "openhandoff-mcp"
args = []

Example Claude Desktop configuration:

{
  "mcpServers": {
    "openhandoff": {
      "command": "openhandoff-mcp",
      "args": []
    }
  }
}

Capture agent events

openhandoff-hook accepts a JSON event (or plain text) on stdin, redacts credential-shaped values, and appends the result to .context/events.jsonl:

printf '%s\n' '{"type":"agent_message","message":"finished"}' \
  | openhandoff-hook --path .context

Codex can send its notify payload directly to the hook. Add this to your Codex configuration (the command receives the JSON payload on stdin):

notify = ["openhandoff-hook", "--path", ".context"]

For Claude Code, wire the same executable into the command hook in your settings. The exact settings file can vary by Claude Code version; this is an illustrative example:

{
  "hooks": {
    "afterTurn": [
      {"command": "openhandoff-hook --path .context"}
    ]
  }
}

Import a transcript

Codex and Claude Code JSONL event streams can be imported into the same format:

openhandoff import-transcript ./rollout.jsonl .context --title "Project handoff"

Roadmap

  1. Cursor and Windsurf transcript adapters.

  2. File and commit citations in task-specific context packs.

  3. Obsidian and GitHub sync with secret scanning and review gates.

Project health

The project is early-stage and welcomes real-world feedback, integrations, and documentation improvements. Please do not commit chat transcripts, credentials, or private Obsidian data.

Install Server
A
license - permissive license
B
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI coding assistants with persistent project memory to retain architectural decisions, code patterns, and domain knowledge across sessions. It stores data locally in a SQLite database, allowing agents to remember, recall, and manage project-specific context using full-text search.
    8
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides durable project context for coding agents, including project maps, session history, and explicit memories, all stored locally.
    74
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding assistants to store and retrieve project-aware context as plain Markdown files locally, with no cloud or vector database required.
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Persistent memory for AI agents. Search, store, and recall across sessions.

  • Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/StoneReaper/openhandoff'

If you have feedback or need assistance with the MCP directory API, please join our Discord server