openhandoff-mcp
OpenHandoff
Переносимые, локально-ориентированные передачи контекста между ИИ-агентами кодирования.
OpenHandoff хранит постоянную информацию о проекте в двух небольших файлах:
CONTEXT.mdдля людей и Obsidian;context.jsonдля агентов, MCP-адаптеров и автоматизации.
Первый MVP намеренно простой и проверяемый: без облачного аккаунта, без скрытой базы данных, а редактирование происходит до записи передачи. Будущие адаптеры смогут читать транскрипты Codex, Claude Code, Cursor и Windsurf, не навязывая специфический для вендора формат памяти.
OpenHandoff предназначен для публичных репозиториев и командных передач: файлы — это обычный текст, MCP-сервер не имеет зависимостей, а значения, похожие на секреты, редактируются перед сохранением.
Набор навыков
Репозиторий включает три переносимых навыка в skills/:
openhandoff-context— захват, восстановление и упаковка контекста между агентами.openhandoff-privacy— аудит передач и транскриптов перед их публикацией.openhandoff-release— подготовка протестированных, документированных и воспроизводимых релизов.
Скопируйте каталог навыка в ваш каталог навыков Codex или установите его с помощью установщика навыков Codex, используя этот репозиторий GitHub. Навыки намеренно узкие, чтобы их можно было использовать независимо.
Related MCP server: ai-cortex
Быстрый старт
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Для обычной установки используйте pipx install openhandoff после публикации релиза. Зависимости для разработки и проверки описаны в CONTRIBUTING.md.
Создайте компактный срез контекста для конкретной задачи. Сначала сохраняются соответствующие решения, TODO и строки заметок, затем результат детерминированно обрезается до запрошенного бюджета:
openhandoff pack .context --task "MCP adapter" --max-chars 4000MCP-сервер
MCP-сервер без зависимостей предоставляет load_handoff, save_checkpoint, search_handoff и pack_context через stdio:
openhandoff-mcpДля локальной конфигурации агента используйте команду openhandoff-mcp без доступа к сети. Сервер только читает и записывает путь передачи, указанный агентом.
Пример конфигурации Codex:
[mcp_servers.openhandoff]
command = "openhandoff-mcp"
args = []Пример конфигурации Claude Desktop:
{
"mcpServers": {
"openhandoff": {
"command": "openhandoff-mcp",
"args": []
}
}
}Захват событий агента
openhandoff-hook принимает JSON-событие (или обычный текст) на stdin, редактирует значения, похожие на учетные данные, и добавляет результат в .context/events.jsonl:
printf '%s\n' '{"type":"agent_message","message":"finished"}' \
| openhandoff-hook --path .contextCodex может отправлять свой notify-полезный груз напрямую в хук. Добавьте это в вашу конфигурацию Codex (команда получает JSON-полезный груз на stdin):
notify = ["openhandoff-hook", "--path", ".context"]Для Claude Code подключите тот же исполняемый файл к командному хуку в ваших настройках. Точный файл настроек может различаться в зависимости от версии Claude Code; это иллюстративный пример:
{
"hooks": {
"afterTurn": [
{"command": "openhandoff-hook --path .context"}
]
}
}Импорт транскрипта
Потоки событий JSONL от Codex и Claude Code можно импортировать в тот же формат:
openhandoff import-transcript ./rollout.jsonl .context --title "Project handoff"Дорожная карта
Адаптеры транскриптов Cursor и Windsurf.
Цитирование файлов и коммитов в контекстных пакетах для конкретных задач.
Синхронизация Obsidian и GitHub со сканированием секретов и контрольными точками ревью.
Состояние проекта
Лицензия: MIT; см. LICENSE.
Сообщение о безопасности: см. SECURITY.md.
Вклад: см. CONTRIBUTING.md.
Примечания к релизам: см. CHANGELOG.md.
Архитектура: см. docs/architecture.md.
Процесс релиза: см. docs/releasing.md.
Проект находится на ранней стадии и приветствует реальные отзывы, интеграции и улучшения документации. Пожалуйста, не коммитьте чат-транскрипты, учетные данные или личные данные Obsidian.
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceProvides 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.8Apache 2.0
- AlicenseNot gradedqualityBmaintenanceProvides durable project context for coding agents, including project maps, session history, and explicit memories, all stored locally.746MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI coding agents to persist structured long-term memory (gotchas, architecture, API notes) in a .context folder and sync across devices and agents via Git.1020MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding assistants to store and retrieve project-aware context as plain Markdown files locally, with no cloud or vector database required.2MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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