transcript-search
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@transcript-searchfind how we implemented authentication in past sessions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Semantic Transcript Search
A semantic search system for Claude Code transcript history, exposed as an MCP server so Claude Code can query its own past sessions.
Architecture
~/.claude/projects/**/*.jsonl → Indexer → Qdrant (localhost:6333)
↑
Claude Code → MCP Server → Query API ────┘
↓
OpenAI EmbeddingsRelated MCP server: engram-mcp
Prerequisites
Python 3.12+
Qdrant running locally on port 6333
OpenAI API key
Starting Qdrant
Using Docker:
docker run -p 6333:6333 -v $(pwd)/qdrant_storage:/qdrant/storage qdrant/qdrantOr install and run locally following Qdrant docs.
Installation
git clone https://github.com/ttrine/semantic-transcript-search.git
cd semantic-transcript-search
uv syncConfiguration
Create a config file at ~/.config/transcript-search/config.json:
{
"openai_api_key": "sk-...",
"qdrant_url": "http://localhost:6333",
"collection_name": "claude_transcripts",
"embedding_model": "text-embedding-3-small",
"embedding_dimensions": 1536
}Note: If using text-embedding-3-large, set embedding_dimensions to 3072.
Alternatively, set environment variables:
OPENAI_API_KEY- Your OpenAI API keyQDRANT_URL- Qdrant server URL (defaults tohttp://localhost:6333)
Usage
Continuous Indexing Service (Recommended)
Run the watcher service to automatically index new and modified transcripts:
uv run transcript-watcherOptions:
--foreground: Run in foreground with console logging--force-reindex: Re-index all files before watching--no-initial-index: Skip initial indexing, watch only--debounce FLOAT: Debounce delay in seconds (default: 2.0)--watch-path PATH: Custom path to watch
macOS launchd Service
To run the watcher as a background service that starts at login:
# Install the service
cp launchd/com.transcript-search.watcher.plist ~/Library/LaunchAgents/
# Edit the plist to set the correct path to transcript-watcher binary
# Then load the service
launchctl load ~/Library/LaunchAgents/com.transcript-search.watcher.plist
# Check status
launchctl list | grep transcript
# View logs
tail -f ~/.local/log/transcript-search/watcher.log
# Stop service
launchctl unload ~/Library/LaunchAgents/com.transcript-search.watcher.plistOne-Time Indexing
For manual/one-time indexing of all Claude Code transcripts:
uv run index-transcriptsOptions:
--force: Re-index all files (ignores cache)--stats: Show collection statistics--base-path PATH: Custom path to search for transcripts
CLI Search
uv run search-transcripts "how did we implement the TDD workflow?"Options:
-n, --limit: Number of results (default: 10)-p, --project: Filter by project path-t, --type: Filter by message type (user/assistant)-j, --json-output: Output as JSON-f, --full: Show full content instead of preview
MCP Server Integration
Add to your Claude Code MCP configuration (~/.claude/mcp.json):
{
"mcpServers": {
"transcript-search": {
"command": "uv",
"args": ["run", "--directory", "/path/to/semantic-transcript-search", "python", "-m", "transcript_search.mcp_server"]
}
}
}After restarting Claude Code, the search_transcripts tool will be available.
MCP Tools
search_transcripts
Search through past Claude Code session transcripts using semantic similarity.
Parameters:
query(required): The search querylimit: Maximum results (default: 10)project_filter: Filter to specific projectmessage_type: Filter by "user" or "assistant"
get_session_context
Retrieve full context from a specific session after finding a relevant match.
Parameters:
session_id(required): The session ID to retrievelimit: Maximum messages (default: 50)
Development
Install dev dependencies:
uv sync --extra devRun unit tests:
uv run pytest tests/ -m "not integration" -vRun integration tests (requires running Qdrant and valid OpenAI API key):
uv run pytest tests/ -m integration -vRun all tests:
uv run pytest tests/ -vLicense
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceAn MCP server that makes Claude Code conversation history searchable and proactively useful by indexing past sessions with hybrid BM25+TF-IDF search, extracting decisions and solutions, and auto-injecting relevant project context at session start.Last updated1265MIT
- Alicense-qualityDmaintenanceAn MCP server that enables semantic and keyword search over Claude Code conversation history stored locally, using hybrid search, local embeddings, and time-decay scoring.Last updated26MIT
- Alicense-qualityDmaintenanceA local MCP server that indexes and searches your Claude Code conversation history with both keyword and semantic search, fully private and running locally.Last updatedMIT
- AlicenseAqualityDmaintenanceAn MCP server for Claude Code that enables semantic search of past session transcripts and intelligent session forking, allowing users to find and resume from relevant previous conversations with full context.Last updated138MIT
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
An MCP server that gives your AI access to the source code and docs of all public github repos
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ttrine/semantic-transcript-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server