Exposes Amplify tools to Claude Desktop and other MCP clients via stdio transport. Reads Obsidian vault, records signals, manages content suggestions, and handles memory/preferences.
Amplify defines 5 tools with clear, domain-specific names (ingest_source, suggest_content, record_signal, remember, recall) that follow verb_noun conventions. All tools have descriptions (avg 150 chars, within 10-1024 baseline). Input schemas are present with typed parameters and descriptions. However, output schemas are not documented, LLMs cannot predict return structure for downstream chaining. Parameters lack enums where appropriate (e.g., resourceType, signal type). Error handling is absent, no recovery guidance or actionable error messages. Security concerns: no mention of permission gates or audit trails for write operations (ingest_source, record_signal, remember). Tool composition is sound (each does one thing), but missing pagination/limits for suggest_content and recall, which could return unbounded results.
Save a raw source (article, paper, transcript) into the immutable source layer. Returns the path so the caller can distill it into wiki pages. Writing the clipping is all this does — it never touches the wiki.
Read preferences, sessions, and the signal summary. Returns what the agent has learned about the user's content strategy and engagement patterns.
Record feedback: rejections, posts, engagement updates. Emits a signal to the vault's signal log and appends to the session entry.
Save a preference to the vault's preferences file. Preferences are key-value pairs that persist across sessions.
Recommend what to publish next, sourced from the wiki. Returns candidate pages ranked by how well-supported and how fresh they are, suggested platforms, story coverage, and signal history.
Output schemas not documented. LLMs cannot predict return structure for suggest_content, record_signal, remember, recall, forcing guesswork about fields available for downstream chaining.
No error handling or recovery guidance. Tools lack actionable error messages (e.g., 'File not found. Check vault path in config.' or 'Signal type invalid, must be one of: recommendation_rejected, content_posted, engagement_updated'). Agents cannot self-correct.
Missing enums for constrained parameters. resourceType (article, paper, guide, etc.) and signal type (recommendation_rejected, content_posted, engagement_updated) should be declared as enums, not free-form strings. Prevents LLM hallucination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
No pagination or result limits. suggest_content and recall could return unbounded lists (all wiki pages, all signals, all sessions). Should accept limit/offset and return total_count or next_cursor.
No permission gates or audit trail declarations. Write operations (ingest_source, record_signal, remember) lack scope declarations (e.g., 'write:vault', 'write:signals'). No mention of logging who called what, when, or with what parameters.