克劳德会议mcp
⚠️ 已弃用:此程序包已被替换为 claude代码会话. 请迁移到新包: ``bash npm uninstall claude-sessions-mcp npm install claude-code-sessions ``______________________________________________________________________
MCP(模型上下文协议)服务器和用于管理Claude代码会话的Web UI。
特性
- 项目列表:浏览Claude Code项目文件夹
- 会话管理:列出、重命名和删除会话
- 消息管理:查看和删除会话中的消息
- 清理:清除空会话并删除无效的API密钥消息
- Web 界面:基于SvelteKit的web界面
安装
# Using npx (recommended)
npx claude-sessions-mcp
# Or install globally
npm install -g claude-sessions-mcp用法
克劳德代码MCP集成
添加到克劳德代码:
claude mcp add claude-sessions -- npx claude-sessions-mcp或手动编辑 ~/.claude.json:
{
"mcpServers": {
"claude-sessions": {
"command": "npx",
"args": ["claude-sessions-mcp"]
}
}
}Web图形用户界面
通过MCP工具(来自Claude Code)启动web界面:
> Use the start_gui tool to launch web interfaceGUI在以下位置打开 http://localhost:5050 具有以下特点:
- 浏览所有项目和会话
- 查看完整的对话历史记录
- 使用内联编辑重命名会话
- 删除不需要的会话
- 批量清理空会话
发展
# Enable corepack
corepack enable
# Install dependencies
pnpm install
# Start web development server
pnpm dev
# MCP server development mode
pnpm dev:mcp构建
pnpm buildMCP服务器工具
可用工具
| 工具 | 说明 |
|---|---|
list_projects | 列出Claude Code项目 |
list_sessions | 列出项目中的会话 |
rename_session | 重命名会话 |
delete_session | 删除会话(移动到备份文件夹) |
delete_message | 删除消息并修复UUID链 |
preview_cleanup | 要清理的预览会话 |
clear_sessions | 清除空会话和无效消息 |
start_gui | 启动web UI |
stop_gui | 停止web UI |
技术栈
- MCP服务器:Node.js+TypeScript+效果
- Web 界面:SvelteKit+Svelte 5
- 构建:tsup(MCP)、Vite(Web)
- 包管理器:pnpm(核心包)
效果TS模式
此项目使用 效果 对于功能异步操作:
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)
}许可证
麻省理工学院
