claude-session-manager
# claude-session-manager-mcp
MCP server for managing Claude Code conversation sessions with GUI support.
Manage your Claude Code conversation history (`~/.claude/projects`) through MCP tools or a web-based GUI interface.
## Features
- š **Session Management**: List, rename, and delete conversation sessions
- šļø **Smart Cleanup**: Automatically identify and clean empty or invalid sessions
- š **Web GUI**: Beautiful web interface for browsing conversation history
- š§ **MCP Integration**: Full MCP protocol support for Claude Code
- š **Easy Install**: One-line installation with `uvx`
## Install
```bash
# Using uvx (recommended)
uvx claude-session-manager-mcp
# Or install globally
uv tool install claude-session-manager-mcp
# Web GUI
uvx --from claude-session-manager-mcp claude-session-manager-web
```
## Usage
### Claude Code MCP Integration
Add to Claude Code:
```bash
claude mcp add claude-session-manager -- uvx claude-session-manager-mcp
```
Or manually edit `~/.claude.json`:
```json
{
"mcpServers": {
"claude-session-manager": {
"command": "uvx",
"args": ["claude-session-manager-mcp"]
}
}
}
```
### Web GUI
Launch the web interface:
```bash
# Direct launch
uvx --from claude-session-manager-mcp claude-session-manager-web
# Or via MCP tool (from Claude Code)
> Use the start_gui tool to launch web interface
```
The GUI will open at `http://localhost:5050` with features:
- Browse all projects and sessions
- Search conversations
- View full conversation history
- Rename sessions with inline editing
- Delete unwanted sessions
- Bulk cleanup of empty sessions
## MCP Tools
| Tool | Description |
|------|-------------|
| `list_projects` | List all Claude Code projects with session counts |
| `list_sessions` | List all sessions in a specific project |
| `rename_session` | Add descriptive title prefix to session |
| `delete_session` | Delete session (safely backed up to .bak) |
| `preview_cleanup` | Preview sessions that can be cleaned |
| `clear_sessions` | Delete empty and invalid API key sessions |
| `start_gui` | Launch web GUI and open in browser |
| `stop_gui` | Stop the web GUI server |
## Examples
### Via Claude Code
```
List all projects:
> @claude-session-manager list_projects
List sessions in a project:
> @claude-session-manager list_sessions project_name="-Users-young-works-myproject"
Rename a session:
> @claude-session-manager rename_session project_name="..." session_id="abc123" new_title="Fix authentication bug"
Launch web GUI:
> @claude-session-manager start_gui
```
### Via CLI
```bash
# Run MCP server (stdio mode)
uvx claude-session-manager-mcp
# Launch web GUI
uvx --from claude-session-manager-mcp claude-session-manager-web
```
## Project Structure
```
~/.claude/projects/
āāā -Users-young-works-project1/
ā āāā session1.jsonl
ā āāā session2.jsonl
ā āāā agent-xxx.jsonl
āāā -Users-young-works-project2/
āāā .bak/ # Deleted sessions backup
āāā project_session.jsonl
```
## Development
```bash
# Clone repository
git clone https://github.com/es6kr/claude-session-manager-mcp.git
cd claude-session-manager-mcp
# Install dependencies
uv sync
# Run MCP server locally
uv run claude-session-manager-mcp
# Run web GUI locally
uv run claude-session-manager-web
# Run from project directory (development mode)
uv run --directory /path/to/claude-session-manager-mcp claude-session-manager-mcp
```
## How It Works
1. **Session Detection**: Scans `~/.claude/projects/` for `.jsonl` files
2. **Smart Parsing**: Extracts titles from first user message, removing IDE context tags
3. **Safe Deletion**: Moves deleted sessions to `.bak` folder for recovery
4. **Cleanup Logic**: Identifies empty sessions and invalid API key errors
5. **Web Server**: Flask-based GUI with RESTful API
## Requirements
- Python 3.10+
- Claude Code (for MCP integration)
- Modern web browser (for GUI)
## Contributing
Issues and pull requests are welcome at [github.com/es6kr/claude-session-manager-mcp](https://github.com/es6kr/claude-session-manager-mcp)
## License
MIT
TDQS
Scored across 9 tools
Every tool has a clearly distinct purpose with no ambiguity. For example, clear_sessions deletes sessions, delete_message removes a specific message, delete_session archives a session, list_projects and list_sessions provide different listing scopes, preview_cleanup shows what would be cleaned, rename_session modifies a session name, and start_gui/stop_gui control the GUI server. The descriptions reinforce these distinctions, making misselection unlikely.
All tool names follow a consistent verb_noun pattern using snake_case, such as clear_sessions, delete_message, list_projects, and start_gui. This predictable naming convention makes the tool set easy to navigate and understand, with no deviations in style or structure across the nine tools.
With 9 tools, the count is well-scoped for session management, covering core operations like listing, deleting, renaming, and GUI control. Each tool earns its place by addressing specific needs in the domain, avoiding bloat while providing comprehensive functionality for managing Claude sessions and projects.
The tool set offers strong coverage for session management, including CRUD-like operations (list, delete, rename) and GUI control. Minor gaps exist, such as no explicit tool for creating new sessions or editing session content beyond renaming, but agents can likely work around these with existing tools like start_gui for manual creation or delete_message for modifications.