openhandoff-mcp

openhandoff-mcp

Enables AI coding agents to persist, share, and retrieve project context locally via plain-text files, with support for capturing, packing, searching, and importing transcripts without external services.

Category
Visit Server

README

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.

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.

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