Claude Senator MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add claude-senator -- npx claude-senator
README.md

Inter-Claude communication and context sharing for seamless collaboration

claude-senator-mcp

āŒ under construction: This project is under heavy construction and is not intended for public use / nor has it been published to npm. Information in the README below may be outdated, user discretion is advised.

A Model Context Protocol (MCP) server for inter-Claude communication and context sharing. Enables Claude instances to collaborate, share context, and fork conversations without interruption.

Philosophy

Simple for humans, rich for Claude.

  • Human: One-line commands that expand into ultra-rich context
  • Claude: Dense collaboration intelligence with smart pointers
  • Architecture: Zero-dependency file-based IPC with beautiful ASCII UI

Install

Requirements:

npm install -g claude-senator

From shell:

claude mcp add claude-senator -- npx claude-senator

From inside Claude (restart required):

Add this to our global mcp config: npx claude-senator

From any manually configurable mcp.json: (Cursor, Windsurf, etc.)

{
  "mcpServers": {
    "claude-senator": {
      "command": "npx",
      "args": ["claude-senator"],
      "env": {}
    }
  }
}

Features

šŸ›ļø **Current: Inter-Claude Messaging System**

**3-Function Interface**
# Share context with other Claude instances
claude-senator send_context --target_pid 98471 --context_request "Help with documentation"

# Receive context from other Claude instances
claude-senator receive_context

# Live status of all Claude instances with collaboration recommendations
claude-senator status
**Smart Pointer Architecture**

Ultra-lightweight context sharing using pointers to existing ~/.claude/projects/ data rather than copying content:

// Instead of copying data (expensive)
const heavyMessage = {
  conversationHistory: [
    /* 1000s of messages */
  ],
  fileContents: [
    /* large file contents */
  ],
};

// We use smart pointers (lightweight)
const smartMessage = {
  ctx_pointers: {
    projects_dir: `~/.claude/projects/${projectEncoded}`,
    conversation_history: this.getConversationPointer(),
    git_context: this.getGitContextString(),
    active_files: this.getActiveFilesArray(),
  },
};
**Beautiful ASCII UI**
╔═ šŸ›ļø ═══════════════════════════════════════════════════════════════════
ā•‘ → Claude 98471 • "Help with documentation..." • ~/.claude pointers sent
ā•‘ šŸ”„ Context shared • Ready for collaboration
ā•šā• šŸš€ 2 contexts processed • Rich collaboration network active

šŸ”„ **New: Context Forking System**

**Problem**

You have Claude deep in work (318s, 9.3k tokens) and want to ask questions without interrupting.

**Solution**

Context forking creates new Claude instances with inherited context while preserving the working Claude's state.

# Fork context from working Claude
claude-senator fork_claude --source_pid 98471 --query "What's the documentation structure?"

# Result: New session with full context + your question
# Working Claude continues uninterrupted

Technical Architecture

**Directory Structure**

/tmp/claude-senator/
ā”œā”€ā”€ instances/          # Each Claude writes {pid}.json with status/info
ā”œā”€ā”€ messages/           # Individual message files in JSONL format
└── commands/           # Command injection files for input manipulation

**Smart Pointer System**

References existing ~/.claude/projects/ data instead of copying:

interface ContextPointers {
  projects_dir: string; // `~/.claude/projects/${encoded_path}`
  conversation_history: string; // Recent conversation file path
  git_context: string; // Compact git state (branch@commit+dirty)
  active_files: string[]; // Recently modified files
  current_task: string; // What Claude is working on
  collaboration_intent: string; // Why reaching out to other Claude
}

**Message Format**

Ultra-dense messaging with context reconstruction:

interface InterClaudeMessage {
  id: string;
  from: number; // Sender Claude PID
  to: number | 'all'; // Target Claude PID or broadcast
  type: 'ultra_dense_message';
  content: string; // Human-readable request
  timestamp: number;
  options: {
    claudeContext: {
      h: string; // Human message
      pid: number; // Claude PID
      ts: number; // Timestamp
      cwd: string; // Working directory
      ctx_pointers: ContextPointers; // Smart pointers to data

Tools (4)

send_contextShare context with other Claude instances
receive_contextReceive context from other Claude instances
statusGet live status of all Claude instances with collaboration recommendations
fork_claudeFork context from a working Claude instance to a new one

Configuration

claude_desktop_config.json
{"mcpServers": {"claude-senator": {"command": "npx", "args": ["claude-senator"]}}}

Try it

→Check the status of my active Claude instances and see if any are available for collaboration.
→Send my current project context to the Claude instance with PID 98471 to ask for help with documentation.
→Fork my current working session to a new Claude instance so I can ask questions about the code structure without interrupting my current task.
→Receive the context shared by my other Claude instances to synchronize my work.

Frequently Asked Questions

What are the key features of Claude Senator?

Inter-Claude messaging system for real-time collaboration. Smart pointer architecture for lightweight context sharing without data duplication. Context forking to create new Claude instances with inherited state. Live status monitoring of all active Claude processes. Zero-dependency file-based IPC.

What can I use Claude Senator for?

Collaborating between multiple Claude instances on complex, multi-part coding tasks. Asking secondary questions about a project without interrupting a long-running Claude task. Sharing git state and active file context between different AI sessions. Managing multiple Claude workflows through a centralized collaboration network.

How do I install Claude Senator?

Install Claude Senator by running: npm install -g claude-senator

What MCP clients work with Claude Senator?

Claude Senator works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Claude Senator docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare