Cross-tool context hub: indexes Claude Code, Claude Desktop/Cowork, Codex, Cursor, Gemini CLI, Antigravity and Devin conversations by project
Strong tool definitions with clear naming (verb_noun pattern), comprehensive descriptions (avg 180 chars), and well-structured input schemas using Zod. All 7 tools have descriptions and typed parameters. Tool annotations (readOnlyHint) present. Main gaps: output schemas not explicitly documented in code; no error recovery guidance; parameter descriptions could be more prescriptive about constraints and formats.
Search a project's own files — .ts, .tsx, .js, .py and the rest — indexed locally and chunked by syntax, so a hit lands on a function rather than mid-line. Each hit carries any note attached to that path: a sentence saying what the file is for, which the code cannot tell you itself. Use action 'get' for a file's full text and 'notes' to list the notes. This searches files on disk now, not the conversation history — cam_recall is for what was said.
What happened on a project: per-tool session and turn counts, date range, largest sessions, recent topics, artifacts, source state. Start here when you want a project's history. Give focus a topic to order the session lists by relevance to it instead of by size and recency.
The full text of a hit from cam_recall or cam_memory. Reaches Antigravity's daemon for encrypted conversations.
What earlier searches brought up more than once, across days and questions — with evidence. Returns facts the index has learned from repeated mentions.
List all projects in the index, with session counts and date ranges.
Output schemas not documented in code. Tool descriptions explain what is returned (e.g., 'per-tool session counts, date range, artifacts') but JSON Schema for response structure is absent. LLMs cannot plan downstream tool calls without knowing response field names and types.
cam_get description is vague ('The full text of a hit'). Does not explain what 'hit' means, how it relates to cam_recall/cam_memory, or what format the text is returned in. Lacks dependency hint: 'Use cam_recall or cam_memory first to get a hit ID.'
cam_projects has empty input schema (no parameters). Description does not explain what fields are returned (session counts, date ranges, etc.) or how to filter/paginate if results are large. No limit parameter visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Full-text search across all conversations in a project, with local relevance ranking. Finds what was said, not what files contain. Scores hits with a local model, dropping passages that only matched words. Pass rerank: false to see the raw match set, or lower minScore to loosen it.
A project's sessions in chronological order, from every tool in the index, with attribution method and confidence. Does not read text, so it is fast.
Parameter constraints not fully specified in descriptions. E.g., cam_recall's 'minScore' defaults to 0.5 but no description of valid range (0.0 - 1.0?). cam_docs 'limit' has min=1, max=50 in schema but description does not repeat this. LLMs cannot read JSON Schema, they rely on description text.
No error recovery guidance. Tools are read-only (low risk), but descriptions do not explain what to do if a search returns no results, if the index is stale, or if a hit ID is invalid. Freshness footer added to all responses but not mentioned in tool descriptions.