An MCP server that manages conversation context for Anthropic models with SQLite persistence and integration with Ollama LLM
Server implements 4 tools with basic JSON-RPC MCP protocol support. All tools have names and descriptions, but parameter descriptions are minimal or absent. Input schemas are present but lack detailed parameter documentation. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages. Tool naming follows verb_noun convention (store_, get_, delete_, list_) which is good, but descriptions are generic and lack context about when to use each tool or what they return. No tool annotations visible in the code despite the feature flag claiming toolAnnotations=true.
Delete conversation context for a specific session
Retrieve conversation context for a specific session
List all active conversation sessions
Store or update conversation context for a specific session
Parameter descriptions missing or trivial. 'session_id' and 'content' lack context about format, constraints, or valid values. LLMs cannot infer whether session_id is a UUID, email, or opaque string.
No output schemas documented. Tools return data but LLMs have no formal specification of response structure, field types, or what to expect. This forces LLMs to guess and risks parsing errors.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) declared in feature flags but not present in tool definitions. delete_context is destructive but has no destructiveHint annotation.
Error handling returns generic HTTP exceptions without recovery guidance. No actionable error messages to guide LLM retry logic or user correction.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
No pagination support in list_sessions. If many sessions exist, returning all could exhaust context window. Should accept limit/offset and return total count.