Skip to main content
Glama
README.md3.27 kB
# claude-sessions-mcp MCP (Model Context Protocol) server and Web UI for managing Claude Code sessions. ## Features - **Project Listing**: Browse Claude Code project folders - **Session Management**: List, rename, and delete sessions - **Message Management**: View and delete messages within sessions - **Cleanup**: Clear empty sessions and remove invalid API key messages - **Web UI**: SvelteKit-based web interface ## Installation ```bash # Using npx (recommended) npx claude-sessions-mcp # Or install globally npm install -g claude-sessions-mcp ``` ## Usage ### Claude Code MCP Integration Add to Claude Code: ```bash claude mcp add claude-sessions -- npx claude-sessions-mcp ``` Or manually edit `~/.claude.json`: ```json { "mcpServers": { "claude-sessions": { "command": "npx", "args": ["claude-sessions-mcp"] } } } ``` ### Web GUI Launch the web interface via MCP tool (from Claude Code): ```text > Use the start_gui tool to launch web interface ``` The GUI opens at `http://localhost:5050` with features: - Browse all projects and sessions - View full conversation history - Rename sessions with inline editing - Delete unwanted sessions - Bulk cleanup of empty sessions ## Development ```bash # Enable corepack corepack enable # Install dependencies pnpm install # Start web development server pnpm dev # MCP server development mode pnpm dev:mcp ``` ## Build ```bash pnpm build ``` ## MCP Server Tools ### Available Tools | Tool | Description | | ----------------- | ----------------------------------------- | | `list_projects` | List Claude Code projects | | `list_sessions` | List sessions in a project | | `rename_session` | Rename a session | | `delete_session` | Delete a session (moves to backup folder) | | `delete_message` | Delete a message and repair UUID chain | | `preview_cleanup` | Preview sessions to be cleaned | | `clear_sessions` | Clear empty sessions and invalid messages | | `start_gui` | Start the web UI | | `stop_gui` | Stop the web UI | ## Tech Stack - **MCP Server**: Node.js + TypeScript + Effect - **Web UI**: SvelteKit + Svelte 5 - **Build**: tsup (MCP), Vite (Web) - **Package Manager**: pnpm (corepack) ## Effect-TS Patterns This project uses [Effect](https://effect.website) for functional async operations: ```typescript import { Effect, pipe, Array as A, Option as O } from 'effect' // Define an Effect (lazy, composable) const listProjects = Effect.gen(function* () { const files = yield* Effect.tryPromise(() => fs.readdir(dir)) return files.filter((f) => f.endsWith('.jsonl')) }) // Parallel execution with concurrency control const results = yield * Effect.all( items.map((item) => processItem(item)), { concurrency: 10 } ) // Option for nullable values const title = pipe( messages, A.findFirst((m) => m.type === 'user'), O.map((m) => extractTitle(m)), O.getOrElse(() => 'Untitled') ) // Run in SvelteKit endpoint export const GET = async () => { const result = await Effect.runPromise(listProjects) return json(result) } ``` ## License MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DrumRobot/claude-sessions-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server