Context-MCP
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., "@Context-MCPload project context"
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.
Context-MCP
Intelligent Context Manager for AI Coding Assistants
Hierarchical semantic compression that remembers what matters
Installation • Quick Start • Features • CLI • API
The Problem
AI coding assistants forget your project context with every new conversation. You waste time re-explaining architecture, decisions, and patterns.
Related MCP server: Kratos-MCP
The Solution
Context-MCP provides a 3-level memory system that intelligently manages what the AI remembers:
┌─────────────────────────────────────────┐
│ CORE (~500 tokens) │
│ Always loaded • Key decisions │
│ Architecture • Critical patterns │
├─────────────────────────────────────────┤
│ ACTIVE (~2000 tokens) │
│ Current work context │
│ Related modules • Recent changes │
├─────────────────────────────────────────┤
│ ARCHIVE (unlimited) │
│ Full history • Searchable │
│ Auto-retrieved when relevant │
└─────────────────────────────────────────┘Installation
# Clone the repository
git clone https://github.com/vshavlidze/context-mcp.git
cd context-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests (optional)
npm testQuick Start
1. Add to your MCP configuration
Create or edit .mcp.json in your project:
{
"mcpServers": {
"context": {
"command": "node",
"args": ["/path/to/context-mcp/dist/index.js"]
}
}
}2. Start using context tools
In your AI assistant, use these tools:
context_get → Load project context at conversation start
context_add → Save important decisions/patterns
context_search → Find specific information
context_focus → Set current work area3. Or use the CLI
# Interactive terminal interface
npm run cli
# or after npm link:
ctxFeatures
Intelligent Compression
Automatic summarization of large contexts
Token-aware storage (~500 tokens for core)
Semantic relevance scoring
Auto-Management
Auto-archive: Old, low-relevance entries move to archive
Auto-promote: Frequently accessed entries rise to active
Smart caching: LRU cache with TTL for fast retrieval
Multi-language Support
English and Russian interfaces
Language selection on startup
Localized prompts and messages
Prompt Templates
Store reusable prompts in
prompts/folderVariable substitution (
{code},{problem})Categorized templates (coding, review, debug, docs)
Full-Text Search
SQLite FTS5 powered search
Search across all context levels
Relevance-ranked results
CLI Commands
Command | Description |
| Load project context |
| Add new context entry |
| Search context |
| List entries by level |
| Delete an entry |
| Set current work focus |
| Import from file |
| Browse prompt templates |
| Show statistics |
| System health check |
| Export to JSON/Markdown |
| Change language |
| Show all commands |
API (MCP Tools)
context_get
Load project context. Use at conversation start.
{
include_active?: boolean // Include ACTIVE level (default: true)
focus_categories?: string[] // Filter by categories
}context_add
Add new context entry.
{
title: string
content: string
category: 'architecture' | 'pattern' | 'decision' | 'api' |
'dependency' | 'bug' | 'feature' | 'config' |
'security' | 'performance'
level?: 'core' | 'active' | 'archive' // default: 'active'
priority?: 'critical' | 'high' | 'medium' | 'low'
tags?: string[]
}context_search
Search for specific context.
{
query: string
categories?: string[]
tags?: string[]
limit?: number // default: 10
}context_focus
Set current work focus to optimize context loading.
{
task: string // What you're working on
modules?: string[] // Related module names
}Project Structure
context-mcp/
├── src/
│ ├── core/ # Core logic
│ │ ├── compressor.ts # Semantic compression
│ │ ├── relevance.ts # Scoring algorithms
│ │ ├── telemetry.ts # Performance monitoring
│ │ └── types.ts # TypeScript types
│ ├── storage/
│ │ └── database.ts # SQLite + FTS5 storage
│ ├── mcp/
│ │ └── server.ts # MCP server implementation
│ └── cli/
│ ├── index.ts # CLI entry point
│ ├── commands.ts # Command handlers
│ ├── interface.ts # Terminal UI
│ └── i18n.ts # Translations
├── prompts/ # Prompt templates
├── tests/ # Test suites (306 tests)
└── dist/ # Compiled outputConfiguration
Environment variables:
Variable | Description | Default |
| Data directory path |
|
Performance
Bulk insert: ~0.8ms per entry
Search: <2ms for 100 results
Core snapshot: <5ms generation
Cache hit rate: >90% typical usage
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Add tests for new functionality
Ensure all tests pass
Submit a pull request
License
MIT License - see LICENSE for details.
Available Tools
9 toolscontext_addA
Add new context entry to the knowledge base. Use this to remember important decisions, patterns, or information about the project. The entry will be automatically categorized and compressed for efficient retrieval.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags for better searchability | |
| level | No | Storage level: core (always remember), active (current work), archive (full details) | |
| title | Yes | Short title for the context entry | |
| content | Yes | Full content/details to remember | |
| category | Yes | Category of the context | |
| priority | No | Importance level (default: medium) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose an important non-obvious behavior: 'The entry will be automatically categorized and compressed for efficient retrieval.' This alerts the agent that content is not stored verbatim. However, it omits other behavioral details like permissions, idempotency, or return behavior, leaving moderate 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 three sentences: first states the action, second gives usage guidance, third discloses automatic behavior. It is front-loaded with the primary purpose and contains no filler or redundant restatements of the tool name.
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 moderate complexity (6 parameters, 3 required, enums) and the rich schema, the description adds necessary behavioral context (automatic categorization/compression) and usage context. It does not explain what happens after creation (e.g., how to find the entry, whether an ID is returned), but given no output schema, this is a minor gap. Overall, adequately complete for an add operation.
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 parameters are already well-documented in the schema. The description adds minimal parameter-specific meaning beyond the schema—only the general hint that entries relate to 'decisions, patterns, or information.' It does not explain how parameters like category, level, or priority interact with the automatic categorization/compression behavior, so it stays at the baseline.
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 action ('Add new context entry to the knowledge base') and specifies the resource (knowledge base). It also gives examples of what to use it for ('important decisions, patterns, or information'). It does not explicitly contrast with sibling tools like context_get or context_update, but 'add new entry' inherently distinguishes it from non-add 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?
The description provides explicit usage direction: 'Use this to remember important decisions, patterns, or information about the project.' This gives clear context for when to call the tool. However, it does not mention when not to use it or point to alternatives such as context_search for retrieval or context_update for modifications, so it lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_deleteB
Delete a context entry
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the entry to delete |
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 only states the action 'Delete' without mentioning permanence, irreversibility, side effects, error handling, or permission requirements, leaving the destructive nature undisclosed.
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 with zero wasted words, immediately stating the action and target. It is appropriately sized for a tool with a simple input schema.
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?
Despite the simple input schema, the description lacks essential context for a destructive operation. It does not explain what happens on deletion (e.g., permanence, cascading effects, or behavior for non-existent IDs), and there is no output schema or annotations to compensate.
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 'id' property already described as 'ID of the entry to delete'. The description adds no additional parameter semantics beyond what the schema provides, so the 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 uses the specific verb 'Delete' and the resource 'context entry', clearly distinguishing it from sibling tools like context_get, context_add, and context_update. The intent is unambiguous.
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 when-to-use guidance, alternatives, or exclusions. It does not mention prerequisites, such as verifying existence, or when to prefer context_update over context_delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_focusA
Set the current work focus. This optimizes which context is loaded. Call this when switching between different areas of the project.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Brief description of current task | |
| modules | No | Module/component names you are working on |
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 the mutating action ('Set') and the effect ('optimizes which context is loaded'), but it does not mention persistence, reversibility, side effects on other context tools, or return values. This is acceptable but minimal for a setter.
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 short sentences: the first states the action, the second provides the usage context. No wasted words, front-loaded with the primary purpose, and 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?
For a simple setter with two parameters and no output schema, the description covers the what and when. However, it lacks details on behavioral scope (e.g., whether focus persists, affects other context tools) and interaction with the sibling tools. It is functional but leaves the agent to infer some implications.
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 both parameters (task, modules) having descriptions. The description itself adds no additional parameter semantics, but the schema already provides the necessary meaning. Baseline 3 is appropriate because the description does not compensate or enhance what the schema already supplies.
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 function with a specific verb and resource: 'Set the current work focus.' It also explains the benefit ('optimizes which context is loaded') and distinguishes itself from sibling tools by focusing on the 'focus' action rather than adding, searching, or modifying context entries.
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?
Provides a clear usage context: 'Call this when switching between different areas of the project.' This tells the agent when to use it, though it does not explicitly list alternatives or when-not conditions. The sibling tool names imply alternatives, making the guidance sufficient but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_getA
Get the current project context optimized for token efficiency. Returns a hierarchical view:
CORE: Critical decisions and patterns (always included, ~500 tokens)
ACTIVE: Current work context (included if relevant, ~2000 tokens)
ARCHIVE: Available via context_search for details
Use this at the start of conversations to understand the project.
| Name | Required | Description | Default |
|---|---|---|---|
| include_active | No | Include active context (default: true) | |
| focus_categories | No | Focus on specific categories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides full behavioral disclosure: outlines the hierarchical CORE/ACTIVE/ARCHIVE structure, token sizes, inclusion criteria, and token-efficiency optimization, which goes beyond the schema and helps the agent understand expected 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 well-structured with bullet points and token counts, conveying necessary information in a compact format. Every sentence adds value, such as the usage directive and the hierarchy breakdown.
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 read tool with no output schema, the description sufficiently explains the returned structure and tells the agent how to access archived details via context_search. It is complete for typical use cases.
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 adequate descriptions for both parameters. The tool description adds no additional parameter meaning, so the 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 'Get the current project context' with a specific verb and resource, and differentiates from siblings by mentioning ARCHIVE is available via context_search. This distinguishes it from other context 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?
Explicitly states 'Use this at the start of conversations to understand the project' and points to context_search for detailed archive retrieval, giving clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_relateB
Create a relationship between two context entries for better navigation
| Name | Required | Description | Default |
|---|---|---|---|
| to_id | Yes | Target entry ID | |
| from_id | Yes | Source entry ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral traits beyond the generic verb 'create'. With no annotations provided, it fails to disclose whether the relationship is directed, idempotent, or requires existing entries. This is a significant gap for a mutation tool, as the agent cannot anticipate side effects or constraints.
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 that immediately states the action and resource. No unnecessary words or repetition. It is appropriately sized for a tool with only two self-explanatory parameters.
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 covers the basic purpose and the schema covers parameters, but it lacks crucial contextual information: return behavior, directionality of the relationship, and any validation or side effects. With no output schema and no annotations, this is incomplete for an agent to safely invoke the tool in all cases.
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 both parameters ('Source entry ID' and 'Target entry ID'). The tool description does not add additional meaning beyond what the schema already provides, so the 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 states a specific verb ('Create') and resource ('relationship between two context entries'), clearly distinguishing it from sibling tools like context_add or context_update, which deal with entries themselves. 'For better navigation' adds context without clouding the primary action.
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. The description implies it is for creating relationships, but it does not mention prerequisites (e.g., entries must exist), nor does it contrast with context_add or context_update. The agent is left to infer usage from the name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_searchA
Search for specific context in the knowledge base. Use when you need detailed information about a specific topic. Searches across all levels including archived context.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags | |
| limit | No | Maximum results (default: 10) | |
| query | Yes | Search query (supports full-text search) | |
| categories | No | Filter by categories |
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 disclosing behavior. It does reveal that the search includes archived context, which is a useful behavioral trait. However, it does not explicitly state whether the search is read-only (though implied), nor does it mention any limitations, return format, or permissions. For a search tool, the read-only nature is fairly intuitive, but more disclosure would be expected.
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 concise sentences: the first states the action and resource, the second adds usage guidance and a key behavioral fact. There is no redundant or vague wording, and the information is front-loaded perfectly.
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 that there is no output schema and no annotations, the description is somewhat sparse. It does not describe what the response looks like, how results are ordered, or how to handle empty results. While the core search functionality is clear, the lack of return format details and filtering behavior leaves gaps for an agent selecting and invoking the 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?
The input schema provides descriptions for all four parameters, including the default for limit and full-text search support for query. The description does not add any parameter-specific semantics beyond what the schema already documents, so the 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 that the tool searches for context in the knowledge base, using the specific verb 'search' and identifying the resource. It also notes the scope 'across all levels including archived context,' which adds precision. However, it does not explicitly differentiate from sibling tools like context_get, so it misses the highest tier.
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 usage context: 'Use when you need detailed information about a specific topic.' It also implies a comprehensive search capability by including archived context. However, it does not mention when not to use this tool or name specific alternatives, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_statsB
Get statistics about the context database
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, output format, or potential performance impact. It only states the basic action, leaving the agent to assume safety and 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 redundant words. It is front-loaded with the core action and resource, making it highly efficient.
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 no output schema and no parameter documentation, so the description should explain what statistics are returned. It only says 'statistics about the context database' without listing metrics or structure, leaving the output ambiguous.
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 tool has zero parameters, so the schema is fully covered by default, and there is no parameter information in the description. With 0 parameters, the baseline score of 4 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 uses a specific verb ('Get') and identifies the resource ('statistics about the context database'), which distinguishes it from sibling tools like context_get or context_search that focus on individual records. However, it could be more specific about what statistics are covered.
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 is provided on when to use this tool versus alternatives. The phrase 'Get statistics' implies usage for aggregate data, but no context or exclusions are mentioned, making the usage implied rather than clearly delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_summarizeA
Generate a compressed summary of recent context. Useful for creating checkpoints or when context is getting too large.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Time reference like "1 hour ago", "today", "last week" | |
| max_tokens | No | Maximum tokens for summary (default: 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether this operation is read-only or has side effects, permissions required, or the return format. The agent cannot infer if summarizing affects the underlying context store.
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, front-loaded with the main action ('Generate') and followed by useful use cases. No filler or redundancy.
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 a simple parameter set and no output schema, but the description omits return value expectations and potential side effects. While purpose and usage are covered, the agent remains uncertain about what to expect as a result, making it only minimally 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 description coverage is 100%, with clear descriptions for both 'since' and 'max_tokens'. The description adds no extra parameter-level detail, but given full schema coverage, a 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?
Description uses a specific verb ('generate') and resource ('compressed summary of recent context'), clearly distinguishing it from sibling tools like context_add, context_get, and context_delete. The purpose is immediately evident.
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?
Explicitly states when to use: 'for creating checkpoints or when context is getting too large.' This provides clear context, though it does not explicitly mention alternatives or when not to use it. The use cases are sufficient to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
context_updateC
Update an existing context entry
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the entry to update | |
| tags | No | ||
| level | No | ||
| title | No | ||
| content | No | ||
| category | No | ||
| priority | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure. It merely states 'Update' without detailing mutation behavior, partial update support, required fields, or error outcomes.
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 declarative sentence, immediately identifying the tool's purpose without any filler or redundancy.
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 7 parameters and no output schema, the description provides no information about return values, update semantics, or validation rules, making it inadequate for correct 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 description coverage is only 14% (only 'id' has a description), and the description does not compensate by explaining the other parameters (tags, level, title, content, category, priority) or their expected formats.
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 uses the specific verb 'Update' and identifies the resource as 'an existing context entry,' clearly distinguishing it from sibling tools like context_add, context_get, and context_delete.
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 over alternatives, nor any prerequisites or exclusions. The description only states the action, leaving the agent to infer usage from the tool name.
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
context_add - First observed
context_delete - First observed
context_focus - First observed
context_get - First observed
context_relate - First observed
context_search - First observed
context_stats - First observed
context_summarize - First observed
context_update
TDQS
Scored across 9 tools
Each tool targets a distinct action on the context knowledge base: add, get, search, update, delete, relate, stats, focus, and summarize. There is no meaningful overlap; even get and search serve clearly separate purposes (broad optimized view vs. targeted query).
All tool names follow a uniform 'context_' prefix followed by a simple verb (add, get, search, update, delete, relate, stats, focus, summarize). This is a perfect example of consistent verb_noun convention.
With 9 tools, the server is well-scoped. Each tool is meaningful and contributes to the overall context management workflow without redundancy or bloat. This is an ideal size for the stated purpose.
The tool set covers the full lifecycle of context entries: create (add), read (get), update, delete, search, linking (relate), statistics, focus management, and summarization. There are no obvious dead ends or missing core operations.
Maintenance
Related MCP Connectors
Project memory, semantic code search, and grounded agent context.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Context engineering for AI coding agents: product context, project missions, and 360 memory.
Related MCP Servers
- AlicenseBqualityCmaintenanceProvides AI assistants with persistent memory of your project architecture, development history, and technical decisions, allowing them to give context-aware coding help without needing repeated explanations.1661 npm2MIT
- -licenseBqualityNot gradedmaintenanceA memory system for AI coding tools that stores and retrieves codebase context with project isolation. Enables coding assistants to maintain searchable memory of code snippets, comments, and runtime traces with full source traceability.2720 npm-
- AlicenseNot gradedqualityDmaintenanceProvides AI coding assistants with persistent, context-rich memory of a codebase, including documentation and git history, enabling recall across sessions.104Apache 2.0
- AlicenseNot gradedqualityCmaintenanceIntelligent context-aware memory system for AI assistants that enables persistent memory, automatic development activity tracking, and intelligent information retrieval across conversations.212 npm18MIT