LabscoMCP early access ↗
fatmaliMCP SERVER · OFFICIAL PROJECT

Wormhole

A shared work log across Claude Code, Copilot and Cursor — every edit, command and decision recorded, with stale file edits filtered out automatically.

by fatmali ↗Agent Memory✓ Official

LABSCO SUMMARY

It refuses to hand back an edit that no longer exists.

That is the feature that separates this from a log file. An agent reading a shared history is at risk of acting on a change someone else has since replaced; validating each file edit against the current file at retrieval time removes that class of error rather than documenting it. The token discipline is visible too — delta queries by cursor, three detail levels, and compact output — because a shared log is worthless if reading it costs the context you were trying to save.

What it is

A memory layer for the case where more than one agent is working on the same project — parallel subagents, or you switching between Claude, Copilot and Cursor mid-task. One universal log tool records every action type, sessions keep work isolated, and conflict detection tells you when two agents touched the same files. Its distinguishing behaviour is stale-event rejection: a logged file edit is validated against the current file state on retrieval, so an agent never acts on a change that has since been overwritten.

What you get

  • One tool for every action type, tagged and searchable — cmd_run, file_edit, decision, test_result, feedback, todos, plan_output — log
  • Recent events pulled back with the detail level you want (minimal, normal, full), filtered by file path, action type or tag, and with since_cursor for delta queries so you only fetch what is new — get_recent
  • The tag vocabulary in use, with event counts — get_tags
  • Durable learnings stored as decision, pitfall, convention or constraint, and retrieved by intent-aware search — save_knowledge, search_project_knowledge
  • A check for whether another agent has touched the files you are about to edit — check_conflicts
  • Named sessions started and ended with a summary — start_session, end_session
  • Cleanup scoped to a project, a session or everything — cleanup
  • Stale file edits filtered on the way out: an edit logged with a diff is validated against the current file, and the diff field is deliberately not truncated so validation stays accurate on large changes
  • A local web UI over sessions, timeline and insights — npx wormhole ui

Requirements

No account and no key. npx wormhole-mcp runs it with nothing installed; a global npm install -g wormhole-mcp or a source build are the alternatives. For Claude Code the config goes in ~/.claude/claude_code_config.json, for GitHub Copilot in .vscode/mcp.json — the same server, two client files, which is the point. Claude Code users can install a bundled plugin that ships the server config together with a skill, or copy the standalone skill into .claude/skills/. The project describes itself as early-stage with APIs that may change.

Setup effort

One command — npx wormhole-mcp