Skip to main content
Glama
self-claude-mcp

self-claude-mcp

by sancovp

self-claude-mcp

Requires Claude Code | SIGN UP HERE

MCP server for Claude Code self-management commands (hot restart, compaction).

Installation

pip install self-claude-mcp

Add to your Claude MCP config:

{
  "mcpServers": {
    "self-claude": {
      "command": "self-claude-mcp",
      "env": {
        "AUTOPOIESIS": "1"
      }
    }
  }
}

Note: AUTOPOIESIS=1 is optional. If set, restart messages will remind Claude to enable autopoiesis-mcp (makes Claude loop on purpose). Remove the env block if you don't use it.

Related MCP server: claude-sessions-mcp

Setup

After installing the MCP, Claude needs to install bash scripts for the commands to work.

Ask Claude to run:

Use self_claude with setup_only=True and install the scripts

Or manually: call self_claude(cmd="", setup_only=True) to get the installation instructions.

Requirements

  • tmux: Scripts use tmux for session management

  • Claude Code: Must be running inside a tmux session named "claude"

Starting Claude in tmux

Use claude-debug (installed by setup) or manually:

tmux -u new-session -d -s claude
tmux send-keys -t claude 'claude --debug' Enter
tmux -u attach -t claude

Usage

Once set up, Claude can use these commands:

Command

Description

self_claude("self_restart")

Hot restart with auto-resume

self_claude("self_compact")

Trigger context compaction

self_claude("", setup_only=True)

Get installation instructions

Hot Restart

Use when MCP configs change and you need to reload without losing conversation:

  1. Claude calls self_claude("self_restart") → returns bash self_restart

  2. Claude runs bash self_restart

  3. Handler sends /exit, waits for death, relaunches, sends /resume, selects session 1

Compaction

Use when context is running low:

  1. Claude calls self_claude("self_compact") → returns bash self_compact

  2. Claude runs bash self_compact

  3. Sends /compact to the tmux session

Troubleshooting

"No tmux session 'claude'"

Make sure Claude Code is running inside a tmux session named "claude":

tmux -u new-session -s claude
claude --debug

"Handler not found"

Run the setup instructions again:

self_claude(cmd="", setup_only=True)

Then install the scripts to /usr/local/bin/.

Restart hangs

Check the handler log:

cat /tmp/claude_restart_handler.log

Common issues:

  • pgrep -x "claude" matches wrong process → verify with pgrep -x "claude"

  • tmux session died → restart with claude-debug

Docker / Container

If running in a container, make sure:

  • tmux is installed: apt install tmux

  • Scripts are in PATH: /usr/local/bin/ or ~/.local/bin/

  • Container user can write to /tmp/

Scripts Installed

Script

Location

Purpose

claude-debug

/usr/local/bin/

Start Claude in tmux background

self_restart

/usr/local/bin/

Orchestrator (spawns handler)

claude_restart_handler

/usr/local/bin/

Detached handler (does actual restart)

self_compact

/usr/local/bin/

Trigger compaction

rules

/usr/local/bin/

Manage Claude Code rule files

rules command

Manage Claude Code rule files from the command line:

# Add a rule
rules global my-rules "Always use TypeScript"
rules project api-rules "Use REST conventions"

# List rules
rules show global
rules show project

# Delete a rule
rules delete global my-rules

Rules are stored in ~/.claude/rules/ (global) or ./.claude/rules/ (project).

Environment Variables

Variable

Description

AUTOPOIESIS=1

Enable autopoiesis warning in restart message. Requires autopoiesis-mcp.

Set in your shell profile or export before running Claude.

Security Note

⚠️ Warning: You should disallow this MCP on subagents. Subagents running these commands can cause strange interactions.

License

MIT

Available Tools

1 tool
self_claudeC

Execute self-Claude command.

Inputs: cmd (required), help, setup_only. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.6/5.0

    Scored across 1 tool

    Disambiguation5/5

    Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is isolated.

    Naming Consistency5/5

    With a single tool, naming consistency is trivially perfect. The name 'self_claude' follows a clean snake_case pattern.

    Tool Count3/5

    A single tool makes for a very thin server, but it could be appropriate if the server is meant to handle a single command. Still, it feels borderline for most practical purposes.

    Completeness2/5

    The sole tool's description is extremely vague ('Execute self-Claude command'), giving no indication of supported subcommands or operations. Significant gaps likely exist for any meaningful workflow, and agents would struggle to use it effectively.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers