MCP server that gives GitHub Copilot CLI persistent long-term memory via local semantic vector search
This MCP server has significant definition quality gaps. While the two tools exist and are registered with basic descriptions and input schemas, the descriptions are minimal, parameter constraints are missing, error handling guidance is absent, and output schemas are completely undocumented. The server prioritizes internal implementation (vector search via embeddings, SQLite indexing) over agent-facing clarity. Tool names are reasonable (verb-based: vector_search, vector_reindex), but parameter documentation is sparse. No evidence of LLM-optimized descriptions, constraint declarations, or recovery guidance. The tool definitions would struggle to guide LLM reasoning about when to use each tool and what to expect in return.
Force a complete reindex of all session history into the vector database
Search across all past session history using semantic vector search
Output schemas completely undocumented. No specification of what vector_search returns (expected fields, data types, pagination info). LLMs cannot plan downstream operations without knowing the response structure.
Parameter descriptions are too brief (<20 chars is a hard floor violation). 'query' is described as 'The search query to find semantically similar content' (67 chars, acceptable), but 'limit' lacks explanation of valid range, semantics, and default behavior. No mention of what 'semantically similar' means in this context (vector distance? cosine similarity?) or how results are ranked.
vector_reindex has no input parameters documented, yet the tool accepts no arguments and performs a complete re-index. The description 'Force a complete reindex of all session history into the vector database' does not explain: What triggers a reindex (when is it needed)? How long does it take? What happens to old embeddings? Can it be cancelled? Does it block other operations? An LLM will not know whether calling this is safe or when it is appropriate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. If vector_search fails (e.g., embedding service times out, database locked, query syntax invalid), the tool provides no recovery hints. Agents cannot self-correct or know whether to retry, fallback, or ask the user.
No parameter constraints. 'limit' has a default of 10 but no min/max bounds are declared. Can an LLM request limit=1000000? This could cause memory exhaustion or denial of service. Missing: minimum and maximum values for numeric parameters.
Destructive operations lack confirmation or dry-run support. vector_reindex rewrites the entire embedding database. An agent could accidentally trigger a resource-intensive reindex while another operation is in progress. No idempotency guidance, no opt-in confirmation, no dry-run mode.
Missing context on dependencies. vector_search implicitly depends on prior indexing operations. The description does not explain: 'Call vector_reindex first if you have added new session history that has not yet been indexed.' Agents cannot infer when one tool is a prerequisite for another.