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

Promem-MCP

Project Memory MCP — AI 코딩 에이전트를 위한 지속적인 프로젝트 컨텍스트. DIP-RO에 의해 제작됨.

pip install promem-mcp

데이터베이스 설정 불필요. 클라우드 불필요. 데몬 불필요. 수동 설정 불필요.

Promem-MCP는 로컬 우선, MCP 네이티브 컨텍스트 런타임으로, AI 코딩 에이전트에게 반복적인 설명이나 컨텍스트 낭비 없이 지속적인 프로젝트 이해(아키텍처, 규칙, 결정, 관례, 환경 인텔리전스 및 Git 컨텍스트)를 제공합니다.

빠른 시작

pip install promem-mcp

그게 전부입니다. 첫 실행 시 Promem-MCP가 설치된 모든 AI 코딩 클라이언트(Cursor, Claude, VS Code, Cline 등)를 자동 감지 및 자동 구성합니다. 설치 후 AI 클라이언트를 다시 시작하기만 하면 됩니다.

수동 제어를 선호하시나요?

# 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는 "mcpServers"가 아닌 "servers" 키를 사용합니다. 올바른 형식을 위해 promem config vscode를 실행하세요.

Related MCP server: Tages

작동 방식

How It Works

기능

  • 설정 불필요 저장소 — SQLite 데이터베이스가 OS에 적합한 디렉토리에 자동 생성됨

  • 자동 프로젝트 감지 — 언어, 프레임워크, 패키지 매니저, 테스트 프레임워크

  • 지속적인 메모리 — 규칙, 결정, 관례, 환경 사실, 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는 프로젝트 로컬 저장소를 사용합니다 — 중앙 집중식 OS 디렉토리 없음, 공간 낭비 없음.

위치

경로

프로젝트 로컬 (기본값)

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

  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

Scored across 13 tools

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

ActivitySlowing
ResponsivenessNo issues

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.
    9 npm
    MIT
  • A
    license
    B
    quality
    D
    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
    144 PyPI
    91
    Apache 2.0