Skip to main content
Glama

🧠 mcp-memento - AI 컨텍스트를 한곳에 보관하세요

Download mcp-memento

📌 mcp-memento의 기능

mcp-memento는 AI 코딩 도구가 유용한 정보를 한곳에 보관하도록 돕습니다. 어시스턴트에게 간단한 메모리 계층을 제공하여 작업하는 동안 메모, 프로젝트 세부 정보 및 관계 링크를 유지할 수 있게 합니다.

AI 도구가 세션 전반에 걸쳐 내용을 기억하게 하거나, 코드베이스의 일부를 추적하거나, 프로젝트를 위한 작은 지식 베이스를 유지하고 싶을 때 사용하세요. 데이터는 SQLite에 저장되므로 정보는 컴퓨터의 로컬 파일에 안전하게 보관됩니다.

Related MCP server: LumenCore

🚀 Windows에서 다운로드 및 실행

이 페이지를 열고 앱을 다운로드하세요:

Download mcp-memento

페이지를 연 후, 최신 릴리스 또는 기본 다운로드 옵션을 찾으세요.

Windows 설치 단계

  1. 브라우저에서 다운로드 페이지를 엽니다.

  2. 앱 또는 패키지의 Windows 버전을 받습니다.

  3. 파일을 다운로드 폴더에 저장합니다.

  4. Windows 보안 프롬프트가 나타나면 '유지' 또는 '추가 정보'를 선택한 후 '실행'을 누릅니다.

  5. 설치가 완료될 때까지 화면의 지침을 따릅니다.

  6. 시작 메뉴나 저장한 폴더에서 앱을 시작합니다.

포터블 버전을 사용하는 경우

  1. 파일을 다운로드합니다.

  2. 나중에 찾기 쉬운 폴더로 이동합니다.

  3. 파일을 더블 클릭하여 실행합니다.

  4. mcp-memento가 메모리 데이터를 유지할 수 있도록 데이터 파일을 같은 위치에 두세요.

🖥️ 요구 사항

mcp-memento는 다음과 같은 최신 Windows PC에서 가장 잘 작동합니다:

  • Windows 10 또는 Windows 11

  • 소스에서 실행하는 경우 최신 버전의 Python 3

  • 작은 SQLite 데이터베이스를 위한 충분한 여유 공간

  • AI 코딩 도구 또는 에디터에 대한 액세스 권한

로컬 사용을 위해 구축되었으므로 복잡한 설정이 필요하지 않습니다. 대부분의 사용자는 다운로드하여 에디터나 에이전트 도구에 연결하기만 하면 됩니다.

✨ 주요 기능

  • AI 코딩 에이전트를 위한 메모 보관

  • 로컬 SQLite 데이터베이스에 메모리 저장

  • 관련 인물, 파일, 작업 및 아이디어 연결 지원

  • Model Context Protocol 서버로 작동

  • 에디터 및 어시스턴트 워크플로우에 통합

  • 지식 베이스 스타일 사용 지원

  • 시간이 지나도 프로젝트 컨텍스트 유지

  • AI 도구에 대한 반복적인 설명 감소

🧭 워크플로우에서의 위치

mcp-memento는 AI 어시스턴트가 이전 세부 정보를 계속 잊어버릴 때 유용합니다. 동일한 프로젝트 메모를 반복하는 대신, 한 번 저장하고 나중에 도구가 읽게 할 수 있습니다.

일반적인 용도는 다음과 같습니다:

  • 프로젝트 규칙 기억

  • 파일 및 폴더 메모 저장

  • 코드 결정 사항 추적

  • 관련 작업 연결

  • 소규모 팀 지식 베이스 유지

  • 어시스턴트에게 컨텍스트를 읽고 쓸 수 있는 안정적인 공간 제공

🛠️ 기본 설정

실행 가능한 Windows 파일을 다운로드했다면, 파일을 열고 지침을 따르세요.

에디터나 AI 도구와 함께 사용하는 경우, 해당 도구의 MCP 설정에 서버 세부 정보를 추가하여 연결하세요. 많은 도구에서 앱 파일이나 실행 명령을 지정하여 로컬 서버를 추가할 수 있습니다.

일반적인 설정 흐름:

  1. 앱을 다운로드합니다.

  2. Windows에서 시작합니다.

  3. AI 도구 또는 에디터를 엽니다.

  4. mcp-memento를 MCP 서버로 추가합니다.

  5. 설정을 저장합니다.

  6. 어시스턴트에게 메모를 저장하거나 저장된 사실을 불러오도록 요청하여 테스트합니다.

🔗 AI 도구에 연결하기

mcp-memento는 Model Context Protocol을 지원하는 도구를 위해 만들어졌습니다. 여기에는 로컬 MCP 서버와 통신할 수 있는 어시스턴트 앱과 에디터가 포함됩니다.

연결하면 도구는 다음을 수행할 수 있습니다:

  • 저장된 메모리 읽기

  • 새로운 사실 저장

  • 지식 베이스의 항목 연결

  • 향후 채팅에서 과거 프로젝트 컨텍스트 사용

에디터에 확장 프로그램 패널이 있다면 MCP 또는 서버 섹션을 찾으세요. 거기에 mcp-memento를 추가하고 다운로드한 로컬 앱이나 실행 파일을 지정하세요.

🗂️ 저장되는 데이터

앱은 데이터를 구조화된 형태로 보관하므로 검색과 재사용이 쉽습니다. 데이터베이스에는 다음이 포함될 수 있습니다:

  • 메모

  • 프로젝트 사실

  • 항목 간의 관계

  • 메모리 항목

  • 참조 링크

  • 코딩 작업을 위한 작업 컨텍스트

이를 통해 AI 어시스턴트가 이전 정보를 잃지 않고 작업을 계속하기가 더 쉬워집니다.

📚 사용 사례 예시

개인 코딩 작업

앱의 구성 요소, 명명 규칙 및 이미 내린 결정 사항을 추적하세요.

장기 프로젝트

디자인 메모를 저장하고 나중에 모든 것을 다시 입력할 필요 없이 다시 확인하세요.

지식 베이스

API, 파일, 도구 및 사람에 대한 사실을 한곳에 로컬로 저장하세요.

에디터 통합

코드 에디터와 함께 사용하여 작업하는 동안 어시스턴트가 메모리를 읽고 쓸 수 있게 하세요.

🔍 검색 및 불러오기

mcp-memento는 어시스턴트가 올바른 정보를 빠르게 찾을 수 있도록 구축되었습니다. 메모를 짧고 직접적으로 유지하고 필요할 때 재사용하세요.

저장하기 좋은 항목:

  • 폴더의 목적

  • 함수의 역할

  • 프로젝트 규칙

  • 알려진 버그

  • 주요 파일 이름

  • 기능과 작업 간의 링크

🔐 데이터는 로컬에 유지

메모리 데이터는 컴퓨터의 SQLite에 저장됩니다. 따라서 필요할 경우 다른 도구로 백업, 이동 또는 검사하기가 쉽습니다.

일반적인 로컬 저장소의 이점:

  • 간단한 파일 기반 저장소

  • 쉬운 백업

  • 쉬운 복원

  • 복잡한 서버 설정 없음

  • 개인 프로젝트에 적합

🧪 설정 후 첫 테스트

mcp-memento를 연결한 후 간단한 테스트를 수행하세요:

  1. 어시스턴트에게 프로젝트에 대한 메모를 저장하도록 요청합니다.

  2. 새 채팅에서 해당 메모를 불러오도록 요청합니다.

  3. 두 개의 프로젝트 항목을 서로 연결하도록 요청합니다.

  4. 답변이 저장된 컨텍스트를 사용하는지 확인합니다.

어시스턴트가 메모를 저장하고 불러올 수 있다면 설정이 정상적으로 작동하는 것입니다.

📁 프로젝트 주제

이 프로젝트는 다음 영역에 해당합니다:

  • ai-assistants

  • code-assistants

  • developer-tools

  • ide-integration

  • knowledge-base

  • mcp

  • mcp-server

  • persistent-memory

  • productivity-tools

  • python3

  • sqlite3

  • relationship-mapping

  • zed-extension

🧩 일반적인 파일 형식

다음과 같은 파일을 볼 수 있습니다:

  • Windows 실행 파일

  • 구성 파일

  • SQLite 데이터베이스 파일

  • 실행 스크립트

  • README 파일

실행 간에 메모리를 유지하려면 데이터베이스 파일을 안전한 곳에 보관하세요.

🖱️ 간단한 Windows 팁

  • 처음 설치 시 '다운로드' 폴더를 사용하세요

  • 자주 사용하는 경우 앱을 시작 메뉴에 고정하세요

  • 데이터 폴더를 한곳에 유지하세요

  • 큰 변경 사항이 있기 전에 SQLite 파일을 백업하세요

  • 데이터 파일을 이동하기 전에 앱을 닫으세요

🧰 소스에서 실행하는 경우

Python 3 사용에 익숙하다면 Windows에서 소스로 프로젝트를 실행할 수 있습니다.

일반적인 단계:

  1. Python 3를 설치합니다.

  2. 저장소 파일을 다운로드합니다.

  3. 프로젝트 폴더에서 터미널을 엽니다.

  4. 필요한 Python 패키지를 설치합니다.

  5. 제공된 실행 명령으로 서버를 시작합니다.

  6. AI 도구를 로컬 서버에 연결합니다.

Python을 자주 사용하지 않는다면 Windows 다운로드가 더 쉬운 방법입니다.

🧭 문제 해결

파일이 열리지 않음

  • 다운로드가 완료되었는지 확인하세요

  • 마우스 오른쪽 버튼을 클릭하고 '관리자 권한으로 실행'을 선택해 보세요

  • Windows가 파일을 차단하지 않았는지 확인하세요

어시스턴트가 서버를 볼 수 없음

  • 에디터의 MCP 설정을 확인하세요

  • 앱이 실행 중인지 확인하세요

  • 파일 경로가 올바른지 확인하세요

  • 변경 사항을 저장한 후 에디터를 다시 시작하세요

나중에 메모가 나타나지 않음

  • SQLite 데이터베이스 파일이 같은 폴더에 있는지 확인하세요

  • 앱이 정상적으로 종료되었는지 확인하세요

  • 도구에서 저장 또는 동기화 작업을 확인하세요

잘못된 버전이 열림

  • 다른 폴더의 이전 복사본을 삭제하세요

  • 최신 다운로드 파일만 사용하세요

  • 저장한 최신 경로에서 시작하세요

📦 백업

mcp-memento는 데이터를 로컬 SQLite 파일에 저장하므로 백업이 간단합니다.

데이터를 백업하려면:

  1. 앱을 닫습니다.

  2. 데이터베이스 파일을 다른 폴더로 복사합니다.

  3. 드라이브나 클라우드 폴더에 복사본을 저장합니다.

  4. 나중에 앱 폴더에 다시 배치하여 복원합니다.

🔄 업데이트

새 버전이 나오면 동일한 프로젝트 페이지에서 다운로드하고 필요한 경우 이전 앱을 교체하세요. 저장된 메모리가 유지되도록 데이터베이스 파일은 그대로 두세요.

🧷 가장 좋은 사용 방법

항목을 짧고 명확하게 유지하세요. 가능하면 메모 하나당 하나의 아이디어를 저장하세요. 본인과 어시스턴트가 이해하기 쉬운 이름을 사용하세요.

좋은 예시:

  • 앱은 로컬 SQLite 저장소를 사용함

  • 메인 UI 폴더는 공유 구성 요소를 포함함

  • 결제 흐름은 인증 상태에 따라 다름

  • 모바일에서 헤더 간격 수정

📌 이 프로젝트가 도움이 되는 이유

AI 도구는 중요한 내용을 기억할 때 더 잘 작동합니다. mcp-memento는 해당 컨텍스트를 저장할 로컬 공간을 제공하므로 반복 작업을 줄이고 프로젝트 메모를 가까이 유지할 수 있습니다.

📎 다시 다운로드

mcp-memento 다운로드 페이지 방문

Available Tools

17 tools
adjust_memento_confidenceA

Manually adjust confidence of a relationship.

Use for:

  • Correcting confidence scores when you know a memory is valid/invalid

  • Setting custom confidence based on verification

  • Overriding automatic decay for specific cases

Examples:

  • adjust_memento_confidence(relationship_id="rel-123", new_confidence=0.9, reason="Verified in production")

  • adjust_memento_confidence(relationship_id="rel-456", new_confidence=0.1, reason="Obsolete after library update")

Confidence ranges:

  • 0.9-1.0: High confidence (recently validated)

  • 0.7-0.89: Good confidence (regularly used)

  • 0.5-0.69: Moderate confidence (somewhat outdated)

  • 0.3-0.49: Low confidence (likely outdated)

  • 0.0-0.29: Very low confidence (probably obsolete)

ParametersJSON Schema
NameRequiredDescriptionDefault
relationship_idYesID of the relationship to adjust
new_confidenceYesNew confidence value (0.0-1.0)
reasonNoReason for the adjustment

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it's a manual adjustment tool (not automatic), allows overriding decay, and includes confidence ranges with semantic meaning. However, it doesn't mention potential side effects (e.g., if this affects other systems) or error conditions.

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 efficiently structured with clear sections (purpose, use cases, examples, confidence ranges), each sentence adds value, and it's front-loaded with the core purpose. No redundant or verbose language.

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?

For a mutation tool with no annotations and no output schema, the description provides good context: clear purpose, usage guidelines, parameter semantics, and behavioral context. It could be more complete by mentioning what happens after adjustment (e.g., if it triggers notifications) or error cases, but it covers most essential aspects well.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds significant value beyond the schema by providing concrete examples with realistic parameter values and explaining the semantic meaning of confidence ranges (0.9-1.0 = 'High confidence', etc.), which helps the agent understand appropriate values.

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 with specific verbs ('manually adjust confidence of a relationship') and distinguishes it from siblings like 'apply_memento_confidence_decay' (automatic) and 'boost_memento_confidence' (likely one-directional). It explicitly defines the action on a specific resource type (relationship confidence).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use for' scenarios with three specific cases (correcting scores, setting custom confidence, overriding decay), giving clear guidance on when to invoke this tool. It implicitly distinguishes from alternatives like automatic decay tools by mentioning 'overriding automatic decay.'

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

apply_memento_confidence_decayA

Apply automatic confidence decay based on last access time.

Use for:

  • System maintenance to keep knowledge base fresh

  • Applying intelligent decay rules

  • Monthly confidence adjustment routine

Intelligent decay rules:

  • Critical memories (security, auth, api_key, password, critical, no_decay tags): NO DECAY

  • High importance memories: Reduced decay based on importance score

  • General knowledge: Standard 5% monthly decay (decay_factor=0.95)

  • Temporary context: Higher decay rate

Decay formula: monthly_decay = confidence × decay_factor^(months_since_last_access)

Minimum confidence: 0.1 (won't decay below this)

Returns:

  • Number of relationships updated

  • Summary of decay applied

  • Breakdown by memory type

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idNoOptional memory ID. When provided, applies decay only to relationships of that specific memory (and updates their decay_factor based on the memory's importance and tags). When omitted, applies decay to all relationships system-wide.

TDQS

A4.1/5.0
Behavior4/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 effectively describes key behavioral traits: the decay rules (e.g., no decay for critical memories, reduced decay for high importance), the decay formula, minimum confidence threshold, and return values. It does not mention side effects like performance impact or permissions required, but covers core behavior well for a maintenance tool.

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 well-structured with clear sections (purpose, usage, rules, formula, returns) and avoids redundancy. However, some details like the decay formula and breakdown by memory type could be slightly verbose for a tool description, though they are informative. It's front-loaded with the core purpose, earning its place efficiently.

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 complexity (applies decay rules system-wide or to specific memories) and lack of annotations or output schema, the description does a good job of covering behavior, rules, and returns. It explains the decay logic, formula, and output summary, which compensates for missing structured fields. A minor gap is no explicit error handling or performance considerations.

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?

The input schema has 100% description coverage, clearly explaining the optional memory_id parameter. The description does not add any parameter-specific semantics beyond what the schema provides (e.g., it doesn't clarify format or examples for memory_id). According to the rules, with high schema coverage, the baseline is 3, which is appropriate here.

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: 'Apply automatic confidence decay based on last access time.' It specifies the verb ('apply'), resource ('confidence'), and mechanism ('based on last access time'), distinguishing it from siblings like adjust_memento_confidence (manual adjustment) or boost_memento_confidence (increasing confidence).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage contexts ('System maintenance to keep knowledge base fresh', 'Applying intelligent decay rules', 'Monthly confidence adjustment routine'), which clearly indicate when to use this tool. However, it does not explicitly state when not to use it or name alternatives (e.g., adjust_memento_confidence for manual adjustments), which prevents a score of 5.

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

boost_memento_confidenceA

Boost confidence when a memory is successfully used.

Use for:

  • Reinforcing valid knowledge

  • Manual confidence increase for verified information

  • After successfully applying a solution

  • When verifying old information is still valid

Usage patterns:

  • After successfully applying a solution → boost its confidence

  • When verifying old information is still valid → boost confidence

  • When multiple team members confirm a pattern → boost confidence

Boost mechanics:

  • Base boost: +0.10 per access (capped at 1.0)

  • Additional boost for validation: +0.10 to +0.20

  • Maximum confidence: 1.0 (cannot exceed)

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYesID of the memory to boost confidence for. When provided, boosts confidence on all relationships of that memory. Either memory_id or relationship_id must be specified.
relationship_idNoID of a specific relationship to boost confidence for. Use this to target a single relationship instead of all relationships of a memory. Either memory_id or relationship_id must be specified.
boost_amountNoAmount to boost confidence (default: 0.10)
reasonNoReason for the boost

TDQS

A4.3/5.0
Behavior4/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 effectively describes key behavioral traits: the tool is for increasing confidence (implying mutation), specifies boost mechanics (e.g., base boost amounts, caps, maximum confidence), and outlines usage contexts. However, it lacks details on permissions, error conditions, or response format, which are minor gaps for a mutation tool.

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

Conciseness4/5

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

The description is well-structured with clear sections ('Use for:', 'Usage patterns:', 'Boost mechanics:'), making it easy to scan. It is appropriately sized for the tool's complexity, with each sentence adding value (e.g., explaining boost amounts and usage scenarios). However, some redundancy exists (e.g., similar points in 'Use for' and 'Usage patterns'), slightly reducing efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (mutation with 4 parameters), no annotations, and no output schema, the description provides good contextual completeness. It covers purpose, usage guidelines, and behavioral mechanics, but lacks details on output (e.g., what is returned after boosting) and error handling, which are minor omissions for an agent's understanding.

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?

The input schema has 100% description coverage, so the schema already documents all parameters thoroughly (e.g., memory_id, relationship_id, boost_amount, reason). The description adds minimal value beyond this, as it does not explain parameter interactions or provide additional context not in the schema. The baseline score of 3 is appropriate since the schema handles most of the parameter documentation.

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 tool's purpose as 'Boost confidence when a memory is successfully used,' which is a specific verb ('boost') applied to a resource ('confidence' of a memory). It clearly distinguishes this from sibling tools like 'adjust_memento_confidence' (which implies broader adjustments) and 'apply_memento_confidence_decay' (which implies reduction), by focusing on reinforcement after successful use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool through sections like 'Use for:' and 'Usage patterns:', listing specific scenarios such as 'After successfully applying a solution' and 'When verifying old information is still valid.' It also implies when not to use it (e.g., for general confidence adjustments or decay) by contrasting with sibling tool names, though it does not name alternatives directly.

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

create_memento_relationshipA

Link two mementos with a typed relationship.

Common types: SOLVES (solution→problem), CAUSES (cause→effect), ADDRESSES (fix→error), REQUIRES (dependent→dependency), RELATED_TO (general)

EXAMPLES:

  • create_memento_relationship(from_memory_id="sol-1", to_memory_id="prob-1", relationship_type="SOLVES")

  • create_memento_relationship(from_memory_id="err-1", to_memory_id="fix-1", relationship_type="CAUSES", context="Config error caused timeout")

Optional: strength (0-1), confidence (0-1), context (description)

ParametersJSON Schema
NameRequiredDescriptionDefault
from_memory_idYesID of the source memory
to_memory_idYesID of the target memory
relationship_typeYesType of relationship to create
strengthNoStrength of the relationship (0.0-1.0)
confidenceNoConfidence in the relationship (0.0-1.0)
contextNoContext or description of the relationship

TDQS

A4.1/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 adequately describes the core action (creating typed relationships between mementos) and mentions optional parameters like strength and confidence, but doesn't cover important behavioral aspects such as whether this operation is idempotent, what permissions are required, error conditions, or how conflicts with existing relationships are handled.

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 perfectly structured and concise: it starts with the core purpose, provides common relationship types for context, gives clear examples, and lists optional parameters - all in minimal space with zero wasted sentences. Every sentence earns its place by adding practical guidance.

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 creation tool with 6 parameters, no annotations, and no output schema, the description is adequate but incomplete. While it covers the core functionality and parameter usage well, it lacks information about what happens after creation (return values, success indicators), error handling, and system constraints. The absence of output schema means the description should ideally mention what to expect upon success.

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?

With 100% schema description coverage, the baseline is 3. The description adds significant value by explaining the semantics of relationship_type through examples of common types (SOLVES, CAUSES, etc.) and providing concrete usage examples that clarify parameter ordering and optional parameter usage. This goes well beyond what the schema provides about parameter types and constraints.

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 with a specific verb ('Link') and resource ('two mementos with a typed relationship'), distinguishing it from siblings like 'search_memento_relationships_by_context' or 'get_related_mementos' which query rather than create relationships. The description explicitly focuses on creation rather than retrieval or modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use this tool by listing common relationship types (e.g., SOLVES, CAUSES) and giving concrete examples, which helps the agent understand appropriate scenarios. However, it doesn't explicitly state when NOT to use it or mention alternatives like 'update_memento' for modifying existing relationships.

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

delete_mementoC

Delete a memento and all its relationships

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYesID of the memory to delete

TDQS

C2.9/5.0
Behavior2/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 states the tool deletes a memento and its relationships, implying a destructive operation, but lacks details on permissions needed, irreversibility, error handling, or rate limits. This is a significant gap for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly.

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's destructive nature, no annotations, and no output schema, the description is incomplete. It should cover more behavioral aspects like side effects, confirmation needs, or response format to adequately guide the agent, but it only provides a basic action statement.

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?

The input schema has 100% description coverage, with the 'memory_id' parameter clearly documented. The description doesn't add any extra meaning or context beyond what the schema provides, such as format examples or sourcing tips, so it meets the baseline for high schema coverage.

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 action ('Delete') and resource ('a memento and all its relationships'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'update_memento' or 'adjust_memento_confidence', which could also involve memento modifications, so it doesn't reach the highest score.

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. It doesn't mention prerequisites (e.g., needing the memory_id), exclusions, or compare it to siblings like 'update_memento' for partial changes, leaving the agent to infer usage context.

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

get_low_confidence_mementosA

Find memories with low confidence scores.

Use for:

  • Identifying potentially obsolete knowledge

  • Periodic cleanup and verification

  • Quality assurance of the knowledge base

  • Finding memories that need review

Features:

  • Filter by confidence threshold (default: < 0.3)

  • Shows relationships causing low confidence

  • Includes memory details and last access time

  • Sorted by confidence (lowest first)

Returns:

  • List of low confidence relationships with associated memories

  • Memory details for both ends of each relationship

  • Confidence scores and last access times

ParametersJSON Schema
NameRequiredDescriptionDefault
thresholdNoConfidence threshold (default: 0.3)
limitNoMaximum number of results (default: 20)

TDQS

A4.3/5.0
Behavior4/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 effectively describes key behavioral traits: it's a read-only operation (implied by 'Find' and 'Returns'), includes filtering capabilities, shows relationships, provides sorting (lowest confidence first), and returns specific data structures. However, it doesn't mention potential limitations like pagination or performance characteristics.

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 well-structured with clear sections (purpose, use cases, features, returns) and each sentence adds value. It could be slightly more concise by combining some bullet points, but overall it's efficiently organized with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description provides comprehensive context about what the tool does, when to use it, what features it offers, and what it returns. The only minor gap is the lack of explicit output schema documentation, but the 'Returns' section adequately describes the response structure.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (threshold and limit). The description adds minimal value beyond the schema by mentioning the default threshold (< 0.3) and that results are sorted by confidence, but doesn't provide additional semantic context about parameter interactions or edge cases.

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 with specific verbs ('Find memories with low confidence scores') and distinguishes it from siblings by focusing on low-confidence filtering rather than general search, creation, or adjustment operations. It explicitly identifies the target resource (memories with low confidence scores).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage scenarios in a 'Use for' section with four specific contexts (identifying obsolete knowledge, cleanup, quality assurance, review). It clearly indicates when to use this tool versus alternatives by focusing on low-confidence assessment rather than general retrieval or modification tasks.

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

get_mementoA

Retrieve a specific memento by ID.

Use when you have a memory_id from search results or store_memento. Set include_relationships=true (default) to see connected memories.

EXAMPLE: get_memento(memory_id="abc-123")

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYesID of the memory to retrieve
include_relationshipsNoWhether to include related memories

TDQS

A3.7/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 adds useful context: the default behavior for 'include_relationships' and an example invocation. However, it doesn't cover other behavioral traits like error handling, permissions needed, rate limits, or what the return format looks like (especially since there's no output schema). This leaves gaps for a tool with mutation siblings.

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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by usage guidance and an example. Every sentence earns its place with no wasted words, making it efficient and easy to parse.

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?

Given the tool's moderate complexity (retrieval with an optional parameter), no annotations, and no output schema, the description is somewhat complete but has gaps. It covers purpose, usage, and a parameter default, but lacks details on return values, error cases, or how it fits into the broader memory system with siblings like 'get_related_mementos'. This makes it adequate but not fully comprehensive.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds minimal value: it mentions the default for 'include_relationships' and provides an example with 'memory_id', but doesn't explain parameter semantics beyond what's in the schema (e.g., format of 'memory_id' or implications of relationships). Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Retrieve a specific memento by ID.' It specifies the verb ('Retrieve') and resource ('memento'), distinguishing it from siblings like 'search_mementos' (searching) or 'delete_memento' (deleting). However, it doesn't explicitly differentiate from 'get_related_mementos' or 'recall_mementos', which might also retrieve memories, so it's not fully sibling-distinctive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use it: 'Use when you have a memory_id from search results or store_memento.' This gives practical guidance on prerequisites. It doesn't explicitly state when not to use it or name alternatives (e.g., 'get_related_mementos' for relationships without the main memory), so it's not fully comprehensive.

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

get_memento_statisticsC

Get statistics about the memento database

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves statistics, implying a read-only operation, but doesn't specify if it's safe, requires permissions, has rate limits, or what the output format might be. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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, efficient sentence ('Get statistics about the memento database') with no wasted words. It's appropriately sized for a simple tool, though it could be more informative without sacrificing brevity. It's front-loaded but lacks depth.

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 complexity (a statistics tool likely involving aggregated data), no annotations, and no output schema, the description is incomplete. It doesn't explain what statistics are returned, their format, or any behavioral nuances. For a tool with rich potential output and zero structured coverage, this is inadequate.

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 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description doesn't need to compensate for missing schema information. It appropriately avoids discussing non-existent parameters.

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 the tool's purpose ('Get statistics about the memento database') which is clear but vague. It specifies the verb ('Get') and resource ('memento database') but lacks detail about what kind of statistics or scope. It doesn't differentiate from siblings like 'get_memento' or 'get_recent_memento_activity' beyond the general 'statistics' term.

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. It doesn't mention when to prefer this over other get_* tools (e.g., for aggregated data vs. individual records) or any prerequisites. The description offers only a basic purpose without usage context.

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

get_recent_memento_activityA

Get summary of recent memento activity for session context.

Returns: memory counts by type, recent memories (up to 20), unresolved problems.

EXAMPLES:

  • get_recent_memento_activity(days=7) - last week's activity

  • get_recent_memento_activity(days=30, project="/app") - last month for specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days to look back (default: 7)
projectNoOptional: Filter by project path

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 carries the full burden. It discloses behavioral traits such as the return content ('memory counts by type, recent memories (up to 20), unresolved problems') and default values (implied in examples). However, it lacks details on permissions, rate limits, or error handling, leaving gaps for a tool with no annotation coverage.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose, followed by return details and examples. Every sentence adds value, but the inclusion of 'EXAMPLES:' as a header slightly disrupts flow. Overall, it's efficient with minimal waste.

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?

Given no annotations, no output schema, and 2 parameters with full schema coverage, the description is moderately complete. It covers the purpose, return content, and usage examples, but lacks details on output structure, error cases, or integration with sibling tools, making it adequate but with clear gaps for a tool in this context.

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 100% description coverage, so the baseline is 3. The description adds value by providing examples that clarify usage: 'days=7' for last week and 'days=30, project="/app"' for last month with project filtering. This enhances understanding beyond the schema's technical descriptions, though it doesn't fully explain parameter interactions or constraints.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get summary of recent memento activity for session context.' It specifies the verb ('Get summary') and resource ('recent memento activity'), though it doesn't explicitly differentiate from sibling tools like 'get_memento_statistics' or 'get_low_confidence_mementos' beyond the 'recent' and 'session context' qualifiers.

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 usage through the phrase 'for session context' and examples showing time ranges and project filtering, but it doesn't explicitly state when to use this tool versus alternatives like 'get_memento_statistics' or 'search_mementos'. The examples provide context but no clear guidance on exclusions or comparisons.

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

memento_onboardingA

Get comprehensive onboarding protocol for Memento including tool usage guidance, retrieval flow optimization, and best practices.

MEMENTO ONBOARDING PROTOCOL:

  1. INITIALIZATION: Run memento_onboarding() at session start

  2. RETRIEVAL FLOW:

    • Fact Check: Use search_mementos(tags=[...]) for simple identity/known facts

    • Complex Tasks: Use recall_mementos(query="...") for dev/architecture context

    • Fallback: If search fails, fallback to recall

  3. AUTOMATIC STORAGE: Store via store_memento on git commits, bug fixes, version releases

  4. ON-DEMAND TRIGGERS: Store instantly when user says "memento...", "remember...", etc.

  5. MEMORY SCHEMA: Required tags (project, tech, category). Importance: 0.8+ (critical), 0.5 (standard)

OPTIMIZED RETRIEVAL (Avoid 6+ tool calls):

  • Target: 1-3 tool calls for simple info

  • Maximum: 5 tool calls for complex tasks

  • Follow decision tree: Known tags → search_mementos, Conceptual → recall_mementos

CRITICAL DISTINCTION: Memento vs Session memory

  • Memento: Long-term, cross-session, global scope

  • Session Memory: Temporary, project-specific, session-only

USE memento_onboarding(topic="...") for specific guidance:

  • "protocol": Full onboarding protocol

  • "retrieval_flow": Optimized retrieval guide

  • "distinction": Memento vs Session memory

  • "examples": Practical examples

  • "best_practices": Usage guidelines

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoSpecific topic for onboarding guidanceonboarding

TDQS

A4.5/5.0
Behavior4/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 discloses key behavioral traits: it's a read-only guidance tool (implied by 'Get' and protocol explanation), provides structured onboarding steps, includes optimization targets (avoid 6+ tool calls), and outlines usage contexts. However, it doesn't mention potential limitations like response format or error conditions, which could be useful for an agent.

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

Conciseness3/5

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

The description is front-loaded with a clear purpose statement, but it's lengthy with detailed sections (MEMENTO ONBOARDING PROTOCOL, OPTIMIZED RETRIEVAL, etc.). While informative, some content (like the retrieval flow details) might be more appropriate for a separate guide rather than the tool description itself, reducing conciseness. However, it's well-structured with bullet points and headings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (onboarding for a memory system) and lack of annotations or output schema, the description is highly complete. It covers purpose, usage guidelines, behavioral context (retrieval flows, optimization targets), parameter semantics, and distinctions from other tools. This provides the agent with all necessary context to use the tool effectively without needing additional structured data.

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 100% description coverage with a clear enum for the 'topic' parameter. The description adds value by explaining the semantics of each enum value (e.g., 'protocol': Full onboarding protocol, 'retrieval_flow': Optimized retrieval guide), which goes beyond the schema's basic enum list. This helps the agent understand what each topic option returns.

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 tool's purpose: 'Get comprehensive onboarding protocol for Memento including tool usage guidance, retrieval flow optimization, and best practices.' This is a specific verb ('Get') + resource ('onboarding protocol') that clearly distinguishes it from sibling tools like search_mementos or recall_mementos, which are for actual retrieval operations rather than guidance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'Run memento_onboarding() at session start' and 'USE memento_onboarding(topic="...") for specific guidance' with enumerated topics. It also distinguishes it from alternatives by explaining the retrieval flow for other tools (search_mementos, recall_mementos) and the critical distinction between Memento and Session memory, clarifying this tool's role as onboarding rather than operational.

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

recall_mementosA

Primary tool for finding mementos using natural language queries.

Optimized for fuzzy matching - handles plurals, tenses, and case variations automatically.

BEST FOR:

  • Conceptual queries ("how does X work")

  • General exploration ("what do we know about authentication")

  • Fuzzy/approximate matching

USE FOR: Long-term knowledge that survives across sessions. DO NOT USE FOR: Temporary session context or project-specific state.

LESS EFFECTIVE FOR:

  • Acronyms (DCAD, JWT, API) - use search_mementos with tags instead

  • Proper nouns (company names, services)

  • Exact technical terms

EXAMPLES:

  • recall_mementos(query="timeout fix") - find timeout-related solutions

  • recall_mementos(query="how does auth work") - conceptual query

  • recall_mementos(project_path="/app") - memories from specific project

FALLBACK: If recall returns no relevant results, try search_mementos with tags filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query for what you're looking for
memory_typesNoOptional: Filter by memory types for more precision
project_pathNoOptional: Filter by project path to scope results
limitNoMaximum number of results per page (default: 20)
offsetNoNumber of results to skip for pagination (default: 0)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by explaining key behavioral traits: it's 'optimized for fuzzy matching' with automatic handling of 'plurals, tenses, and case variations', specifies what types of knowledge it works with ('long-term knowledge that survives across sessions'), and mentions performance characteristics ('less effective for acronyms, proper nouns, exact technical terms'). It doesn't cover rate limits or authentication needs, but provides substantial behavioral context.

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 well-structured with clear sections (BEST FOR, USE FOR, etc.) and uses bullet points effectively. While comprehensive, some redundancy exists (e.g., 'Fuzzy/approximate matching' appears in multiple places). Most sentences earn their place by providing distinct guidance, though it could be slightly more concise.

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?

For a 5-parameter tool with no annotations and no output schema, the description provides substantial context about when and how to use the tool, behavioral characteristics, and alternatives. It covers the tool's strengths and limitations well. The main gap is lack of information about return format or pagination behavior, but given the comprehensive usage guidance, it's mostly complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds minimal parameter-specific information beyond the schema - it mentions the 'query' parameter in examples and implies 'project_path' filtering, but doesn't provide additional semantic context about how parameters affect results. This meets the baseline for high schema coverage.

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 as 'finding mementos using natural language queries' with 'fuzzy matching' capabilities. It distinguishes from sibling tools by specifying this is the 'primary tool' for this function and explicitly mentions 'search_mementos' as an alternative for different use cases, providing clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides extensive usage guidance with explicit 'BEST FOR', 'USE FOR', 'DO NOT USE FOR', and 'LESS EFFECTIVE FOR' sections. It names specific alternatives ('search_mementos with tags') for cases where this tool is less effective, and includes a 'FALLBACK' recommendation, offering comprehensive when-to-use and when-not-to-use guidance.

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

search_memento_relationships_by_contextC

Search memento relationships by their structured context fields (scope, conditions, evidence, components)

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoFilter by scope (partial, full, or conditional implementation)
conditionsNoFilter by conditions (e.g., ['production', 'Redis enabled']). Matches any.
evidenceNoFilter by specific evidence types (e.g., ['integration tests', 'unit tests']). Matches any.
componentsNoFilter by components mentioned (e.g., ['auth', 'Redis']). Matches any.
has_evidenceNoFilter by presence/absence of evidence (verified by tests, etc.)
temporalNoFilter by temporal information (e.g., 'v2.1.0', 'since 2024')
limitNoMaximum number of results (default: 20)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states what the tool does without behavioral details. It doesn't disclose whether this is a read-only operation, potential side effects, rate limits, authentication needs, or what the output looks like (especially critical since there's no output schema). The description is purely functional without behavioral context.

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, efficient sentence that front-loads the core functionality. Every word earns its place by specifying the action, resource, and filtering mechanism without unnecessary elaboration or redundancy.

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?

For a 7-parameter search tool with no annotations and no output schema, the description is inadequate. It doesn't explain what constitutes a 'memento relationship', how results are returned, pagination behavior, or error conditions. The agent must rely entirely on the input schema for parameter understanding and has no guidance on output format or behavioral characteristics.

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?

The description lists the four primary context fields (scope, conditions, evidence, components) but doesn't add meaningful semantics beyond what the 100% schema coverage already provides. The schema descriptions comprehensively explain each parameter's purpose, constraints, and examples. The description merely restates parameter names without additional value.

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 searches memento relationships using structured context fields (scope, conditions, evidence, components). It specifies the verb 'search' and resource 'memento relationships' with the filtering mechanism. However, it doesn't explicitly differentiate from sibling tools like 'search_mementos' or 'contextual_memento_search', which appear similar.

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 like 'search_mementos' or 'contextual_memento_search'. It lacks context about prerequisites, exclusions, or typical use cases, leaving the agent to infer usage from the tool name and parameters alone.

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

search_mementosA

Advanced search with fine-grained filters for precise retrieval of mementos.

USE THIS TOOL FIRST (not recall) when searching for:

  • Acronyms: DCAD, JWT, MCR2, API, etc.

  • Proper nouns: Company names, service names, project names

  • Known tags: When you know the tag from previous memories

  • Technical terms: Exact matches needed

PARAMETERS:

  • tags: Filter by exact tag match (most reliable for acronyms)

  • memory_types: Filter by type (solution, problem, etc.)

  • min_importance: Filter by importance threshold

  • search_tolerance: strict/normal/fuzzy

  • match_mode: any/all for multiple terms

NOTE: Tags are automatically normalized to lowercase for case-insensitive matching.

EXAMPLES:

  • search_mementos(tags=["jwt", "auth"]) - find JWT-related memories

  • search_mementos(tags=["dcad"]) - find DCAD memories by tag

  • search_mementos(query="timeout", memory_types=["solution"]) - timeout solutions

  • search_mementos(tags=["redis"], min_importance=0.7) - important Redis memories

For conceptual/natural language queries, use recall_mementos instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoText to search for in memory content
termsNoMultiple search terms for complex queries (alternative to query)
match_modeNoMatch mode for terms: 'any' returns results matching ANY term (OR), 'all' requires ALL terms (AND)
tagsNoFilter by tags
memory_typesNoFilter by memory types
relationship_filterNoFilter results to only include memories with these relationship types
project_pathNoFilter by project path
min_importanceNoMinimum importance score
limitNoMaximum number of results per page (default: 50)
offsetNoNumber of results to skip for pagination (default: 0)
search_toleranceNoSearch tolerance mode: 'strict' for exact matches, 'normal' for stemming (default), 'fuzzy' for typo tolerance

TDQS

A4.6/5.0
Behavior4/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 effectively describes key behavioral traits: it's a search/retrieval operation (implied non-destructive), mentions case-insensitive tag normalization, provides search tolerance modes (strict/normal/fuzzy), and includes practical examples. However, it doesn't cover aspects like rate limits, authentication needs, or pagination behavior, leaving some gaps.

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

Conciseness5/5

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

The description is well-structured and efficiently uses every sentence. It starts with a clear purpose statement, follows with usage guidelines, details parameters with practical notes, provides concrete examples, and ends with an alternative tool recommendation. No wasted text; each section adds distinct value in a logical flow.

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 complexity (11 parameters, no output schema, no annotations), the description does a strong job. It covers purpose, usage guidelines, key parameters with semantics, and behavioral notes like case-insensitive matching. However, it lacks details on output format, error handling, or pagination limits, which would be helpful for a search tool with many parameters.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining parameter usage in context: it lists key parameters (tags, memory_types, min_importance, search_tolerance, match_mode) with practical guidance (e.g., 'tags: Filter by exact tag match (most reliable for acronyms)') and provides examples showing how parameters combine. This enhances understanding beyond the schema's technical definitions.

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 performs 'Advanced search with fine-grained filters for precise retrieval of mementos,' specifying both the action (search/retrieval) and resource (mementos). It explicitly distinguishes from its sibling 'recall_mementos' by stating 'USE THIS TOOL FIRST (not recall) when searching for:' specific categories like acronyms and proper nouns, making the differentiation unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool versus alternatives. It states 'USE THIS TOOL FIRST (not recall) when searching for:' and lists specific use cases (acronyms, proper nouns, known tags, technical terms), and concludes with 'For conceptual/natural language queries, use recall_mementos instead,' clearly defining the boundary with the sibling tool.

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

store_mementoA

Store a new memento with context and metadata.

Required: type, title, content. Optional: id, tags, importance (0-1), context.

USE FOR: Long-term knowledge that should survive across ALL sessions. DO NOT USE FOR: Temporary session state or project-specific context.

LIMITS:

  • title: max 500 characters

  • content: max 50KB (50,000 characters)

  • tags: max 50 tags, 100 chars each

  • id: if provided, must be unique string identifier

TAGGING BEST PRACTICE:

  • Always include acronyms AS TAGS (e.g., tags=["jwt", "auth"])

  • Fuzzy search struggles with acronyms in content

  • Tags provide exact match fallback for reliable retrieval

Types: solution, problem, error, fix, task, code_pattern, technology, command, file_context, workflow, project, general, conversation

Note: decision is not a standalone type — use type="general" with tags=["decision", "architecture"]. Note: pattern is not a standalone type — use type="code_pattern".

EXAMPLES:

  • store_memento(type="solution", title="Fixed Redis timeout", content="Increased timeout to 30s...", tags=["redis"], importance=0.8)

  • store_memento(type="error", title="OAuth2 auth failure", content="Error details...", tags=["auth", "oauth2"], id="custom-error-123")

Returns memory_id. Use create_memento_relationship to link related memories.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesType of memory to store
idNoOptional memory ID (if not provided, a UUID will be generated automatically)
titleYesShort descriptive title for the memory
contentYesDetailed content of the memory
summaryNoOptional brief summary of the memory
tagsNoTags to categorize the memory
importanceNoImportance score (0.0-1.0)
contextNoContext information for the memory

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does an excellent job disclosing behavioral traits. It explains limits (character counts, tag limits), best practices (tagging acronyms), type constraints (what types to avoid), and return behavior ('Returns memory_id'). It doesn't mention authentication, rate limits, or error handling, but covers most operational aspects well for a creation tool.

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 well-structured with clear sections (Required/Optional, USE FOR/DO NOT USE, LIMITS, TAGGING BEST PRACTICE, Types, Notes, EXAMPLES) and every sentence earns its place. It's appropriately sized for an 8-parameter tool with complex usage considerations. It could be slightly more concise in the type explanations, but overall very efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, no output schema), the description provides excellent contextual completeness. It covers purpose, usage guidelines, behavioral constraints, parameter semantics with examples, and references to related tools. The only minor gap is lack of output schema explanation, but 'Returns memory_id' provides the essential information needed for an agent to use the tool effectively.

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?

Schema description coverage is 100%, so the baseline is 3. The description adds significant value beyond the schema by: explaining parameter constraints (max lengths, uniqueness requirements), providing tagging best practices with rationale, clarifying type usage with specific examples and restrictions, and giving concrete usage examples. However, it doesn't fully explain the 'context' parameter's structure or purpose.

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 with specific verb+resource ('Store a new memento with context and metadata'), distinguishes it from siblings by specifying it's for creating new mementos (vs. update_memento, delete_memento, etc.), and explicitly lists required parameters. It goes beyond a tautology by explaining what a 'memento' represents in this context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance with 'USE FOR: Long-term knowledge that should survive across ALL sessions' and 'DO NOT USE FOR: Temporary session state or project-specific context.' It also references sibling tools ('Use create_memento_relationship to link related memories') and distinguishes when to use specific types vs. alternatives (e.g., 'decision' is not a standalone type).

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

update_mementoC

Update an existing memento

ParametersJSON Schema
NameRequiredDescriptionDefault
memory_idYesID of the memory to update
titleNo
contentNo
summaryNo
tagsNo
importanceNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation, implying mutation, but doesn't describe what happens during updates (e.g., whether fields are replaced or merged, if changes are reversible, permission requirements, or error conditions). This leaves significant gaps for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a basic tool description and front-loads the essential information ('Update an existing memento').

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?

For a mutation tool with 6 parameters, 17% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain the update behavior, parameter meanings, return values, or error handling. Given the complexity and lack of structured documentation, the description should provide more context to be complete.

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 only 17% (only 'memory_id' has a description), leaving 5 parameters undocumented in the schema. The description adds no information about parameters beyond what's implied by the tool name, failing to compensate for the low coverage. It doesn't explain what 'title', 'content', 'summary', 'tags', or 'importance' represent or how they affect the update.

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 action ('Update') and target resource ('an existing memento'), making the purpose immediately understandable. It distinguishes from siblings like 'create_memento' and 'delete_memento' by specifying it's for existing items, though it doesn't explicitly differentiate from similar update operations like 'adjust_memento_confidence'.

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. It doesn't mention prerequisites (e.g., needing an existing memento ID), exclusions, or comparisons to sibling tools like 'adjust_memento_confidence' or 'boost_memento_confidence' that might also modify mementos. Usage is implied but not explicitly defined.

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. 17 tool updatesv0.2.37
    • First observedadjust_memento_confidence
    • First observedapply_memento_confidence_decay
    • First observedboost_memento_confidence
    • First observedcontextual_memento_search
    • First observedcreate_memento_relationship
    • First observeddelete_memento
    • First observedget_low_confidence_mementos
    • First observedget_memento
    • First observedget_memento_statistics
    • First observedget_recent_memento_activity
    • First observedget_related_mementos
    • First observedmemento_onboarding
    • First observedrecall_mementos
    • First observedsearch_memento_relationships_by_context
    • First observedsearch_mementos
    • First observedstore_memento
    • First observedupdate_memento

TDQS

A3.8/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have distinct purposes, such as search_mementos for precise tag-based retrieval and recall_mementos for fuzzy conceptual queries. However, some overlap exists, like adjust_memento_confidence and boost_memento_confidence both modifying confidence, which could cause confusion without careful reading of their descriptions.

Naming Consistency5/5

Tool names follow a consistent snake_case pattern with clear verb_noun structures, such as get_memento, create_memento_relationship, and search_mementos. There are no deviations in naming conventions, making the set predictable and readable.

Tool Count4/5

With 17 tools, the count is slightly high but reasonable for a memory management system covering storage, retrieval, relationships, and confidence adjustments. It feels comprehensive rather than bloated, though some tools like get_memento_statistics and get_recent_memento_activity might be borderline in necessity.

Completeness5/5

The tool set provides complete coverage for a memory system, including CRUD operations (store, get, update, delete), search (search_mementos, recall_mementos), relationship management (create, get, search), confidence handling (adjust, boost, decay), and utilities (statistics, onboarding). No obvious gaps exist for the domain.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides persistent local memory functionality for AI assistants, enabling them to store, retrieve, and search contextual information across conversations with SQLite-based full-text search. All data stays private on your machine while dramatically improving context retention and personalized assistance.
    3
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI coding assistants with persistent project memory to retain architectural decisions, code patterns, and domain knowledge across sessions. It stores data locally in a SQLite database, allowing agents to remember, recall, and manage project-specific context using full-text search.
    5 npm
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Provides persistent cross-session memory and full-text search for AI coding assistants, storing project context, decisions, and preferences while enabling searchable access to conversation history via local SQLite.
    8
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Ultra-lean memory system for AI coding tools that stores project knowledge locally with SQLite and enables AI to remember your project across sessions.
    12
    20 npm
    37
    MIT