node804-claude-code-mcp
MCP server for reading Claude Code session history from the local filesystem, exposing project and session data to MCP-compatible clients.
README
node804-claude-code-mcp
MCP server for reading Claude Code session history from the local filesystem. Exposes project and session data to any MCP-compatible client — Claude Cowork, Claude Chat, scheduled agents, or your own tooling.
Reads directly from ~/.claude/projects/ — no external dependencies, no network calls, no API keys.
Why this exists
Claude Code stores every session as a local JSONL file containing the full conversation: user messages, assistant responses, tool calls, token counts, and timing. That history is rich and detailed, but it's locked inside the CLI with no way to query it from other tools.
This server opens it up.
Use cases
Personal Knowledge Management and daily logging Claude Code sessions are a detailed record of decisions made, problems solved, and code written. This server lets a Cowork or Chat session pull that raw material into a daily note, work log, or PKM entry automatically — capturing not just what changed but the reasoning behind it, without any manual copy-paste.
Cross-session continuity Starting a new Claude Code session on a project that was last touched weeks ago means re-explaining context from scratch. With this server, a fresh session can search prior conversations for relevant background — design decisions, dead ends already explored, environment quirks — before writing a single line of code.
Standup and progress reporting
search_claude_sessions and get_claude_session_stats give enough signal to reconstruct what was worked on across a day or week. A scheduled agent can draft standup notes or weekly summaries without you keeping a separate activity log.
Token and time auditing
get_claude_session_stats returns per-session input/output token counts, cache hit rates, and duration. Useful for understanding which projects are consuming the most AI time, or for back-of-envelope cost tracking across a team.
Recovering decisions and rationale The assistant messages in a session contain reasoning that never makes it into git history or documentation. When a colleague asks "why did we pick X over Y?", a search across sessions is often faster than reading commits — and captures the full deliberation, not just the outcome.
Handoff and onboarding A new team member or a handoff to another AI session can be primed with the actual conversation history from a project rather than a manually written summary that may already be stale.
Research and spike synthesis Exploratory sessions — spiking on a library, investigating an incident, prototyping an approach — produce valuable findings that are easy to lose. Searching across those sessions lets later work build on earlier exploration rather than repeat it.
Installation
pip install node804-claude-code-mcp
Or install from source:
git clone https://github.com/Node804/node804-claude-code-mcp
cd node804-claude-code-mcp
pip install -e .
Setup
Claude Desktop / Claude Chat
Add to claude_desktop_config.json:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"claude-code-logs": {
"command": "python",
"args": ["-m", "node804_claude_code_mcp.server"]
}
}
}
Restart Claude Desktop after saving.
Claude Code (settings.json)
Add to .claude/settings.json in your project, or to the global ~/.claude/settings.json:
{
"mcpServers": {
"claude-code-logs": {
"command": "python",
"args": ["-m", "node804_claude_code_mcp.server"]
}
}
}
Environment variables
| Variable | Default | Description |
|---|---|---|
CLAUDE_DIR |
~/.claude |
Override the Claude Code data directory |
Tools
server_status
Show the current server version and resolved data directory.
list_claude_projects
List all Claude Code projects in the local session store, sorted by most recent activity.
Returns: project slug, session count, last activity timestamp.
list_claude_sessions
List sessions for a specific project or all projects.
| Argument | Type | Default | Description |
|---|---|---|---|
project_slug |
string | — | Filter to one project (optional) |
limit |
int | 20 | Max sessions to return |
get_claude_session
Get the full conversation transcript from a session. Returns user and assistant messages in order, with timestamps and tool call names.
| Argument | Type | Default | Description |
|---|---|---|---|
session_id |
string | — | Session UUID |
project_slug |
string | — | Project the session belongs to |
include_thinking |
bool | false | Include assistant thinking blocks |
get_claude_session_stats
Token usage, timing, and message counts for a session.
| Argument | Type | Description |
|---|---|---|
session_id |
string | Session UUID |
project_slug |
string | Project slug |
Returns: input/output tokens, cache read tokens, duration in minutes, models used, working directory.
search_claude_sessions
Case-insensitive full-text search across all session messages. Returns matching snippets with surrounding context.
| Argument | Type | Default | Description |
|---|---|---|---|
query |
string | — | Text to search for |
project_slug |
string | — | Limit to one project (optional) |
limit |
int | 20 | Max hits to return |
Known limitations
Session files are read linearly from top to bottom. Claude Code's JSONL format is actually a tree — every record links to its parent via parentUuid, which means a session can contain forks (abandoned tool call branches, retries, compaction summaries). Linear reading is correct for the vast majority of normal interactive sessions, but a forked session could include abandoned branches in the output. Fork-aware traversal that follows the primary thread and discards dead branches is a potential future improvement.
Data locations
Claude Code stores session data at:
- Windows:
%USERPROFILE%\.claude\projects\ - macOS / Linux:
~/.claude/projects/
Each project directory contains one .jsonl file per session. Records include user messages, assistant messages (with tool calls and token usage), and internal control messages.
License
MIT — see LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。