MCP Standards
This MCP server provides personal memory and automatic preference learning for Claude, enabling it to remember your workflow preferences across sessions and generate AI assistant instruction files.
Core Capabilities:
Automatic Preference Learning: Detects and stores user corrections (e.g., "use uv not pip") in real-time from natural language, learning tool preferences, workflow patterns, code styles, and project conventions
Memory Management: Add, search, and list knowledge episodes; export entire knowledge base to markdown for backup or sharing
Semantic Search: Uses AgentDB vector memory for ultra-fast (<1ms) semantic search with intelligent understanding
AI Standards Generation: Auto-generates instruction files (CLAUDE.md, GitHub Copilot instructions, Cursor rules) from existing project configs (.editorconfig, .prettierrc, ESLint, pyproject.toml, etc.)
CLAUDE.md Integration: Get AI-generated suggestions for updates based on learned patterns and automatically apply preferences with backup creation
Preference Analysis: Retrieve learned preferences with confidence scores, filterable by category (python, javascript, git, docker, testing, general)
Tool Execution Logging: Track tool usage patterns to learn from corrections and behaviors
100% Local Operation: All data stored in
~/.mcp-standards/with no cloud dependencies, telemetry, or privacy concernsSimple Setup: 5-minute integration with Claude Desktop via MCP protocol
Reads .editorconfig files to automatically extract formatting standards like indentation and line endings for AI assistant configuration
Analyzes ESLint configuration files to extract linting rules and JavaScript/TypeScript coding standards
Generates GitHub-specific instruction files for AI assistants and manages project-based configuration standards
Generates and updates Copilot instruction files (.github/copilot-instructions.md) based on learned patterns and project configurations
Detects Jest testing framework for JavaScript projects in configuration analysis
Analyzes package.json files to detect JavaScript/TypeScript project dependencies and build configurations
Detects Poetry configuration in Python projects for package management preferences
Parses Prettier configuration files to extract formatting rules, quotes preferences, and code style standards
Identifies pytest as the testing framework for Python projects in auto-generated standards
Reads pyproject.toml files to extract Python project configuration, dependencies, and tooling preferences
Parses Cargo.toml files to extract Rust project configuration and dependencies for AI assistant guidance
Uses SQLite database with FTS5 for storing learned patterns, preferences, and providing full-text search capabilities across knowledge base
Identifies Vitest as the testing framework for modern JavaScript/TypeScript projects
Detects Yarn as the package manager preference for JavaScript/TypeScript projects
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Standardsremember that I prefer yarn over npm for JavaScript projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Standards - Personal Memory for Claude
โ ๏ธ ARCHIVED PROJECT: This repository is archived and provided for reference only. The project was experimental and served as a proof-of-concept for automatic preference learning with AgentDB vector memory. See ARCHIVE.md for complete details.
Make Claude remember YOUR preferences automatically. Zero config, zero manual steps.
๐ฏ What This Does
Stop repeating yourself to Claude. This MCP server learns your preferences automatically:
You: "Install pytest"
Claude: pip install pytest
You: "Actually, use uv not pip"
Claude: โ Remembered
Next session:
You: "Install requests"
Claude: uv pip install requests [automatic]One correction. Forever remembered.
Related MCP server: MCP Project Standards Server
โก Quick Start (5 Minutes)
1. Install
git clone https://github.com/airmcp-com/mcp-standards.git
cd mcp-standards
# Install dependencies
npm install
# Setup AgentDB
npm run setup2. Configure Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-standards": {
"command": "uv",
"args": [
"run",
"--directory",
"/ABSOLUTE/PATH/TO/mcp-standards",
"python",
"-m",
"mcp_standards.server_simple"
]
}
}
}โ ๏ธ Replace /ABSOLUTE/PATH/TO/ with your actual path!
3. Restart Claude Desktop
Quit and relaunch Claude Desktop.
4. Test It!
You: "Remember: use uv not pip"
Claude: โ Remembered: 'use uv not pip' (python)
You: "What do you remember?"
Claude: I remember you prefer:
- Use uv not pip for Python projectsThat's it! You're done. ๐
๐ง How It Works
Automatic Learning
Just correct Claude naturally - it learns automatically:
Session 1:
You: "Use uv not pip"
โ Auto-detected and stored in AgentDB
Session 2+:
You: "Install anything"
โ Claude uses uv automaticallyWhat Gets Remembered
โ Tool preferences: "use uv not pip", "prefer yarn over npm" โ Workflow patterns: "run tests before commit" โ Code style: "use TypeScript for new files" โ Project conventions: "follow PEP 8"
Categories (Auto-Detected)
python- Python/pip/uv preferencesjavascript- npm/yarn/pnpm preferencesgit- Git workflow preferencesdocker- Docker/container preferencestesting- Test framework preferencesgeneral- Everything else
๐ Features
Feature | Status |
Auto-detection | โ Detects "use X not Y" automatically |
Semantic search | โ <1ms with AgentDB (150x faster than SQLite) |
Cross-session | โ Preferences persist forever |
Zero config | โ Works out of the box |
100% local | โ No cloud, all private |
Simple | โ 5-minute setup |
๐ Documentation
Quick Start Guide - Detailed setup instructions
Validation Checklist - Testing & troubleshooting
Implementation Plan - Technical details
Skills Guide - How to use in Claude
๐ ๏ธ MCP Tools Available
Personal Memory (Simple Version)
// Store preference
remember({
content: "use uv not pip",
category: "python"
})
// Search preferences
recall({
query: "package manager",
top_k: 5
})
// List all categories
list_categories()
// Get statistics
memory_stats()Config Standards (Bonus)
// Generate minimal CLAUDE.md from project config files
generate_ai_standards({
project_path: ".",
formats: ["claude"]
})๐ Architecture
Simple & Fast
User corrects Claude
โ
Auto-detection hook triggers
โ
Stores in AgentDB (semantic vector memory)
โ
Next session: Claude queries AgentDB automatically
โ
Uses remembered preferenceTechnologies
AgentDB - Ultra-fast vector memory (<1ms search)
Python - MCP server (async)
SQLite - Fallback storage
MCP Protocol - Claude Desktop integration
100% Local - No cloud dependencies
๐ Project Structure
mcp-standards/
โโโ src/mcp_standards/
โ โโโ agentdb_client.py # AgentDB wrapper
โ โโโ hooks/auto_memory.py # Auto-detection
โ โโโ server_simple.py # Simple MCP server
โโโ tests/
โ โโโ test_simple_setup.py # Validation tests
โโโ docs/
โ โโโ QUICKSTART_SIMPLE.md # Setup guide
โ โโโ VALIDATION_CHECKLIST.md # Testing guide
โ โโโ SIMPLE_V2_PLAN.md # Technical details
โโโ scripts/
โ โโโ setup-agentdb.js # Setup script
โโโ .claude/skills/
โ โโโ remember-preferences.md # Claude skill
โโโ README.md # This fileClean. Simple. Works.
๐งช Testing
Run automated validation:
python3 tests/test_simple_setup.pyExpected output:
โ PASS: Directory Structure
โ PASS: Required Files
โ PASS: Module Imports
โ PASS: AgentDB Client Init
โ PASS: Auto Memory Patterns
Results: 5/5 tests passed
Status: Ready for dev testing ๐๐ Troubleshooting
Setup fails
# Check Node.js version
node --version # Need v18+
# Install AgentDB manually
npm install -g agentdb
npx agentdb --versionClaude Desktop doesn't connect
# Check logs
tail -f ~/Library/Logs/Claude/mcp*.log
# Look for initialization messages
# Should see: "MCP Standards (Simple) initialized"Preferences not remembered
Check that:
Server is running (check Claude Desktop MCP status)
Corrections use clear phrases ("use X not Y")
AgentDB path exists:
~/.mcp-standards/agentdb
More help: See Validation Checklist
๐ฏ Performance
Metric | Value |
Setup time | <5 minutes |
Server startup | <2 seconds |
Search speed | <1ms (AgentDB HNSW) |
Detection | Real-time (async) |
Storage | <10ms |
Memory usage | ~50MB (embedding model) |
150x faster than SQLite. Zero lag.
๐ Privacy
โ 100% local - Everything stored in
~/.mcp-standards/โ No cloud - No external API calls
โ No telemetry - No data collection
โ Your data - You control everything
๐ What Changed (v2 Simple)
We removed all the complexity:
v1 (Old) | v2 Simple (New) |
Manual MCP calls (4-5 steps) | โ Automatic (zero steps) |
SQLite keyword search (50ms+) | โ AgentDB vector search (<1ms) |
No semantic matching | โ Semantic understanding |
Complex setup | โ 5-minute setup |
6,000+ LOC | โ ~950 LOC |
Result: 80% less code, 100x better UX
๐ค Contributing
This is a personal side project. If you want to contribute:
Try it yourself first
Open an issue describing what you want to add
Wait for feedback before writing code
Please don't: Submit large PRs without discussion first.
๐ License
MIT License - See LICENSE file
๐ Credits
Built with inspiration from:
AgentDB - Ultra-fast vector memory
Context Engineering Guide - Minimal CLAUDE.md principles
Gunnar's approach - Simple side projects that solve personal problems
๐ฌ Questions?
Q: Why not just use v1? A: v1 requires 4-5 manual MCP calls per correction. v2 is zero-touch.
Q: Do I need AgentDB?
A: Yes, but it's installed automatically via npm run setup.
Q: Is my data private?
A: 100% local. Everything stored in ~/.mcp-standards/. No cloud.
Q: What if I want the old version?
A: Use src/mcp_standards/server.py instead of server_simple.py.
๐ Next Steps
# Try it now
git clone https://github.com/airmcp-com/mcp-standards.git
cd mcp-standards
npm run setup
# See: docs/QUICKSTART_SIMPLE.mdStop repeating yourself. Start remembering automatically. ๐ฏ
๐ฆ Archive Status
This project is archived. See ARCHIVE.md for:
Complete project status and achievements
Security audit results
Full documentation index
Lessons learned and technical insights
How to use this repository as reference
Made with โค๏ธ by keeping it simple
Available Tools
9 toolsadd_episodeC
Add knowledge episode to memory
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Episode content | |
| name | Yes | Episode name | |
| source | No | Source of episode | user |
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 of behavioral disclosure. 'Add knowledge episode to memory' implies a write operation, but it doesn't specify permissions needed, whether this is idempotent, how conflicts are handled, or what the response looks like. For a mutation tool with zero annotation coverage, this leaves significant behavioral 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, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it immediately understandable. Every word earns its place without redundancy or unnecessary elaboration.
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 this is a mutation tool (adding to memory) with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after addingโwhether it returns a confirmation, an ID, or nothingโnor does it cover error conditions or prerequisites. For a tool that modifies state, more context 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 description coverage is 100%, so the schema already documents all three parameters (content, name, source) with descriptions. The tool description adds no additional parameter semantics beyond what's in the schema. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.
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 ('add') and resource ('knowledge episode to memory'), making the purpose understandable. However, it doesn't distinguish this tool from potential siblings like 'search_episodes' or 'list_recent', which could also interact with memory episodes. The description is specific but lacks sibling differentiation.
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. With siblings like 'search_episodes' and 'list_recent' that likely read rather than add episodes, there's an opportunity to clarify usage contexts, but the description offers no such direction. It's a basic statement of function without contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_to_markdownC
Export knowledge base to markdown files
| Name | Required | Description | Default |
|---|---|---|---|
| export_path | No | Path to export to (optional) |
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 states the tool performs an export operation, implying it reads from a knowledge base and writes markdown files, but lacks details on permissions needed, whether it overwrites existing files, error handling, or output location defaults. This is inadequate for a mutation tool with zero annotation coverage.
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 directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly, which is ideal for 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?
Given the tool involves mutation (exporting files) with no annotations and no output schema, the description is incomplete. It fails to address critical aspects like what the export includes (e.g., all knowledge base content or filtered subsets), success/failure indicators, or behavioral traits, leaving significant gaps for agent understanding.
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 schema description coverage is 100%, with the single parameter 'export_path' documented as an optional string for the export destination. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or default behaviors, so it meets the baseline for high schema coverage without compensating 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 clearly states the action ('Export') and target resource ('knowledge base to markdown files'), making the purpose immediately understandable. However, it doesn't differentiate from potential sibling tools that might also export content in different formats or from different sources, which prevents a perfect score.
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 are no mentions of prerequisites, timing considerations, or comparisons to sibling tools like 'suggest_claudemd_update' or 'update_claudemd' that might involve similar content manipulation. This leaves the agent without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_ai_standardsB
Auto-generate AI assistant instruction files (CLAUDE.md, .github/copilot-instructions.md, .cursor/rules/standards.mdc) from existing project config files (.editorconfig, .prettierrc, ESLint, pyproject.toml, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| formats | No | Which instruction formats to generate (default: all) | |
| project_path | No | Path to project root (default: current directory) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states what the tool does, not behavioral traits. It doesn't disclose whether this is a read-only operation, what permissions are needed, whether files are overwritten, or what happens if config files are missing. For a file generation tool with zero annotation coverage, this is 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?
Single sentence efficiently conveys the core functionality with specific examples of both input and output files. Every word earns its place with zero wasted text, making it easy to parse quickly.
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 file generation tool with no annotations and no output schema, the description should do more. It doesn't explain what the generated files contain, how they're structured, whether they overwrite existing files, or what happens on errors. With 2 parameters and significant behavioral implications, this is incomplete.
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 schema already documents both parameters well. The description mentions generating from 'existing project config files' which provides context for the project_path parameter, but adds minimal value beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.
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 specific action ('Auto-generate') and target resources ('AI assistant instruction files') with explicit file name examples. It distinguishes from siblings by focusing on generation from config files rather than operations like adding, exporting, or updating episodes.
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 needing to create instruction files from existing configs, but doesn't explicitly state when to use this vs alternatives like 'suggest_claudemd_update' or 'update_claudemd'. No explicit exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_learned_preferencesB
Get all learned preferences with confidence scores (automatically learned from corrections)
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category (optional) | |
| min_confidence | No | Minimum confidence threshold |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks behavioral details. It mentions confidence scores and automatic learning from corrections, but doesn't disclose permissions needed, rate limits, pagination, or what 'get all' entails (e.g., scope, limitations). This is a significant gap for a tool with no annotation coverage.
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 with no wasted words. It front-loads the core purpose and includes key details like confidence scores and learning source, making it appropriately sized and structured.
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 annotations and no output schema, the description is minimally adequate but incomplete. It covers the purpose and data source but lacks behavioral context, output details, and usage guidelines. For a tool with two parameters and no structured safety hints, this leaves gaps in understanding how to invoke it effectively.
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 schema already documents both parameters ('category' and 'min_confidence'). The description adds no additional parameter semantics beyond what the schema provides, such as examples or usage context, meeting the baseline for high schema coverage.
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 'Get' and resource 'learned preferences', specifying they include 'confidence scores' and are 'automatically learned from corrections'. This distinguishes it from sibling tools like 'list_recent' or 'search_episodes', though it doesn't explicitly contrast with them.
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 'list_recent' or 'search_episodes'. The description implies retrieval of learned preferences but offers no context about appropriate scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recentC
List recent episodes
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'List recent episodes' implies a read-only operation but doesn't specify whether it's paginated, sorted, or has rate limits. It mentions 'recent' but doesn't define the timeframe or ordering. For a tool with no annotations, this leaves significant behavioral 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 extremely concise at three words, with zero wasted language. It's front-loaded with the core action and resource. Every word earns its place, making it efficient for quick scanning by an agent.
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 annotations, no output schema, and a simple parameter, the description is incomplete. It doesn't explain what 'recent' means, how results are returned, or how this differs from sibling tools. For a tool in a server with multiple episode-related tools, more context is needed to guide proper 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 description coverage is 100%, with the 'limit' parameter fully documented in the schema. The description doesn't add any parameter semantics beyond what's in the schemaโit doesn't explain how 'limit' interacts with 'recent' or provide usage examples. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.
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 'List recent episodes' clearly states the verb ('List') and resource ('recent episodes'), providing basic purpose. However, it doesn't differentiate from sibling tools like 'search_episodes' or specify what 'recent' means (timeframe, recency criteria). The purpose is clear but lacks specificity that would help distinguish it from alternatives.
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 about when to use this tool versus alternatives like 'search_episodes' or 'get_learned_preferences'. The description implies usage for listing recent episodes but doesn't specify scenarios, prerequisites, or exclusions. Without any contextual direction, the agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_tool_executionC
Log tool execution for learning
| Name | Required | Description | Default |
|---|---|---|---|
| args | Yes | ||
| result | Yes | ||
| tool_name | Yes |
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 of behavioral disclosure. 'Log tool execution for learning' implies a write operation (logging) but doesn't specify whether this is safe, reversible, or has side effects. It lacks details on permissions, rate limits, or what 'learning' entails (e.g., storage, analysis). This is inadequate for a tool with potential mutation implications.
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 concise with a single phrase, 'Log tool execution for learning', which is front-loaded and wastes no words. However, it's arguably too brief, bordering on under-specification, but within the scope of conciseness, it's efficient if not fully informative.
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 complexity (3 parameters with nested objects, no output schema, and no annotations), the description is incomplete. It doesn't explain the tool's role in the learning system, what happens after logging, or how to interpret inputs. For a tool that likely involves data mutation and integration with other learning tools, more context is needed to guide effective use.
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 0%, so the schema provides no parameter details. The description mentions 'tool execution' which hints at 'tool_name', 'args', and 'result', but doesn't explain their meanings, formats, or constraints. For example, it doesn't clarify what 'args' and 'result' should contain or how they relate to learning. This adds minimal value beyond the parameter names.
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 'Log tool execution for learning' states a general purpose (logging for learning) but is vague about what specifically gets logged and how it differs from other logging or learning tools. It doesn't clearly distinguish from sibling tools like 'get_learned_preferences' or 'list_recent', which might also involve learning-related operations. The phrase 'tool execution' is somewhat specific but lacks detail about scope or mechanism.
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 doesn't mention prerequisites, timing (e.g., after tool use), or exclusions. With siblings like 'get_learned_preferences' and 'list_recent' that might overlap in learning contexts, there's no differentiation, leaving the agent to guess based on names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_episodesC
Search knowledge episodes
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results | |
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states the action ('Search') without detailing how results are returned, sorted, or paginated, whether there are rate limits, authentication needs, or what happens on errors. This leaves significant gaps for a search operation.
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 phrase with zero wasted words. It's appropriately sized for a simple tool and front-loaded with the core action, making it highly concise and well-structured.
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 complexity (search operation with parameters) and lack of annotations or output schema, the description is incomplete. It doesn't explain return values, error handling, or behavioral traits, leaving the agent with insufficient context to use the tool effectively.
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%, with clear documentation for both parameters ('limit' and 'query'). The description adds no additional meaning beyond the schema, such as query syntax or result scope, so it meets the baseline for high schema coverage without compensating 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 'Search knowledge episodes' states the basic action (search) and resource (knowledge episodes), but lacks specificity about what constitutes a 'knowledge episode' or how the search operates. It doesn't differentiate from sibling tools like 'list_recent' or 'get_learned_preferences', leaving the purpose somewhat vague.
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 doesn't mention when to prefer 'search_episodes' over 'list_recent' or other siblings, nor does it specify prerequisites or exclusions, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_claudemd_updateA
Get suggestions for CLAUDE.md updates based on learned patterns (does not apply them)
| Name | Required | Description | Default |
|---|---|---|---|
| min_confidence | No | Minimum confidence threshold | |
| project_path | No | Project path for project-specific suggestions (optional) |
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 does well by stating the read-only nature ('does not apply them'), but doesn't mention other important behavioral aspects like what 'learned patterns' means, whether suggestions are personalized, if there are rate limits, authentication requirements, or what format the suggestions come in. The description provides basic safety context but lacks operational details.
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 perfectly concise - a single sentence that front-loads the core purpose and includes the crucial behavioral distinction in parentheses. Every word earns its place with zero redundancy or wasted verbiage.
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 2-parameter tool with no annotations and no output schema, the description provides adequate basic information about what the tool does and its read-only nature. However, it doesn't explain what 'suggestions' look like (format, structure), what 'learned patterns' refers to, or provide examples of typical use cases. Given the lack of output schema, more detail about return values would be helpful.
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 schema already fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema - it doesn't explain what 'confidence' means in this context, what typical values are, or how the 'project_path' affects suggestions. This meets the baseline 3 when schema coverage is complete.
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: 'Get suggestions for CLAUDE.md updates based on learned patterns' with the specific verb 'Get suggestions' and resource 'CLAUDE.md updates'. It distinguishes from sibling 'update_claudemd' by explicitly stating 'does not apply them', making it clear this is a read-only suggestion tool rather than a write operation.
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 clear context for when to use this tool by contrasting it with 'update_claudemd' - use this to get suggestions without applying them. However, it doesn't specify when to use this versus other suggestion-related tools like 'generate_ai_standards' or 'get_learned_preferences', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_claudemdB
Update CLAUDE.md file with learned preferences (creates backup first)
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Path to CLAUDE.md file | |
| min_confidence | No | Minimum confidence threshold | |
| project_path | No | Project path for project-specific content (optional) |
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 a key behavioral trait ('creates backup first'), which is valuable for safety. However, it doesn't cover other important aspects like whether the update is reversible, potential side effects, or error handling, leaving gaps for a mutation tool.
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 front-loads the core purpose and includes a critical behavioral detail ('creates backup first') without any wasted words. Every part 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?
For a mutation tool with no annotations and no output schema, the description is minimally adequate. It covers the basic action and a safety feature (backup), but lacks details on return values, error conditions, or integration with sibling tools, leaving room for improvement given the complexity.
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 schema fully documents all parameters. The description adds no additional meaning about parameters beyond what's in the schema, such as explaining how 'min_confidence' or 'project_path' relate to the update process. 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 action ('Update CLAUDE.md file') and purpose ('with learned preferences'), and mentions a key behavioral detail ('creates backup first'). It doesn't explicitly differentiate from sibling tools like 'suggest_claudemd_update' or 'export_to_markdown', but the core purpose is well-defined.
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 like 'suggest_claudemd_update' or 'get_learned_preferences' is provided. The description implies usage for updating preferences but lacks context on prerequisites, timing, or exclusions.
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.
9 tool updates
v1.0.0- First observed
add_episode - First observed
export_to_markdown - First observed
generate_ai_standards - First observed
get_learned_preferences - First observed
list_recent - First observed
log_tool_execution - First observed
search_episodes - First observed
suggest_claudemd_update - First observed
update_claudemd
TDQS
Scored across 9 tools
Most tools have distinct purposes, but some potential overlap exists between 'suggest_claudemd_update' and 'update_claudemd' where an agent might need to understand the difference between suggestion and application. The core memory operations (add_episode, list_recent, search_episodes) are clearly differentiated, and export/learning tools serve separate functions.
All tools follow a consistent verb_noun naming pattern with snake_case throughout. The naming convention is predictable and readable, with clear action-object relationships (e.g., add_episode, search_episodes, update_claudemd). No mixed conventions or style deviations are present.
With 9 tools, the count is well-scoped for a knowledge/standards management server. Each tool appears to serve a specific purpose in the workflow (memory management, export, learning, standards generation), and none seem redundant or unnecessary given the domain.
The tool set covers core workflows for knowledge management (add, list, search), learning from corrections, and standards generation/updating. A minor gap exists in direct memory modification beyond adding episodes (e.g., no update/delete episode tools), but agents can likely work around this through the learning system. The export and auto-generation tools provide good coverage for the stated purpose.
Maintenance
Related MCP Connectors
- OolkinOAuthcom.oolkin
AI colleagues that keep your standards, your project and their reasoning between sessions
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that enables Claude to learn from user corrections by recording them as persistent rules in CLAUDE.md files. It manages project-specific or global guidelines to ensure the assistant avoids repeating the same mistakes in future sessions.24-
- AlicenseAqualityDmaintenanceManages project standards, configurations, and API debugging for AI-assisted development, ensuring unified development practices across teams and machines.138 npm5MIT
- AlicenseAqualityAmaintenanceA smart documentation system that helps AI assistants understand and follow your project's conventions by automatically discovering, routing, and managing AI_README.md guide files.6191 npm3MIT
- FlicenseNot gradedqualityDmaintenanceAutomatically enforces team coding standards in AI-assisted development by providing an MCP server that AI assistants can query for language-specific standards, style guides, and best practices.-