
Relay
Connects Claude Desktop and Claude Code so they can pass messages to each other without copy-pasting between windows. Each side calls relay_send to push messages to a shared SQLite buffer and relay_fetch to pull them. Both models can send autonomously when they need input from the other side, but fetching is usually manual (you type "get" or "/get"). You get system notifications when something arrives. The design keeps context windows separate while letting you use Desktop for planning and Code for execution, then move results or questions between them. Works through stdio transport with a global buffer at ~/.relay_buffer.db.
- GitHub stars
- 4
- tools
- 9
- transport
- STDIO
- last updated
- Dec 31, 2025
Tools
9 toolsPublic tool metadata for what this MCP can expose to an agent.
project.listList all Relay projects you have access to. Returns project IDs, names, slugs, and descriptions.1 params
List all Relay projects you have access to. Returns project IDs, names, slugs, and descriptions.
limitnumberproject.get_briefFetch a project context brief — decisions, constraints, progress, and memory items formatted for an AI coding session.4 params
Fetch a project context brief — decisions, constraints, progress, and memory items formatted for an AI coding session.
includearraykindstringprojectIdstringtargetProfileKeystringproject.get_stateGet full structured project state including overview, objectives, decisions, constraints, and tasks.1 params
Get full structured project state including overview, objectives, decisions, constraints, and tasks.
projectIdstringmemory.searchSearch memory items by keyword or semantic query. Returns matching decisions, constraints, tasks, notes, and other memory items.5 params
Search memory items by keyword or semantic query. Returns matching decisions, constraints, tasks, notes, and other memory items.
limitnumberprojectIdstringquerystringtagsarraytypesarraymemory.addAdd a memory item to the project. Use this to persist decisions, constraints, tasks, or notes discovered during the session.5 params
Add a memory item to the project. Use this to persist decisions, constraints, tasks, or notes discovered during the session.
contentstringprojectIdstringtagsarraytitlestringtypestringcontext.saveSave a structured session summary with decisions, progress, next steps, and constraints. Call this at the end of a coding session.7 params
Save a structured session summary with decisions, progress, next steps, and constraints. Call this at the end of a coding session.
constraintsarraydecisionsarraynextStepsarraynotesarrayprogressstringprojectIdstringsummarystringmemory.manageUpdate, delete, or archive an existing memory item by its ID.5 params
Update, delete, or archive an existing memory item by its ID.
actionstringcontentstringmemoryIdstringtagsarraytitlestringproject.updateUpdate a project's name or description.3 params
Update a project's name or description.
descriptionstringnamestringprojectIdstringmemory.recallSearch memory and retrieve project state in one call. Use before making decisions to check for existing constraints and context.2 params
Search memory and retrieve project state in one call. Use before making decisions to check for existing constraints and context.
projectIdstringquerystringSponsors
Readme
Relay
A wonderfully simple tool that moves information—files, code, data, comments, directions, etc.—between Claude Desktop and Claude Code while keeping their main context windows separate.
Both Claudes can send messages autonomously—when they need input from the other side, they just do it. You get a system notification when something arrives. You fetch when you're ready.
Why? Desktop and Code have different strengths. Desktop is better for conversation—planning, brainstorming, reviewing, iterating on prose. Code is better for execution—editing files, running commands, working through errors. But they don't share context. If you draft something in Desktop and want Code to implement it, or you want Desktop's opinion on code you're writing, you're copy-pasting between apps.
Relay connects them without requiring you to manually specify questions and cut & paste between windows. This is basic functionality that should have been integrated by Anthropic.
Details
- Repository
- github.com/mhcoen/mcp-relay
- Package
mcp-server-relay- Transport
- STDIO
- Registry
- MCP registry, active