Use claude-mem APIs to integrate memory compression and transcript processing into your applications.

Core API Components

1. Memory Storage & Retrieval APIs

Use Model Context Protocol (MCP) for memory operations with ChromaDB. Key Features:
  • Document storage and retrieval
  • Semantic search capabilities
  • Collection management
  • Metadata filtering

2. Compression APIs

Transform Claude Code transcripts into searchable memory documents. Key Features:
  • Transcript parsing and analysis
  • Intelligent chunking for large conversations
  • Token-aware compression
  • Archive management

3. Hooks System

Integrate with Claude Code lifecycle events. Key Features:
  • Session lifecycle events
  • Pre/post tool execution hooks
  • Custom hook development
  • Payload validation

4. Configuration & Settings

Manage paths, settings, and project detection. Key Features:
  • Settings persistence
  • Project-aware configurations
  • Path resolution utilities
  • Environment detection

Getting Started

Installation

npm install claude-mem

Basic Usage

import { TranscriptCompressor, SettingsManager } from 'claude-mem';

// Initialize compressor
const compressor = new TranscriptCompressor({
  verbose: true
});

// Compress a transcript
const archivePath = await compressor.compress('/path/to/transcript.jsonl');
console.log(`Archive created: ${archivePath}`);

API Architecture

Layered architecture:
┌─────────────────────┐
│   CLI Commands      │  ← User-facing commands
├─────────────────────┤
│   Core Services     │  ← Business logic (Compression, Orchestration)
├─────────────────────┤
│   Shared Utilities  │  ← Settings, Paths, Types
├─────────────────────┤
│   MCP Integration   │  ← Memory operations via ChromaDB
└─────────────────────┘

Key Classes

ClassPurposeLocation
TranscriptCompressorMain compression engine/core/compression/
PromptOrchestratorPrompt generation/core/orchestration/
ChunkManagerLarge transcript handling/core/compression/
SettingsManagerConfiguration management/shared/
PathResolverFile system paths/shared/

Authentication & Configuration

Settings File

Configuration in ~/.claude-mem/settings.json:
{
  "autoCompress": true,
  "projectName": "my-project",
  "claudePath": "/usr/local/bin/claude",
  "backend": "chroma",
  "saveMemoriesOnClear": true
}

Environment Variables

VariablePurposeDefault
CLAUDE_PATHPath to Claude Code executableclaude
TRANSCRIPT_PATHTranscript file path (hooks)-
DEBUGEnable debug loggingfalse

Error Handling

Typed error classes:
import { CompressionError, HookError } from 'claude-mem';

try {
  await compressor.compress(transcriptPath);
} catch (error) {
  if (error instanceof CompressionError) {
    console.error(`Compression failed at stage: ${error.stage}`);
  } else if (error instanceof HookError) {
    console.error(`Hook error in: ${error.hookType}`);
  }
}

TypeScript Support

TypeScript with full type definitions:
import type {
  CompressionOptions,
  AnalysisContext,
  HookPayload,
  Settings
} from 'claude-mem';

Next Steps

Support

For questions and issues: