Clarik Mcp Server
✨ Clarik
Clarity and memory for Claude. One install.
Claude forgets everything between sessions. Clarik fixes that.
Memory that persists · Context that stays lean · Sessions that never die
Get Started · All 20 Tools · How It Saves You Money · Go Pro
🚀 Quick Start
npx clarik installThat's it. Clarik detects Claude Desktop and Claude Code, configures both, and starts working silently in the background.
╔═══════════════════════════════════════╗
║ Welcome to Clarik ║
║ Clarity and memory for Claude. ║
╚═══════════════════════════════════════╝
✅ Detected: Claude Desktop
✅ Detected: Claude Code
✅ Checking compatibility...
✅ Done. Clarik is active.Open Claude and start chatting. Clarik remembers everything.
Related MCP server: acheron-mcp-server
💡 What It Does
Clarik is an MCP server that silently fixes the biggest problems developers have with Claude:
Problem | How Clarik Fixes It |
🧠 Claude forgets everything between sessions | Persistent memory — facts, decisions, and gotchas survive forever |
📄 Context fills up and quality drops | Intelligent injection — only the most relevant memories are loaded |
💸 Repeating context wastes tokens | Token optimization — saves $47–73/month on API costs |
🔄 Lost progress when context fills up | Checkpoints — save and resume exactly where you left off |
🗂️ Memories from one project leak into another | Project isolation — each repo has its own memory space |
⚠️ Claude edits files it shouldn't | Repo guard — protected files require your confirmation |
🤔 Claude assumes instead of asking | Assumption checker — flags unverified claims |
🔧 All 20 Tools
Free Tools (no license needed)
Tool | What It Does |
| Extract and store facts from conversations. Strips thinking blocks. |
| Retrieve relevant memories ranked by relevance, recency, and importance. |
| Show all memories for the current project. |
| Update a specific memory fact. |
| Clear memories by category or all. |
| Intelligent memory injection within a token budget. |
| Save a structured snapshot of your session state. |
| Resume from a checkpoint — pick up exactly where you left off. |
Pro Tools ($20 lifetime)
Tool | What It Does |
| File-to-purpose map — Claude understands your entire codebase. |
| Live token usage tracking. Warns at 70% context. |
| Move stale memories to archive. Keeps active memory fast. |
| Surface and resolve contradicting memories. |
| Protected file confirmation before edits. |
| Flag when Claude assumes instead of asking. |
| Structured diff review with explanations. |
| Cross-check claims against your actual code. |
| Track architectural decisions with dates and reasons. |
| Save and reuse prompt templates. |
| Full-text search across past sessions. |
| Export session data as JSON or Markdown. |
💰 Token Savings
Clarik's intelligent memory injection means Claude processes fewer redundant tokens.
Real Numbers (Sonnet 4.6 at $3/M input tokens)
Without Clarik | With Clarik | |
Input tokens/session | ~800K | ~320K |
Cost per session | ~$3.90 | ~$1.50 |
Monthly cost (20 days) | ~$78/mo | ~$5–31/mo |
Monthly savings | — | $47–73/mo |
Clarik Pro costs $20 once.
Saves $47–73/month.
Pays for itself in 8 days.🏷️ Pricing
Tier | Price | What You Get |
Free | $0 forever | 8 core tools — memory, context, checkpoints |
Pro Lifetime | $20 | All 20 tools. One payment. Forever. |
Pro Monthly | $8/mo | All 20 tools. Cancel anytime. |
Already have a key?
npx clarik activate YOUR-KEY🛡️ Safe Modes
Clarik includes four safety modes to match your workflow:
Mode | Memory | Guards | Best For |
Safe (default) | ✅ On | ✅ Active | Normal development |
Strict | ✅ On | 🔒 Confirm all | Production code, sensitive repos |
Minimal | ❌ Off | ❌ Off | Maximum privacy, quick tasks |
Creative | ✅ On | 🟡 Relaxed | Prototyping, exploration |
🖥️ CLI Commands
npx clarik install # Install into Claude Desktop + Claude Code
npx clarik activate KEY # Unlock Pro tools with license key
npx clarik status # Show plan, tools, savings, grace period
npx clarik upgrade # Open clarik.dev/pro in browser
npx clarik uninstall # Clean removal from all configs🔒 Privacy & Data
Your data never leaves your machine.
All memory stored locally in
~/.clarik/No telemetry, no analytics server, no cloud sync
No data transmitted except to Anthropic's API using your own API key
You own your memory files — they're plain JSON you can read, edit, or delete
License validation is the only network call (Gumroad, once per 24 hours)
❓ FAQ
Does Clarik send my code anywhere?
No. Everything stays on your machine. Clarik stores memories as local JSON files. The only network request is license validation via Gumroad (Pro users, once/day).
Does it work with Claude Desktop and Claude Code?
Yes. The installer detects and configures both automatically.
What happens when my context fills up?
Clarik can save a checkpoint of your current session — goal, progress, decisions,
next steps. Start a fresh session and resume instantly with clarik_checkpoint_resume.
Can I use it offline?
Yes. Free tools work offline always. Pro tools have a 5-day offline grace period after your last successful license check.
Does it work on Windows?
Yes. Full Windows support with automatic cmd /c wrapper for stdio compatibility.
Also works on macOS and Linux.
Will it conflict with other MCP servers?
No. All tools are prefixed with clarik_ to prevent naming conflicts.
Can I see what Clarik has memorized?
Yes. Use clarik_memory_list to see all stored memories, or browse the JSON
files directly in ~/.clarik/projects/.
How do I delete my data?
npx clarik uninstall # Remove from Claude configs
rm -rf ~/.clarik/ # Delete all stored data🔧 Compatibility
Platform | Status |
macOS | ✅ Fully supported |
Windows | ✅ Fully supported (cmd /c wrapper) |
Linux | ✅ Fully supported |
Claude Desktop | ✅ Auto-configured |
Claude Code | ✅ Auto-configured |
Known Issues
macOS beta: MCP connections may be unstable on macOS beta releases. The installer will warn you if a beta version is detected.
Transport: Clarik uses stdio transport only. SSE and HTTP transports are not supported due to known MCP compatibility issues.
🔍 Troubleshooting
Clarik tools don't appear in Claude
Make sure the install completed successfully:
npx clarik statusRestart Claude Desktop / Claude Code
Check that the MCP config file was written correctly:
Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
"Connection lost" or frequent disconnects
Clarik includes a 30-second heartbeat ping to keep the connection alive. If you still experience disconnects:
Update Claude Desktop to the latest version
Avoid macOS beta releases if possible
Check
~/.clarik/directory permissions
License activation fails
Check your internet connection
Verify the key format:
CLARIK-XXXX-XXXX-XXXXTry again — Gumroad's API occasionally has brief outages
Pro tools work offline for 5 days after last successful check
📊 How Memory Works
What Clarik Learns
✅ Stack and framework choices ("We're using Next.js 14 with App Router")
✅ Architectural decisions ("Moved from REST to tRPC")
✅ File purposes ("lib/auth.ts handles JWT and sessions")
✅ Gotchas and warnings ("Don't use the v2 API — it's broken")
✅ User-confirmed facts
What Clarik Never Learns
❌ Thinking blocks (
<thinking>,<antml-thinking>)❌ Chain-of-thought traces
❌ Speculative guesses
❌ Content before a user correction
Memory Ranking
When recalling memories, Clarik scores each fact:
score = (relevance × 0.5) + (recency × 0.3) + (importance × 0.2)Only the highest-scoring facts are injected into context — never everything at once.
Project Isolation
Each project gets its own memory space, derived from:
git remote URL → workspace root → package.json nameReact project memories never appear in your Python project.
Legal
Clarik is an independent, community-built tool. It is not affiliated with, endorsed by, or associated with Anthropic PBC in any way.
Claude® is a registered trademark of Anthropic PBC. All references to Claude, Claude Desktop, and Claude Code are for compatibility identification purposes only.
Token cost savings are estimates based on typical developer usage patterns. Actual savings depend on your workflow, model choice, and usage volume.
Clarik stores all data locally on your device. No data is transmitted to any server except the Anthropic API using your own API key.
Provided as-is without warranty of any kind.
Full terms: https://clarik.dev/terms
Built for developers who use Claude every day.
Available Tools
20 toolsclarik_assumption_checkerB
Flag when Claude is making assumptions instead of asking. Reviews a response for unverified claims.
| Name | Required | Description | Default |
|---|---|---|---|
| response | Yes | The assistant response to check for assumptions | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description bears full responsibility. It only says 'Flag' but does not clarify output format, side effects, or whether it modifies the response. The read-only nature is inferred but not stated, leaving the agent uninformed about invocation consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy or extraneous information. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately conveys purpose for a simple checker with two parameters (one optional). However, without an output schema, the agent lacks information on how flags are returned (e.g., as a list, modified response). This is adequate but not fully complete for informed invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter names and schema descriptions. The tool description adds minimal extra meaning ('Reviews a response for unverified claims') beyond the schema, which already explains the purpose. At baseline 3, no significant added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Flag when Claude is making assumptions instead of asking. Reviews a response for unverified claims.' It specifies the verb (flag/review) and resource (assumptions in a response), distinguishing it from siblings like clarik_hallucination_detector or clarik_diff_reviewer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives, nor any context about prerequisites or exclusions. The description implies post-generation use but does not explicitly state when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_change_scope_guardB
Check if a file is protected before editing. Asks for confirmation, never hard blocks.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | File path to check | |
| action | Yes | What you want to do with the file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It reveals one key trait: 'asks for confirmation, never hard blocks,' which indicates it is non-destructive and soft. However, it omits details like return value, potential side effects, or authentication requirements, leaving significant gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core purpose. It is concise with no wasted words. However, it could be slightly more structured (e.g., separate outcome description) without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 2 simple parameters and no output schema or annotations. The description conveys the essential idea but fails to explain what 'confirmation' means (e.g., prompt vs. boolean), how the agent should interpret the result, or how this tool integrates into a workflow among many sibling tools. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, with both parameters described. The description adds no additional meaning beyond the schema; it does not elaborate on acceptable values for 'action' or provide examples. Thus, it meets the baseline but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'Check if a file is protected before editing,' which clearly indicates the verb (check) and resource (file protection status). It distinguishes from sibling tools, none of which are about file protection checking. However, it does not explicitly state what the tool returns (e.g., a boolean or confirmation prompt), slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before editing' implies when to use: as a precautionary check. It also states 'never hard blocks,' clarifying that it only asks for confirmation. However, it provides no explicit guidance on when not to use this tool or which alternatives (e.g., from sibling tools) would be appropriate for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_checkpoint_resumeA
Load the most recent checkpoint (or a specific one) to resume work.
| Name | Required | Description | Default |
|---|---|---|---|
| checkpointId | No | Specific checkpoint ID to resume (default: latest) | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but does not disclose behavioral traits such as whether current state is replaced, if other tools are affected, or if permissions are needed. The term 'resume' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, conveying the core functionality efficiently without unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description is clear for a simple tool, it lacks details on return behavior, side effects, or integration with other checkpoint tools. Given the complexity of checkpoint management, more context would aid correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by stating the default for checkpointId (latest) and explaining projectPath for isolation, which are not explicit in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool loads a checkpoint to resume work, specifying both the most recent and a specific one. It distinguishes from sibling clarik_checkpoint_save by focusing on resuming rather than saving.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like clarik_checkpoint_save or clarik_context_trim. There is no mention of prerequisites or scenarios to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_checkpoint_saveB
Generate a structured checkpoint of the current session state for resuming later.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Current working goal | |
| progress | Yes | List of completed items | |
| decisions | Yes | Key decisions made | |
| nextStep | Yes | What to do next when resuming | |
| openFiles | No | Currently open files | |
| openQuestions | No | Unresolved questions | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only says 'structured checkpoint' without explaining side effects, whether it overwrites previous checkpoints, or any authorization needs. This leaves significant ambiguity about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 11 words, which is concise. However, it could be improved by including more guidance without being verbose. It earns a 4 because it is not wasteful but is missing content that would make it more useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what the checkpoint returns or how it affects the session. The lack of completeness means an agent may not understand when or why to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented with descriptions. The tool description adds the context that this is a 'structured checkpoint' but does not provide additional meaning beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a structured checkpoint of the current session state for resuming later. The verb 'Generate' and resource 'checkpoint' are specific, and it distinguishes from the sibling 'clarik_checkpoint_resume' which handles resuming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios (e.g., before closing a session), or when not to use it. Siblings like 'clarik_checkpoint_resume' imply a complementary action but no explicit when-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_conflict_resolverC
Surface and resolve conflicting memories. Shows both sides for user decision.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says it 'shows both sides for user decision' but does not explain what happens after the decision (e.g., memory updates, side effects). With no annotations, the description carries full burden and fails to disclose key behavioral traits like state mutation or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but lacks essential information such as usage context and parameter details. It is under-specified for the tool's complexity, trading conciseness for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's potential for state modification and the absence of an output schema, the description should explain return values and side effects. It does not, leaving significant gaps in understanding the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'projectPath' parameter already described in the schema. The description does not add any meaning to this parameter or explain its role in conflict resolution, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb 'surface and resolve' and resource 'conflicting memories'. It distinguishes itself from sibling tools like clarik_memory_recall or clarik_hallucination_detector, which focus on retrieval or detection rather than conflict resolution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., existence of conflicting memories), typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_context_trimC
Intelligent memory injection — returns the most relevant facts and context within a token budget.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Current query or topic for relevance ranking | |
| budgetTokens | No | Token budget for injected context (default: 4000) | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'returns' and 'within a token budget,' but does not disclose whether the tool modifies memory, how relevance ranking works, or any side effects. The term 'injection' could mislead if the tool only reads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the tool's core purpose. It earns its place with no superfluous words, though a slightly more structured format could improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema provided, but the description does not detail return format or content. It lacks information on error handling, prerequisites, or token budget enforcement behavior. Given the tool's complexity and sibling set, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all three parameters. The description adds minimal extra meaning beyond the schema, simply echoing the token budget concept. Baseline of 3 is appropriate since no significant additional semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns relevant facts and context within a token budget, distinguishing it from sibling memory tools that may not have a token budget constraint. However, the phrase 'memory injection' is slightly ambiguous about whether it writes or reads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like clarik_memory_recall or clarik_memory_list. The description implies it is for context retrieval with a token budget, but does not state when not to use it or provide specific usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_decision_timelineB
Track and query architectural decisions with dates, reasons, and affected files.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| decision | No | Decision text (for add) | |
| reason | No | Reason for the decision (for add) | |
| affectedFiles | No | Files affected by the decision (for add) | |
| query | No | Search query (for query) | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior like mutability, side effects, or permissions. It only states 'track and query' without clarifying whether 'add' actions modify state, or if there are any destructive aspects. The mention of 'dates' is misleading as no date parameter exists in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that covers the tool's purpose and key features without redundancy. It is front-loaded and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no annotations, and no output schema, the description is incomplete. It does not explain the action enum, the required/optional nature of parameters, or what returns are expected for list and query actions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. However, the description adds confusion by mentioning 'dates' which are not in the schema. It does not clarify the purpose of each action parameter or how they interact, so it adds little value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool tracks and queries architectural decisions, specifying key attributes (dates, reasons, affected files). It uses a specific verb-resource combination ('track and query...decisions') and distinguishes itself from siblings by focusing on architectural decisions rather than generic memory or project tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool versus alternatives (e.g., clarik_memory_learn for general notes), nor does it mention when not to use it or any preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_diff_reviewerB
Review a code diff with structured explanations of each change.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | The diff content to review | |
| context | No | Additional context about the change |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It only mentions 'structured explanations' but does not detail what that entails, whether output is returned, or if any side effects occur. This is insufficient for an AI agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. However, it is somewhat minimal and could benefit from a bit more structure or detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should explain what the agent can expect after invocation (e.g., format of explanations). It fails to do so, leaving the agent with uncertainty about the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have descriptive schema descriptions, covering 100% of parameters. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'review' and the resource 'code diff', and the tool name includes 'diff_reviewer', making the purpose unambiguous. It is well-distinguished from sibling tools like clarik_conflict_resolver or clarik_context_trim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reviewing a code diff, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., when to use clarik_conflict_resolver instead). No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_export_sessionB
Export session data to ./clarik-exports/ directory. Never exports to ~/Downloads.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Export format (default: markdown) | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals the target directory as a behavioral trait, but lacks important details like overwrite behavior, permission requirements, or any side effects. No annotations are present to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no wasted words, and is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is minimal but covers the basic purpose and directory. It lacks details on return values, prerequisites, or edge cases, making it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter info. It does not add extra meaning beyond the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports session data to a specific directory, distinguishing it from sibling tools that deal with other aspects like memory or search. However, it could be more explicit about what 'session data' entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only mentions a negative (never exports to ~/Downloads), but no positive usage context or comparison with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_hallucination_detectorA
Cross-check claims against known project files. Uses targeted file list only, never full repo scan.
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | The claim or statement to verify | |
| relevantFiles | Yes | File paths to check against (targeted, not full repo) | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states targeted file list usage and no full repo scan, but does not disclose error handling, side effects, or whether it modifies anything. Moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no redundant information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without output schema, description covers core purpose but lacks details on return format, error cases, or behavior with missing files. Adequate for a simple verification tool but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description reinforces the targeted nature of relevantFiles but adds minimal semantic value beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cross-checks claims against project files using a targeted file list, and explicitly differentiates by stating 'never full repo scan', distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives like clarik_assumption_checker. The description implies use for claim verification against specific files, but lacks when-not-to-use or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_memory_archiveA
Move stale memories to archive. Keeps active memory lean and fast.
| Name | Required | Description | Default |
|---|---|---|---|
| maxAge | No | Archive memories older than this many days (default: 30) | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only says 'archive' without explaining whether it moves, copies, or deletes memories, if the operation is reversible, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with key information, and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 parameters, no output schema, no annotations), the description is minimally adequate but lacks behavioral details like return value or effect on active memory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters have clear descriptions in the schema. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Move stale memories to archive') and the resource ('memories'), distinguishing it from sibling tools like clarik_memory_learn, clarik_memory_list, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when memories are stale to keep active memory lean, but does not explicitly state when to use this tool versus alternatives, nor provides exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_memory_clearB
Clear memories by category or clear all memories for the current project.
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category to clear, or "all" to clear everything | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It labels the action as 'clear' but does not clarify whether it is permanent, what scope is affected (current project vs. projectPath parameter), or any side effects. A minor contradiction exists between 'current project' in description and the optional projectPath parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, efficiently conveying the core purpose without extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a destructive operation, the description lacks information about what happens after clearing (e.g., success message, affected count). It also does not mention any prerequisites (e.g., project existence) or how the tool handles the 'all' category.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema already defines the parameter details (enum for category, string for projectPath). The description adds only a rephrasing of the enum options ('by category or clear all') and mentions 'for the current project', which is ambiguous. It does not explain the meaning of each category or the purpose of projectPath.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (clear) and resource (memories), and specifies two modes: by category or all. This distinguishes it from sibling tools like clarik_memory_archive (archive vs delete) and clarik_memory_edit (edit vs clear).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for removing memories but does not provide explicit guidance on when to use this tool versus alternatives (e.g., archive), nor does it mention prerequisites or caution about irreversibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_memory_editB
Update a specific memory fact by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| factId | Yes | The ID of the memory fact to edit | |
| newFact | No | Updated fact text | |
| newConfidence | No | Updated confidence score | |
| newStatus | No | Updated status | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It mentions 'Update' indicating mutation, but lacks details on side effects, permissions, reversibility, or return values, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise but could be expanded slightly to include behavioral context without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters (many optional), no output schema, and no annotations, the description is insufficient. It does not explain what happens with optional parameters, return values, or overall effect of the update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are well-described in the schema. The description adds no additional meaning beyond the schema, achieving the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'memory fact', and specifies identification by ID. It effectively distinguishes from sibling tools like clarik_memory_learn (create) and clarik_memory_list (list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when updating a known fact by ID, but provides no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_memory_learnA
Extract and store facts from conversation. Strips thinking blocks. Only learns from final assistant responses and user-confirmed facts.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The conversation content to extract facts from | |
| source | Yes | Source of the content | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool strips thinking blocks and restricts learning to specific sources, which adds behavioral context beyond the schema. However, it omits details on potential side effects, idempotency, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the main purpose and key behavioral traits. Every sentence earns its place with no wasted words. Ideal length for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the essential behavioral traits and constraints. It provides enough context for correct use, though it could explain what 'thinking blocks' are and the storage mechanism for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not provide additional parameter details beyond the schema's descriptions, but the context of 'strips thinking blocks' indirectly informs the content parameter. No further value added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool extracts and stores facts from conversation. It distinguishes from siblings by specifying that it strips thinking blocks and only learns from final assistant responses and user-confirmed facts, making its purpose specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by stating only learns from final assistant responses and user-confirmed facts, but lacks explicit guidance on when not to use it or alternatives among siblings. No mention of prerequisites or preferences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_memory_listB
Show all memories for the current project, optionally filtered by category.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, side effects, or performance implications. The description is minimal, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the main purpose and optional filtering. It is efficient, though it could benefit from slightly more structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity and full schema coverage, the description is adequate for listing memories. However, it omits context about the projectPath parameter and does not explain the return format, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds context for the category parameter (optional filter) but does not mention projectPath beyond implying 'current project'. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it shows all memories for the current project, using a specific verb and resource. It implies a listing operation, but does not explicitly differentiate from sibling tools like clarik_memory_recall.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional filtering by category, giving some usage context. However, it provides no guidance on when to use this tool versus alternatives or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_memory_recallA
Retrieve relevant memories ranked by relevance, recency, and importance for the current query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The query to find relevant memories for | |
| maxResults | No | Maximum number of memories to return (default: 10) | |
| projectPath | No | Project root path for isolation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions ranking but does not disclose whether the operation is read-only, idempotent, or if any side effects occur (e.g., memory access logging).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence that efficiently conveys the tool's core purpose and key behavioral aspects (ranking) without extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not specify the output format or structure, which is missing given no output schema. It adequately covers input and behavior but lacks return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are described in the schema with 100% coverage. The description adds context about ranking criteria (not in schema), enhancing understanding beyond parameters alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (retrieve memories) and specifies ranking criteria (relevance, recency, importance), distinguishing it from other memory tools like list or learn.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving relevant memories but does not explicitly contrast with sibling tools like clarik_memory_list (which lists all memories) or clarik_memory_archive, leaving an agent to infer when to use this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_project_indexB
Build and query a file-to-purpose map for the project. Understands what each file does.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: build the index, query it, or list all mappings | |
| query | No | Query string when action is "query" | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey safety and side effects. It mentions building (write) and querying (read) but does not disclose if building modifies files, permissions needed, or error conditions. Insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences (14 words) that front-load the purpose. No extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-action tool (build, query, list), the description is incomplete. It does not explain what each action does, how to use the 'query' parameter, or what the output looks like. Missing details for effective usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 3 parameters. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Build and query a file-to-purpose map for the project. Understands what each file does.' clearly defines the verb (build/query) and resource (file-to-purpose map), and differentiates from sibling tools like clarik_memory_* and others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for understanding file purposes but does not explicitly state when to use this tool over alternatives or provide any exclusions. No guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_prompt_libraryC
Save and retrieve reusable prompt templates.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| name | No | Prompt name | |
| content | No | Prompt content (for save) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only mentions 'save and retrieve' but omits 'list' and 'delete' actions. No information about side effects, permissions, or state changes is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 6 words, which is concise but lacks completeness. It front-loads the main intent but omits key actions (list, delete). Every word earns its place, but it is too sparse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete given the tool has 3 parameters and an enum of 4 actions. It does not explain how actions relate, what the parameters are for, or what the output looks like. More context on usage flow would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; it only gives a high-level purpose. The parameters are well-described in the schema, so no additional value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool saves and retrieves prompt templates, which matches the actions save and get. However, it does not mention list and delete actions, which are part of the action enum. The purpose is specific enough to distinguish from sibling tools like memory operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines are provided about when to use this tool versus alternatives. The description only states what it does without any context on appropriate usage scenarios or exclusion criteria. Given the sibling tools are varied, explicit guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_session_searchC
Full-text search across past session data.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query | |
| projectPath | No | Project root path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It states 'full-text search' but omits details on read-only status, performance implications, data scope (e.g., what fields are searched), or potential side effects, making it insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence without unnecessary words. While brevity is beneficial, the structure could be improved by front-loading key context in a more informative but still concise manner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too sparse for a search tool. It fails to specify what 'session data' includes, whether it supports partial matching, pagination, or result format, leaving significant gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters with 100% coverage. The description adds no extra meaning or examples beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as performing full-text search across past session data, which is a specific verb and resource. However, it does not explicitly differentiate from sibling tools like clarik_memory_recall or clarik_memory_list that may also involve searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context-specific triggers, or when not to use it, leaving the agent without clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clarik_token_monitorA
Estimate token usage for the current session. Warns at 70% context usage.
| Name | Required | Description | Default |
|---|---|---|---|
| currentContent | No | Content to estimate tokens for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the warning at 70% usage, but does not explain what happens when the warning triggers, accuracy of estimation, or side effects. More detail would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence states the primary purpose, and the second adds a key behavioral detail. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers the core functionality. It could mention the return value format or behavior when no parameter is provided, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description does not add meaning beyond the schema. The schema already clearly describes the parameter 'currentContent' as 'Content to estimate tokens for'. The description adds no further semantics, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: estimate token usage for the current session. It specifies a key behavior (warning at 70% context usage) which differentiates it from sibling tools that are focused on other tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when token usage estimation is needed) but provides no explicit guidance on when not to use it or alternatives. Since no sibling tool performs the same function, the lack of exclusions is acceptable but still leaves room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
20 tool updates
v0.1.0- First observed
clarik_assumption_checker - First observed
clarik_change_scope_guard - First observed
clarik_checkpoint_resume - First observed
clarik_checkpoint_save - First observed
clarik_conflict_resolver - First observed
clarik_context_trim - First observed
clarik_decision_timeline - First observed
clarik_diff_reviewer - First observed
clarik_export_session - First observed
clarik_hallucination_detector - First observed
clarik_memory_archive - First observed
clarik_memory_clear - First observed
clarik_memory_edit - First observed
clarik_memory_learn - First observed
clarik_memory_list - First observed
clarik_memory_recall - First observed
clarik_project_index - First observed
clarik_prompt_library - First observed
clarik_session_search - First observed
clarik_token_monitor
TDQS
Each tool has a clearly distinct purpose, from memory operations (learn, recall, edit) to session management (checkpoint, export) and quality checks (hallucination detector, assumption checker). There is no ambiguity or overlap in their descriptions.
All tools follow a consistent pattern with the prefix 'clarik_' followed by a descriptive noun or verb-noun combination in snake_case (e.g., clarik_memory_learn, clarik_diff_reviewer). No mixing of conventions.
20 tools is on the higher end but justified by the server's broad scope covering memory, sessions, quality checks, and project indexing. Each tool serves a specific, non-redundant function.
The toolset covers memory lifecycle (save, edit, clear, archive, recall), session management (checkpoint, export, search), and quality assurance (hallucination, assumption, diff review). Minor gaps like undo for memory edits are present but not critical.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Related MCP Servers
- AlicenseAqualityBmaintenancePersistent memory for Claude Code. Automatically indexes every conversation and provides production-grade hybrid search (BM25 + vectors + reranker) via MCP tools. 100% local, zero config, zero API keys, zero invoice.16337MIT
- AlicenseAqualityDmaintenanceCross-surface persistent memory for Claude. Bridges context between Claude Chat, Code, and Cowork via local SQLite with full-text search.6166MIT
- AlicenseNot gradedqualityAmaintenance2-5x longer Claude Code sessions before compaction. Saves 30-40% on input token costs. Remembers your rules and corrections so Claude stops repeating mistakes after compaction. Auto-runs in the background, just install once and forget about it.379MIT
- AlicenseAqualityBmaintenanceSecurity, cost, and health governance proxy for MCP infrastructure. Enforces YAML-configurable security policies (blocklists, rate limits, token budgets), tracks real token costs via tiktoken, monitors server health with live JSON-RPC probes. Features OAuth 2.1/OIDC with RBAC, web dashboard, payload normalization, semantic shell AST analysis, mTLS, and a formal STRIDE threat model.41983MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mikerichardmail/clarik-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server