Claude CLI transcript indexer and MCP server. Indexes and exposes Claude Code CLI transcripts from ~/.claude/projects/ via MCP tools with background collection, semantic search, and knowledge catalog.
AgentiBridge demonstrates solid fundamentals with 17 well-named tools following verb_noun conventions. All tools have descriptions (194 - 350 chars, within baseline range). Input schemas are present and mostly complete. However, critical gaps emerge: (1) Output schemas are NOT documented in visible code, LLMs cannot infer what fields to expect from responses; (2) Error handling is absent, no guidance for recovery, no categorization of retryable vs fatal errors; (3) Tool 'dispatch_task' is the only write tool but lacks confirmation/dry-run pattern; (4) Some parameters lack constraints (e.g., timeout unbounded, threshold 0-1 not validated). Naming is strong (list_, get_, search_, dispatch_), but composition could be tighter, tools are functional but design does not yet follow 54 patterns rigorously.
Trigger immediate collection of new transcripts from ~/.claude/projects/.
Dispatch a task with optional session context to Claude.
Auto-generate session summary via LLM.
Poll background job status.
Read a specific memory file.
Read a plan by codename.
Get full session details: metadata + conversation transcript.
Output schemas not documented in visible code. LLMs cannot infer response structure, field names, or chaining IDs (e.g., does list_sessions return project_id for downstream filters?). Every tool must document what fields the response contains and their types.
Error handling absent. No error responses documented. How does LLM recover if session_id not found? If search_semantic fails, should it retry? If dispatch_task times out, is it retryable? Tools must categorize errors (retryable, user-fixable, fatal) and guide recovery.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 75 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Extract tool calls (actions) from a session with counts and details.
Get a segment of session transcript by offset/limit or time range.
List dispatch jobs with optional status filter.
List memory files across projects.
List plans sorted by recency.
List Claude Code sessions across all projects, sorted by most recent.
Load session context for continuation.
Search global prompt history.
Semantic search using embeddings across session transcripts.
Keyword search across all session transcripts (simple substring match).
dispatch_task is a write tool (Risk: WRITE) with no confirmation/dry-run pattern. Agents invoking this without safeguards could accidentally dispatch unintended tasks to Claude. Add a dry_run flag or require explicit confirmation before execution.
Parameter constraints not fully documented. 'timeout' (dispatch_task) has no min/max (recommend 1 - 3600s). 'threshold' (search_semantic) described as '0-1' but not validated in schema. 'limit' params across all list/search tools should enforce max (recommend 1 - 100). Undocumented constraints invite LLM to pass invalid values.
Pagination pattern incomplete. list_sessions, list_dispatch_jobs, list_memory_files, list_plans, search_sessions, search_history all accept limit/offset. Response schemas must include 'total' count or 'next_cursor' to enable proper pagination. Without total, LLM cannot determine if more results exist.
Response field naming inconsistency risk. Tools return session data; if one returns 'session_id' and another 'id', chaining breaks. Ensure all tools returning session refs use 'session_id', all project refs use 'project_id', etc. (pattern: mxe:response-field-naming).
collect_now has empty input schema but no description of side effects. This tool triggers a background collection, does it block? Return immediately? Does it guarantee fresh data? Clear documentation required.