MCP server for searching, listing, and analyzing captured thoughts with semantic search, metadata extraction, and statistics
The server defines 3 tools with reasonable naming (verb-first) and basic descriptions. However, parameter descriptions are sparse or missing, and output schemas are not explicitly documented. Tool names follow verb_noun convention (search_thoughts, list_thoughts, thought_stats), which is strong. Descriptions exist but lack depth about when/why to call each tool. Parameter schemas are partially defined with JSON Schema types, but many lack descriptions, particularly limit, threshold, and numeric filtering parameters. No explicit error handling guidance or recovery instructions are visible. The schema completeness is moderate (types present, descriptions sparse). This is a typical community server with room for parameter documentation and output schema clarity.
List recently captured thoughts with optional filters by type, topic, person, or time range.
Search captured thoughts by meaning. Use this when the user asks about a topic, person, or idea they've previously captured.
Get a summary of all captured thoughts: totals, types, top topics, and people.
Parameter descriptions are missing or null for critical filtering parameters (limit, threshold, days, type, topic, person). Schema shows type but no actionable description for the LLM to understand constraints, ranges, or semantics.
Output schemas are not explicitly documented in the source. Tool descriptions do not specify what fields (thought_id, content, topics, people, timestamp, etc.) clients should expect. LLMs cannot plan downstream tool calls without knowing response structure.
No pagination guidance. list_thoughts accepts 'limit' but does not document whether it returns a total_count, next_cursor, or has_more flag. Without pagination metadata, the agent cannot enumerate large result sets efficiently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 25 | - | v1 |
Error handling is not visible. No recovery guidance if search fails, query is malformed, or no results match. Tool descriptions lack 'actionable error' content per pattern:recovery-guide.
Parameter constraints are not documented. 'limit' has default 10 but no min/max bounds; 'threshold' has default 0.1 with no explanation of the scale (0.0 - 1.0? 0.0 - 100?); 'days' is numeric but unconstrained. LLMs will guess or pass absurd values.
Tool descriptions do not explain WHEN to use search_thoughts vs list_thoughts. Both retrieve thoughts; search_thoughts uses semantic search (LLM embeddings), list_thoughts uses filters. This distinction is buried and must be inferred.