Skip to main content
Glama

Context-MCP

Version License Node Tests

Intelligent Context Manager for AI Coding Assistants

Hierarchical semantic compression that remembers what matters

InstallationQuick StartFeaturesCLIAPI


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 test

Quick 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 area

3. Or use the CLI

# Interactive terminal interface
npm run cli
# or after npm link:
ctx

Features

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/ folder

  • Variable substitution ({code}, {problem})

  • Categorized templates (coding, review, debug, docs)

  • SQLite FTS5 powered search

  • Search across all context levels

  • Relevance-ranked results

CLI Commands

Command

Description

/get

Load project context

/add

Add new context entry

/search

Search context

/list

List entries by level

/delete

Delete an entry

/focus

Set current work focus

/import

Import from file

/prompts

Browse prompt templates

/stats

Show statistics

/health

System health check

/export

Export to JSON/Markdown

/lang

Change language

/help

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[]
}

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 output

Configuration

Environment variables:

Variable

Description

Default

CONTEXT_MCP_DATA

Data directory path

~/.context-mcp

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:

  1. Fork the repository

  2. Create a feature branch

  3. Add tests for new functionality

  4. Ensure all tests pass

  5. Submit a pull request

License

MIT License - see LICENSE for details.

Available Tools

9 tools
context_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags for better searchability
levelNoStorage level: core (always remember), active (current work), archive (full details)
titleYesShort title for the context entry
contentYesFull content/details to remember
categoryYesCategory of the context
priorityNoImportance level (default: medium)

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the entry to delete

TDQS

B3/5.0
Behavior1/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesBrief description of current task
modulesNoModule/component names you are working on

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_activeNoInclude active context (default: true)
focus_categoriesNoFocus on specific categories

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
to_idYesTarget entry ID
from_idYesSource entry ID

TDQS

B3/5.0
Behavior1/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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_statsB

Get statistics about the context database

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoTime reference like "1 hour ago", "today", "last week"
max_tokensNoMaximum tokens for summary (default: 500)

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the entry to update
tagsNo
levelNo
titleNo
contentNo
categoryNo
priorityNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 9 tool updatesv1.0.0
    • First observedcontext_add
    • First observedcontext_delete
    • First observedcontext_focus
    • First observedcontext_get
    • First observedcontext_relate
    • First observedcontext_search
    • First observedcontext_stats
    • First observedcontext_summarize
    • First observedcontext_update

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

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).

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Provides 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.
    16
    61 npm
    2
    MIT
  • -
    license
    B
    quality
    Not graded
    maintenance
    A 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.
    27
    20 npm
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI coding assistants with persistent, context-rich memory of a codebase, including documentation and git history, enabling recall across sessions.
    104
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Intelligent context-aware memory system for AI assistants that enables persistent memory, automatic development activity tracking, and intelligent information retrieval across conversations.
    212 npm
    18
    MIT