Skip to main content
Glama
DIP-RO
by DIP-RO

Promem-MCP

Project Memory MCP — постоянный контекст проекта для ИИ-агентов программирования. Создано DIP-RO.

pip install promem-mcp

Никакой настройки базы данных. Никакого облака. Никакого демона. Никакой ручной конфигурации.

Promem-MCP — это локально-ориентированная среда выполнения контекста на основе MCP, которая даёт ИИ-агентам программирования постоянное понимание проекта: архитектуры, правил, решений, соглашений, информации о среде и Git-контекста — без повторных объяснений и потери контекста.

Быстрый старт

pip install promem-mcp

Вот и всё. При первом запуске Promem-MCP автоматически обнаруживает и настраивает все ваши установленные ИИ-клиенты (Cursor, Claude, VS Code, Cline и т.д.). Просто перезапустите ИИ-клиент после установки.

Предпочитаете ручное управление?

# See which clients are detected
promem config

# Auto-configure all detected clients at once
promem config --all

# Configure a specific client
promem config cursor
promem config claude-code
promem config vscode

Или вручную добавьте в MCP-конфиг вашего клиента:

{
  "mcpServers": {
    "promem-mcp": {
      "command": "promem",
      "args": []
    }
  }
}

Примечание для VS Code: VS Code использует ключ "servers", а не "mcpServers". Выполните promem config vscode для получения правильного формата.

Related MCP server: Tages

Как это работает

Как это работает

Возможности

  • Хранилище без настройки — база данных SQLite создаётся автоматически в подходящей для ОС директории

  • Автоматическое обнаружение проекта — язык, фреймворк, менеджер пакетов, тестовый фреймворк

  • Постоянная память — правила, решения, соглашения, факты о среде, Git-интеллект

  • Эффективное получение с учётом токенов — поиск FTS5 с бюджетом токенов, возвращает только релевантный контекст

  • Отслеживание происхождения — каждая запись памяти знает, откуда она взялась и насколько уверена

  • Редактирование секретов — ключи API, токены, пароли никогда не сохраняются и не возвращаются

  • Изоляция проектов — память проектов никогда не просачивается между проектами

  • Обнаружение устаревшего контекста — отмечает записи, конфликтующие с текущим состоянием проекта

  • Обнаружение противоречий — выявляет конфликтующие правила проекта

  • Непрерывность сессии — сводки для передачи между агентами/сессиями

  • Git-интеллект — последние коммиты, изменённые файлы, TODO/FIXME

  • Диагностика среды — версия Python, venv, полнота .env, Docker

  • Локальная работа — никаких сетевых запросов, никакого облака, никаких внешних сервисов

MCP-инструменты

Инструмент

Описание

ctx_search

Поиск постоянного контекста проекта с бюджетом токенов

ctx_get

Получение конкретной записи памяти по ID

ctx_save

Сохранение записи, решения, правила или факта

ctx_update

Обновление существующей записи

ctx_delete

Удаление записи

ctx_project

Получение информации о текущем проекте

ctx_rules

Получение всех правил и соглашений проекта

ctx_decisions

Получение всех технических/архитектурных решений

ctx_recent

Получение последних записей и последней сессии

ctx_git

Получение Git-интеллекта

ctx_environment

Получение информации о среде

ctx_diagnostics

Запуск диагностики среды

ctx_summary

Получение компактной сводки проекта для передачи

CLI

contextmcp --version        # Version
promem status           # Project + storage status
promem doctor           # Health checks
promem stats            # Usage statistics
promem search "query"   # Search context
promem memory list      # List memories
promem decision "text"  # Save a decision
promem privacy          # Privacy info
promem config           # Client configuration
promem repair           # Rebuild index, optimize DB
promem reset            # Delete all data (with confirmation)

Поддержка клиентов

Клиент

Автоконфигурация?

Ключ конфига

Claude Code

promem config claude-code

mcpServers

Claude Desktop

promem config claude-desktop

mcpServers

Cursor

promem config cursor

mcpServers

VS Code / Copilot

promem config vscode

servers

OpenCode

promem config opencode

mcp

Gemini CLI

promem config gemini-cli

mcpServers

Windsurf

promem config windsurf

mcpServers

Cline

promem config cline

mcpServers

Roo Code

promem config roo-code

mcpServers

Amazon Q

promem config amazon-q

mcpServers

ZCode (GLM/Zhipu)

promem config zcode

mcpServers

Tabnine

promem config tabnine

mcpServers

Ни один клиент не поддерживает истинную регистрацию без конфигурации. ContextMCP обнаруживает установленные клиенты, предлагает записать конфигурацию (с резервной копией и слиянием) и предоставляет точные фрагменты для копирования-вставки.

Конфиденциальность

  • Только локально — никаких сетевых запросов

  • Содержимое проектов не загружается

  • Секреты редактируются — никогда не сохраняются и не возвращаются

  • Нет облачных зависимостей

promem privacy

Расположение хранилища

ContextMCP использует локальное для проекта хранилище — никакой централизованной системной директории, никакого лишнего места.

Расположение

Путь

Локально в проекте (по умолчанию)

<project-root>/.contextmcp/

Каждый проект получает свой собственный файл .contextmcp/contextmcp.db. Хранилище путешествует вместе с проектом. Никакого разбухания глобального хранилища.

Добавьте .contextmcp/ в ваш .gitignore (уже включено по умолчанию в шаблоны игнорирования ContextMCP).

При необходимости переопределите с помощью переменной окружения CONTEXTMCP_DATA_DIR.

Установка

# pip
pip install promem-mcp

# uv
uv add contextmcp

# pipx (global CLI)
pipx install contextmcp

Работает в venv, virtualenv, uv, pipx и системном Python.

Разработка

git clone https://github.com/contextmcp/contextmcp.git
cd contextmcp
pip install -e ".[dev]"
pytest

Лицензия

MIT

Available Tools

13 tools
ctx_decisionsA

Get all technical/architecture decisions with reasoning.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/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 indicates a read-only retrieval operation ('Get all...') but does not elaborate on potential side effects, authentication needs, or data volume. A score of 3 is appropriate as it adds basic context but is not rich in behavioral details.

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 5 words, front-loading the purpose. Every word is meaningful: 'Get' signals retrieval, 'all' indicates scope, 'technical/architecture decisions with reasoning' defines the content. No wasted text.

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 has 0 parameters, no required arguments, and an output schema exists, the description is mostly complete. It explains the purpose clearly. It could be slightly enhanced by hinting at the output format or typical usage context, but it adequately serves its purpose for a parameterless tool.

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 input schema has 0 parameters and schema description coverage is 100%, so the schema is complete by default. Since there are no parameters, the description does not need to add param-level guidance, and the baseline for no parameters is 4. The description adds value by clarifying the specific type of data returned (decisions with reasoning).

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 specific verbs ('Get') and a clear resource ('technical/architecture decisions'). It distinguishes itself from siblings by narrowing the scope to decisions with reasoning, which is a distinct subset of contextual data not covered by tools like ctx_search or ctx_get.

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?

The description implies when to use this tool (when you need technical/architecture decisions with reasoning) but does not provide explicit guidance on when not to use it or how it compares to alternatives like ctx_get or ctx_search. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_deleteC

Delete a memory from persistent context.

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only says 'delete', implying irreversible removal, but does not disclose error handling, idempotency, required permissions, or return behavior. No additional behavioral traits are revealed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, but it is under-specified rather than appropriately concise. It lacks critical details about usage and behavior, so brevity comes at the cost of completeness.

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 deletion tool with one required parameter, multiple sibling tools, and an output schema, the description is woefully incomplete. It omits success conditions, error handling, idempotency, and parameter guidance, leaving the agent to guess.

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 0% and the tool description does not mention the 'memory_id' parameter or its format/meaning. The agent receives no help beyond the schema's type declaration.

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 states 'Delete a memory from persistent context' with a clear verb and resource. It is unambiguous but does not differentiate from sibling tools like ctx_update or ctx_save, which could also involve memory manipulation.

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 versus alternatives such as ctx_update (modify) or ctx_save (create). The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_diagnosticsA

Run environment diagnostics: missing env vars, config issues, health checks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It states that the tool runs diagnostics and specifies output areas, which provides some transparency but omits side effects, required permissions, or whether it modifies state. The description is adequate but not rich.

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 no filler. It is front-loaded with the core action and lists specific diagnostic areas. Every phrase is necessary.

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 that the tool has no parameters and an output schema exists, the description provides enough context for an agent to decide when to use it. It could mention whether the output schema includes all listed diagnostic areas, but this is minor.

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 description does not need to add parameter details beyond the schema. The description explains what the tool does when invoked without arguments, which adds value. Base score 4 for 0-parameter tools.

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 'Run environment diagnostics' and specifies the resource being diagnosed. It lists three diagnostic areas (missing env vars, config issues, health checks), clarifying the scope.

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?

The description implies use when an agent needs to check the environment's health, but does not explicitly state when to use this tool versus alternatives like ctx_environment or when not to use it. No exclusions or contextual triggers are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_environmentA

Get environment intelligence: Python version, venv, dependencies, Docker, .env status.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. The verb 'Get' indicates a read-only operation, and the content list clarifies scope, but it does not disclose potential side effects, permission requirements, or performance characteristics such as Docker inspection time or .env file parsing.

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 packs the core purpose and key content areas without any fluff. Every word 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 one-parameter tool, the description covers the main purpose and content, and the output schema exists to detail return values. However, it omits parameter semantics and usage boundaries, making it not fully complete for an agent to confidently invoke it in all situations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for its sole parameter `detailed`, and the description does not explain the parameter's effect or how it alters the output. The name is somewhat self-explanatory, but the description fails to compensate for the missing schema documentation, leaving the agent to guess.

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 'Get' and identifies the resource as 'environment intelligence', listing concrete aspects (Python version, venv, dependencies, Docker, .env status). This clearly distinguishes from sibling tools like ctx_git or ctx_project which focus on other domains.

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?

The description implies the tool is to be used for environment inspection, but provides no explicit when-to-use guidance, exclusions, or alternative tool references. An agent must infer when to call this over ctx_project or ctx_diagnostics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_getB

Get a specific memory by its ID with full provenance.

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears the full burden. It indicates a read-only retrieval ('Get'), which is clear. However, it does not disclose rate limits, size limits on returned data, whether the memory is returned in full or trimmed, or if authentication is needed. For a retrieval tool, 3 is fair given the 'full provenance' hint suggests rich data returns.

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?

A single, functional sentence with no wasted words. Every term ('specific memory', 'ID', 'full provenance') directly communicates the tool's purpose and distinguishes it from siblings.

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?

With a required single parameter, no enums, and an output schema present (which presumably describes return structure), the description is largely complete. It lacks guidance on obtaining the memory_id or handling missing IDs, but the tool's simplicity and the output schema reduce the need for more description.

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 0% (the input schema has no description for memory_id), so the description must compensate. It names 'memory_id' as the parameter but does not explain its format (e.g., UUID, string pattern) or how to obtain it. Baseline 3 since description adds minimal semantic value beyond the parameter name.

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 verb 'Get a specific memory' clearly indicates retrieval by ID. It is well differentiated from siblings like ctx_search (search vs. exact ID lookup), ctx_save (creation), ctx_update (modification), and ctx_delete (deletion).

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?

There is no guidance on when to use this tool versus alternatives. For example, it does not contrast with ctx_search for retrieving memories without knowing the exact ID, nor specify prerequisites like having a valid memory_id. The context of 'full provenance' is hinted but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_gitB

Get Git intelligence: recent commits, changed files, branches, TODOs/FIXMEs.

detail can be: summary, commits, files, todos

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNosummary

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior fully. 'Get' implies read-only, which is positive, but it does not state side effects (none expected), authentication needs, or performance implications. The description adds a bit beyond structured fields by listing outputs and the 'detail' parameter values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (three lines) and front-loaded with purpose. The parameter values list is useful but could be integrated more cleanly. 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?

With one optional parameter and an output schema, the description is adequate but minimal. It does not explain default behavior (what 'summary' includes), or handle edge cases (no git repo). Given complexity is low, a 3 is appropriate.

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?

There is only one parameter ('detail') with 0% schema description coverage. The description explicitly lists possible detail values ('summary, commits, files, todos'), which adds meaning beyond the bare schema. This compensates well for the lack of schema documentation.

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 verb 'Get' and resource 'Git intelligence', listing specific outputs (recent commits, changed files, branches, TODOs/FIXMEs). However, it does not explicitly distinguish from sibling tools like ctx_project or ctx_summary, which could also return project or summary info.

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 given on when to use this tool versus alternatives like ctx_search or ctx_recent. The description does not mention context, prerequisites (e.g., git repository must exist), or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_projectA

Get current project information: name, language, framework, root, git status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the tool returns project metadata but does not disclose behavioral traits such as whether it reads from a local file or remote source, whether it requires authentication, or what happens if the project is not initialized. The output schema exists, but the description could add more context about side effects or state.

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 lists key information. Every word contributes meaning, and there is zero verbosity.

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 simplicity (zero parameters, no annotations needed) and the existence of an output schema, the description is reasonably complete. It explains the return fields and purpose. However, it could mention if it requires the project to exist or what the fallback behavior is, but for a getter tool with zero complexity, this is sufficient.

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 and schema coverage is 100%, so the description's job is minimal. It adds value by listing the exact fields returned (name, language, framework, root, git status), which helps an agent understand the output without inspecting the output schema.

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 explicitly states the verb 'Get' and the resource 'current project information', and lists the specific fields returned (name, language, framework, root, git status). This clearly distinguishes it from sibling tools like ctx_search (searching) or ctx_git (git-specific 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 implicitly conveys when to use this tool: to retrieve current project context. It provides no explicit when-not-to-use or alternative suggestions among the many sibling tools, but the purpose is clear enough that an agent would know to use it for project metadata, not for searching or other operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_recentC

Get recent memories and latest session summary for continuity between sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.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 must fully disclose behavioral traits. It lacks any mention of safety (e.g., read-only or destructive), performance considerations, or whether results are ordered (e.g., by recency). The agent cannot infer if this is a safe read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, no filler words. It front-loads the action ('Get recent memories and latest session summary'). However, the sentence could be more compact by removing 'for continuity between sessions' if not necessary for clarity, but it's still appropriate length.

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?

Given the tool complexity (1 parameter, 12 sibling tools), the description lacks explanation of the 'limit' parameter, return value (even though an output schema exists), and ordering semantics. The tool's purpose is fairly simple, so a score of 2 reflects minimal completeness gaps: missing param semantics and behavioral transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the schema provides no descriptions for the single parameter 'limit'. The description does not explain this parameter beyond its default value of 10. No information is given about what 'limit' controls (e.g., number of memories, number of summaries, or something else).

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 retrieves 'recent memories and latest session summary' for maintaining continuity between sessions. While it uses a specific verb ('Get') and resource ('recent memories... session summary'), it doesn't explicitly differentiate from sibling tools like ctx_search or ctx_get, but the 'recent' and 'latest' qualifiers imply distinct scope.

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 implies this tool is for continuity between sessions, but it provides no explicit guidance on when to use it versus asking for specific memories via ctx_get or searching via ctx_search. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_rulesA

Get all project rules and coding conventions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral disclosure. It states the tool returns 'all project rules and coding conventions,' which implies a read-only operation. However, it does not disclose whether the result is exhaustive, whether it requires authentication, or if there are pagination or performance implications for fetching 'all' rules. The description is adequate but leaves gaps for a no-annotation scenario.

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 that is front-loaded with the core action. Every word is functional—'Get all project rules and coding conventions' is efficient and clear with no wasted text.

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 has zero parameters, no annotations, and an output schema (which presumably describes the return structure), the description is fairly complete. It explains what the tool retrieves (rules and conventions) and implies it is a comprehensive read operation. Some minor context about scope (e.g., 'for the current project') could be added, but it is sufficient for an agent to understand the tool's purpose.

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 input schema has zero parameters, so the description does not need to add parameter-level meaning. Baseline for 0 parameters is 4. The description covers the tool's purpose without needing to elaborate on any parameters.

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 'Get all project rules and coding conventions,' which specifies the verb 'Get' and the resource 'project rules and coding conventions.' This distinguishes it from siblings like ctx_search (which likely searches for specific items) and ctx_save (which saves/persists data). However, it could be more precise about the scope (e.g., 'all rules for the current project').

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 guidance on when to use this tool versus alternatives. For example, when should a user call ctx_rules instead of ctx_search or ctx_get? There are no explicit 'when to use' or 'when not to use' instructions, and no mention of alternatives among the 13 sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_saveA

Save a memory, decision, rule, or fact to persistent context.

Use this to store technical decisions, project rules, coding conventions, or any important context that should persist across AI coding sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
typeNoproject_rule
scopeNoproject
sourceNo
contentYes
confidenceNo
importanceNo
source_typeNouser

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the behavioral disclosure burden. It adds value by noting that context is "persistent" and lasts "across AI coding sessions," implying a long-term write operation. However, it does not mention whether saves overwrite existing entries, require special permissions, or produce specific side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded, with the core action in the first sentence. However, there is some redundancy: 'memory, decision, rule, or fact' overlaps with 'technical decisions, project rules, coding conventions', and 'persistent context' is repeated as 'persist across AI coding sessions'.

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 8 parameters, no schema descriptions, and no annotations, making it relatively complex. The description covers purpose and usage but leaves parameter semantics entirely unaddressed. An output schema exists, so return values are likely specified there, but the agent still lacks critical information about how to properly configure saves.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for its 8 parameters, and the description does not compensate. It mentions 'content' implicitly by listing types of content to save, but gives no guidance on how to use 'type', 'scope', 'tags', 'confidence', 'importance', 'source', or 'source_type'. The agent is left to infer parameter semantics from names and defaults alone.

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 explicitly states "Save a memory, decision, rule, or fact to persistent context," providing a specific verb (save) and resource (persistent context). It lists example content types, which clearly distinguishes this from read/search siblings like ctx_search and ctx_get.

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 second sentence gives clear usage context: "Use this to store technical decisions, project rules, coding conventions, or any important context that should persist across AI coding sessions." This tells the agent when to use the tool, though it does not explicitly name alternatives or when-not-to-use scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_summaryA

Get a compact project context summary for handoff between sessions or agents.

Includes project info, key rules, recent decisions, environment status, and latest session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes what the tool returns (project info, key rules, etc.) but does not disclose behavioral traits such as that it is read-only, whether it has side effects, or any performance considerations. The description is adequate but could be more explicit about 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 two sentences: first sentence states purpose and use case, second lists included content. No filler words, front-loaded with the most important information. Highly efficient.

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 has no parameters and an output schema is present, the description is fairly complete. It tells the agent what the summary contains and its intended use. It could mention that it is a read-only operation, but the output schema likely details the return structure. The description is sufficient for a simple tool.

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 input schema is trivial. The description adds value by listing the contents included in the summary (project info, key rules, etc.), which is beyond what the schema provides. Baseline for no parameters is 4, and the description meets that.

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 purpose: 'Get a compact project context summary for handoff between sessions or agents.' It specifies the verb (Get) and the resource (compact project context summary), and distinguishes it from sibling tools by mentioning it aggregates multiple aspects (project info, key rules, decisions, environment, recent session).

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 gives a clear use case: 'for handoff between sessions or agents.' This implies when to use it (transition times). However, it does not explicitly state when not to use it or compare it to alternatives like ctx_get or ctx_project, which would be helpful given the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ctx_updateC

Update an existing memory. Only provided fields are changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
contentNo
memory_idYes
confidenceNo
importanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must fully disclose behavior. 'Only provided fields are changed' hints at a partial update (patch semantics), but it does not state whether the update is atomic, what happens to unspecified fields, or whether validation occurs. No description of return values, even though an output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no fluff. It is front-loaded and readable. However, it is too terse to cover all necessary dimensions given the tool's complexity and missing annotations.

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?

Given 5 parameters (including optional ones with defaults), 14 sibling tools, and no annotations, the description is too sparse. It does not explain the relationship to other tools, how partial updates work with nullable fields, or what the output schema provides. The description would benefit from covering prerequisites and behavioral nuance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The only parameter-related info is 'Only provided fields are changed', which describes update behavior but adds no meaning to individual fields like memory_id, tags, content, confidence, or importance. Their default values and nullability are left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update an existing memory', which indicates a mutation verb and a vague resource ('memory'). However, the resource is not specific enough among siblings like ctx_delete (deletion) or ctx_save (creation/overwrite). It leaves ambiguity about what 'memory' means in the context of a memory system with many other tools.

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?

It provides no guidance on when to use this tool vs alternatives like ctx_save (which might create or overwrite) or ctx_delete. There is no mention of prerequisites (e.g., the memory must already exist) or scenarios where this is preferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 13 tool updatesv0.2.0
    • First observedctx_decisions
    • First observedctx_delete
    • First observedctx_diagnostics
    • First observedctx_environment
    • First observedctx_get
    • First observedctx_git
    • First observedctx_project
    • First observedctx_recent
    • First observedctx_rules
    • First observedctx_save
    • First observedctx_search
    • First observedctx_summary
    • First observedctx_update

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct concern (search, get, save, update, delete, project info, etc.) with clear descriptions, making it easy for an agent to choose the right one. No two tools overlap in purpose.

Naming Consistency2/5

There is a deep inconsistency: most tools use a 'ctx_' prefix (ctx_search, ctx_get, ctx_save, etc.), but a few tools like 'ctx_git', 'ctx_environment', and 'ctx_diagnostics' do not follow this pattern. Additionally, 'ctx_git''s description includes a confusing 'detail' parameter that is not shown in the tool name, breaking the expected consistency.

Tool Count4/5

13 tools is a reasonable count for a project-context memory server, covering search, CRUD for memories, project info, environment, and session summaries. Each tool has a distinct purpose and earns its place.

Completeness4/5

The tool set covers core memory operations (CRUD), project info, decisions, rules, environment diagnostics, and session continuity. There are no obvious dead ends for common agent tasks like retrieving, storing, updating, or searching context. Minor gap: no tool for batch operations or listing all memories.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that provides persistent project context, workflow management, and knowledge capture for AI coding agents. It enables agents to maintain structured memory across sessions by tracking project profiles, conventions, skills, and technical debt.
    7
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to maintain persistent, cross-session memory of codebase architecture, naming conventions, and decisions through MCP tools. Eliminates repetitive project re-explanation by automatically injecting stored context into every session with local-first SQLite storage and optional team sharing capabilities.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides persistent, cross-session memory and team knowledge sharing for AI development workflows. It enables project DNA scanning, semantic search, context budgeting, and git-aware indexing to prevent AI context loss between sessions.
    19
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server that provides cross-session persistent memory for AI coding assistants using local vector database and semantic search, enabling automatic recall of project context, issues, and tasks.
    9
    91
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DIP-RO/MCP_Package'

If you have feedback or need assistance with the MCP directory API, please join our Discord server