Skip to main content
Glama
apajon
by apajon

MemPalace MCP Bridge for VS Code Copilot

Give MemPalace a persistent local memory inside VS Code Copilot Chat.

This repo provides a plug-and-play bridge:

  • one-command setup

  • generated workspace MCP config

  • automatic MCP server startup through VS Code

  • full-stack verification with verify.sh

  • a stable ChromaDB 0.6.x line for existing palaces


What you get

  • Persistent memory inside Copilot Chat

  • Fully local — no cloud, no API key, no Docker

  • Auto-start — no terminal, VS Code handles everything

  • Mine your own files — query your notes, docs, and decisions

  • Built-in verification — verify.sh classifies the bridge as healthy, suspicious, or unsafe by checking the environment, the generated MCP config, real MCP startup, and palace manifest drift

  • Palace safety checks — setup, update, verify, and runtime startup reject unsupported chromadb versions and keep the bridge on the supported 0.6.x line

  • Palace format safety gate — risky stable-path operations refuse palaces detected as chroma_1_x or unknown

  • Palace manifest — setup writes mempalace-bridge-manifest.json into the palace root for version traceability

  • Devcontainer integration — host palace mount shared across environments

  • Safe ChromaDB 0.6.x1.x reconstruction tooling — non-destructive and runtime-validated

  • Reusable across environments with a shared palace

Compatibility status This bridge targets ChromaDB 0.6.x only (chromadb>=0.6,<0.7). ChromaDB 1.x uses an incompatible storage format; non-0.6.x installs are rejected at startup. Palaces detected as chroma_1_x or unknown format are also rejected before any operation. main fails fast when the installed chromadb version is outside the 0.6.x range.

This repository handles the runtime and setup layer for VS Code Copilot Chat MCP integration. For structured memory methodology, see Memory Engineering.


Related MCP server: Memorious MCP

Who this is for

This repo is for you if:

  • you want MemPalace working fast inside VS Code Copilot Chat

  • you want a local setup with no manual MCP wiring

  • you want a stable setup for existing palaces on Chroma 0.6.x

  • you prefer reproducibility over chasing the newest Chroma release


Quickstart

# 1. Clone
git clone https://github.com/apajon/mempalace-mcp-bridge.git
cd mempalace-mcp-bridge

# 2. Setup (installs uv, mempalace, creates .venv, configures .mcp.json)
bash setup.sh

# 3. Open this folder in VS Code

code .

# 4. Verify
bash verify.sh

Important: open the repository root folder in VS Code (code . from inside mempalace-mcp-bridge/). Opening a subfolder will prevent MCP from loading.

Then reload VS Code (Ctrl+Shift+PDeveloper: Reload Window) if needed.


MCP Configuration

The setup script generates .mcp.json automatically. To configure manually, create .mcp.json in your workspace:

{
  "servers": {
    "mempalace": {
      "type": "stdio",
      "command": "/ABSOLUTE/PATH/TO/uv",
      "args": ["run", "--directory", "/ABSOLUTE/PATH/TO/mempalace-mcp-bridge", "python", "scripts/run_mcp_server.py"]
    }
  }
}

Replace paths with the output of which uv and the absolute path to this repo. A ready-to-copy example is at examples/mcp/vscode.mcp.json.

See docs/mcp_vscode.md for full details and troubleshooting.


Update

git pull
bash update.sh

update.sh upgrades MemPalace, enforces the pinned ChromaDB line, checks .mcp.json paths, and runs verify.sh. It never touches ~/.mempalace/palace.

See docs/update_workflow.md for edge cases and what the script does step by step.


Verify

bash verify.sh

Checks that the virtual environment, MemPalace, and MCP server are all healthy. Reports actionable errors if anything is broken.


Test it in Copilot

Open Copilot Chat and try:

"Remember that I like Python."

Restart VS Code, then ask:

"What do you remember about me?"

VS Code auto-starts the MemPalace MCP server when Copilot Chat opens.


Use your own data

To mine your own notes after setup:

uv run --directory . mempalace mine /path/to/your/project

Then ask Copilot about anything in those files.


Known limitations

  • This bridge currently targets ChromaDB 0.6.x, not ChromaDB 1.x

  • main hard-fails outside the supported chromadb>=0.6,<0.7 range

  • No migration to ChromaDB 1.x is provided. Non-0.6.x palaces are blocked at startup.

  • Experimental ChromaDB 1.x investigation work exists outside this project's stable contract and is not part of the supported bridge workflow.

  • Linux / WSL2 is the tested path today

  • Copilot behavior remains probabilistic even with MemPalace as the preferred context source


Devcontainer integration

For teams using VS Code devcontainers, the palace is mounted from the host so it persists across container rebuilds.

See docs/devcontainer_integration.md for the mount design and .devcontainer config.


Troubleshooting

See docs/troubleshooting.md.


Why this exists

MemPalace is powerful, but not plug-and-play in real workflows.

Setting it up requires multiple manual steps and breaks the flow of using Copilot Chat.

That friction stops most users before they get any value.

This repo removes that friction.


How it fits together

VsCode Copilot Chat
  |
  v
MCP Server  <- launched automatically by Copilot via .mcp.json
  |
  v
MemPalace
  |
  v
Local Memory (palace)  <- ~/.mempalace/palace

setup.sh generates .mcp.json with the absolute path to your uv binary, so Copilot can start the server without any manual configuration.

If you already have a legacy .vscode/mcp.json, migrate it with:

jq '{servers: .servers}' .vscode/mcp.json > .mcp.json

The same setup step writes mempalace-bridge-manifest.json into the palace root. The file is intentionally small and easy to inspect manually: it records the bridge version, MemPalace version, ChromaDB version, Python version, storage backend and format, the supported compatibility line, and the creation timestamp. If a valid manifest already exists, setup preserves it. If the file exists but is malformed, setup replaces it with a fresh valid manifest.


Memory Engineering

Advanced structured memory patterns — wings, rooms, retrieval order, persistence rules, deduplication — now live in a dedicated repository:

mempalace-memory-engineering

This includes:

  • structured memory strategy for engineering workflows

  • worked examples (two-wing / three-room setup)

  • semantic deduplication reference

This repository focuses solely on MCP bridge setup and runtime integration. The methodology is not duplicated here.


Documentation

Setup & runtime

Architecture & internals

ChromaDB reconstruction (0.6.x → 1.x)

Compatibility

  • Linux (tested on Ubuntu 24.04 via WSL2)

  • VS Code with GitHub Copilot Chat

  • curl required (setup.sh uses it to install uv)

  • ChromaDB 0.6.x line pinned intentionally via chromadb>=0.6,<0.7

Copilot context guidance

  • Copilot is configured to use MemPalace as its primary context source via .github/copilot-instructions.md

  • Query order: MemPalace project wing -> shared wings -> docs/architecture.md -> README.md -> workspace search

  • This improves first-response relevance. It is not a strict guarantee - Copilot behavior is probabilistic

Memory Engineering (external)



Available Tools

29 tools
mempalace_add_drawerB

File verbatim content into the palace. Checks for duplicates first.

ParametersJSON Schema
NameRequiredDescriptionDefault
wingYesWing (project name)
roomYesRoom (aspect: backend, decisions, meetings...)
contentYesVerbatim content to store — exact words, never summarized
source_fileNoWhere this came from (optional)
added_byNoWho is filing this (default: mcp)

TDQS

B3.2/5.0
Behavior3/5

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

The description reveals one behavioral trait (duplicate checking), but with no annotations, it omits side effects, failure modes, permissions, or what happens on duplicate (fail/skip/overwrite).

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?

Two concise sentences, front-loaded with the core action, followed by a key feature. No wasted words, though a bit more structure could be beneficial.

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 many sibling tools and no output schema, the description provides minimal context (duplicate check) but lacks return information and relationship to other storage tools.

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?

All parameters are documented in the schema (100% coverage), and the description adds no extra meaning beyond what the schema already provides.

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 ('File verbatim content into the palace'), using a specific verb and resource. However, it does not differentiate from siblings like mempalace_diary_write or mempalace_kg_add, which also store content.

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 mentions a duplicate check, implying a built-in safeguard, but provides no explicit guidance on when to use this tool versus alternatives like mempalace_get_drawer or mempalace_update_drawer.

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

mempalace_check_duplicateC

Check if content already exists in the palace before filing

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesContent to check
thresholdNoSimilarity threshold 0-1 (default 0.9)

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description bears full burden for behavioral disclosure. It fails to state whether this is a read-only operation, what it returns (e.g., boolean, list), or any side effects. The threshold parameter's impact is not explained beyond the schema.

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, well-constructed sentence that conveys the core purpose efficiently with no redundant information.

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?

This simple tool lacks output specification, leaving the agent unaware of what the result looks like (e.g., boolean or list of similar content). The domain term 'palace' is not explained, coupling with sibling tools but without context for new users.

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

Parameters3/5

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

Schema coverage is 100%, with clear descriptions for both parameters. The tool description adds no extra semantic value beyond what the schema already provides. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool checks for content existence in the palace before filing, using a specific verb and resource. However, it could be more precise by defining 'exists' (exact or similarity match) and distinguishing it from similar search or find tools more explicitly.

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 use 'before filing' but provides no when-not-to-use hints, alternative tool recommendations, or exclusion criteria. Among siblings like mempalace_search and mempalace_find_tunnels, no guidance is given for choosing this tool.

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

mempalace_create_tunnelA

Create a cross-wing tunnel linking two palace locations. Use when content in one project relates to another — e.g., an API design in project_api connects to a database schema in project_database.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_wingYesWing of the source
source_roomYesRoom in the source wing
target_wingYesWing of the target
target_roomYesRoom in the target wing
labelNoDescription of the connection
source_drawer_idNoOptional specific drawer ID
target_drawer_idNoOptional specific drawer ID

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It only states 'create,' but lacks details on side effects, error handling, or prerequisites (e.g., existence of wings/rooms). Minimal behavioral disclosure.

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

Conciseness5/5

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

Two clear, front-loaded sentences with no filler. Every sentence adds value.

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?

No output schema or annotations. The description explains purpose and usage but omits return type, error conditions, and prerequisites. For a creation tool with 7 parameters, this is incomplete.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema, which already describes each parameter. It reinforces the linking concept but no additional syntax or 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 it creates a cross-wing tunnel linking two palace locations, using a specific verb and resource. It provides an example differentiating from siblings like delete_tunnel or find_tunnels.

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 explicitly says when to use it—when content relates across projects—and gives an example. It does not explicitly state when not to use, but the context is clear.

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

mempalace_delete_drawerA

Delete a drawer by ID. Irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
drawer_idYesID of the drawer to delete

TDQS

A3.7/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 full burden. The term 'Irreversible' discloses a key behavioral trait, but it omits details on cascading effects, permissions, or success/error responses.

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

Conciseness5/5

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

Two short sentences convey the action and a critical behavior. Every word is necessary; there is no fluff.

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 deletion tool, the description covers core purpose and irreversibility but lacks details on return value, failure modes, or preconditions. With no output schema, some behavioral context is missing.

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 baseline is 3. The description adds no additional meaning beyond the schema's parameter description ('ID of the drawer to delete').

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 action ('Delete'), the resource ('a drawer'), and the identifier ('by ID'). It distinguishes this tool from siblings like mempalace_add_drawer or mempalace_get_drawer.

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?

Usage is implied: if you need to delete a drawer, use this tool. However, there is no explicit guidance on when not to use it or comparison with alternatives like mempalace_update_drawer for disabling.

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

mempalace_delete_tunnelB

Delete an explicit tunnel by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnel_idYesTunnel ID to delete

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits beyond 'delete'. It does not mention irreversibility, side effects, auth requirements, or what happens to associated data.

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 very short and to the point, with no wasted words. However, it lacks any structure beyond a single sentence.

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 low complexity (one param, no output schema), the description is minimally adequate for a simple delete operation, but omits contextual details like deletion consequences or prerequisites.

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

Parameters3/5

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

Schema coverage is 100% (parameter described in schema). The description adds no extra meaning beyond the schema's 'Tunnel ID to delete'. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (delete), the resource (an explicit tunnel), and the method (by ID). It distinguishes from sibling tools like create_tunnel, delete_drawer, etc.

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 on when to use this tool vs alternatives (e.g., deleting implicit tunnels, prerequisites like finding the ID first, or consequences of deletion).

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

mempalace_diary_readA

Read your recent diary entries (in AAAK). See what past versions of yourself recorded — your journal across sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameYesYour name — each agent gets their own diary wing
last_nNoNumber of recent entries to read (default: 10)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It does not disclose behavioral traits like read-only nature, potential side effects, return format, or pagination 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?

Two concise sentences front-load the main action and purpose, with no unnecessary words.

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

Completeness3/5

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

The description is sufficient for a simple read operation with documented parameters, but lacks details on output format or any additional behavioral context beyond the schema.

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?

Both parameters are well-described in the schema, and the description adds context like 'each agent gets their own diary wing' for agent_name and 'default: 10' for last_n, going beyond the 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 clearly states the tool reads recent diary entries, using specific verb 'read' and resource 'diary entries'. It distinguishes from sibling tools like mempalace_diary_write by focusing on reading.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., mempalace_search, mempalace_memories_filed_away). The context is implied but not stated.

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

mempalace_diary_writeA

Write to your personal agent diary in AAAK format. Your observations, thoughts, what you worked on, what matters. Each agent has their own diary with full history. Write in AAAK for compression — e.g. 'SESSION:2026-04-04|built.palace.graph+diary.tools|ALC.req:agent.diaries.in.aaak|★★★'. Use entity codes from the AAAK spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameYesYour name — each agent gets their own diary wing
entryYesYour diary entry in AAAK format — compressed, entity-coded, emotion-marked
topicNoTopic tag (optional, default: general)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions each agent has their own diary with full history but does not disclose behavioral traits like idempotency, overwrite behavior, rate limits, or authentication needs.

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 three sentences, front-loaded with purpose, and each sentence adds relevant information. The AAAK example could be slightly shortened, but it is still efficient.

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 write tool with no output schema, the description explains the input format well but omits what the return value or confirmation will be. It is adequate for the task but not fully complete.

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%, with parameter descriptions already provided. The description adds value by detailing the AAAK format and providing a concrete example, which reinforces and expands the schema's semantic meaning.

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 writes to a personal agent diary in AAAK format, specifying the resource and action. It distinguishes itself from siblings like mempalace_diary_read by indicating write vs. read.

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 gives an example format but does not explain when to use this tool over alternatives like mempalace_kg_add. It lacks explicit context for when not to use or how it fits among many sibling tools.

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

mempalace_find_tunnelsC

Find rooms that bridge two wings — the hallways connecting different domains. E.g. what topics connect wing_code to wing_team?

ParametersJSON Schema
NameRequiredDescriptionDefault
wing_aNoFirst wing (optional)
wing_bNoSecond wing (optional)

TDQS

C2.9/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 but only states the core function. It does not disclose if the tool is read-only, what happens with empty parameters, or any 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 a single sentence plus an example, efficiently conveying the core purpose. It is front-loaded but could integrate the example more seamlessly.

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 optional parameters and no output schema, the description lacks details on edge cases (e.g., both empty, one provided) and return format, making it incomplete for an AI agent to reliably use.

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

Parameters3/5

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

Schema coverage is 100% with basic descriptions. The description adds an example using 'wing_code' and 'wing_team' but does not clarify behavior when parameters are omitted or provide additional semantic guidance beyond the schema.

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 finds rooms bridging two wings (hallways connecting domains) with a concrete example. However, the tool name 'find_tunnels' slightly mismatches the description's 'find rooms', and sibling differentiation is not explicit.

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 on when to use this tool vs alternatives like mempalace_list_tunnels or mempalace_follow_tunnels. The description does not mention exclusions or preferred contexts.

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

mempalace_follow_tunnelsA

Follow tunnels from a room to see what it connects to in other wings. Returns connected rooms with drawer previews.

ParametersJSON Schema
NameRequiredDescriptionDefault
wingYesWing to start from
roomYesRoom to follow tunnels from

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It states the tool returns data (connected rooms with drawer previews) and implies a read-only operation, but does not explicitly confirm no side effects, required permissions, or any behavioral constraints beyond the basic outcome.

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 extremely concise with two sentences, no extraneous information. It immediately states the action and the result, using active voice and clear structure.

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 no output schema, the description adequately explains the return value ('connected rooms with drawer previews'). It covers the primary purpose and key parameters. However, it could mention that it is a read-only operation and possibly provide hints on the expected format of drawer previews.

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% with each parameter described ('Wing to start from', 'Room to follow tunnels from'). The description adds context by mentioning 'in other wings' and 'drawer previews', enhancing the understanding of what the parameters achieve beyond the schema 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 uses a specific verb 'follow tunnels' and clearly identifies the resource ('from a room') and outcome ('see what it connects to in other wings'). It distinguishes itself from sibling tools like mempalace_find_tunnels and mempalace_traverse by focusing on following existing connections.

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 when wanting to explore tunnel connections from a specific room, but it does not explicitly state when to use this tool versus alternatives like mempalace_find_tunnels or mempalace_traverse. No contraindications or prerequisites are mentioned.

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

mempalace_get_aaak_specA

Get the AAAK dialect specification — the compressed memory format MemPalace uses. Call this if you need to read or write AAAK-compressed memories.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.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 carry the transparency burden. It states it 'gets' the specification, implying a read-only operation, but does not explicitly confirm lack of side effects, permissions, or output format. Basic transparency is present but not elaborated.

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 consists of two concise sentences with no filler. It front-loads the action and purpose, making it immediately clear. Every word earns its place.

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 has no parameters, no output schema, and no annotations, the description is complete enough. It explains what the tool retrieves and when to use it, covering all necessary context for a simple specification retrieval.

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 100% schema coverage. The description adds meaning by specifying the resource as the AAAK dialect specification and its role in compressed memory, which goes beyond the empty schema. Baseline for no parameters is 4, and the description meets it.

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 retrieves the AAAK dialect specification, a compressed memory format. It uses a specific verb 'Get' and a resource 'spec', and distinguishes from sibling tools focused on drawers, tunnels, and other memory 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 explicitly advises calling this tool when needing to read or write AAAK-compressed memories, providing clear context. It does not mention when not to use it or list alternatives, but the guidance is sufficient for its simple purpose.

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

mempalace_get_drawerA

Fetch a single drawer by ID — returns full content and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
drawer_idYesID of the drawer to fetch

TDQS

A3.8/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 indicates a read operation but does not disclose error handling, idempotency, or authentication requirements. For a simple get, this is adequate but not comprehensive.

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 with no wasted words, achieving high conciseness.

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 (one parameter, no output schema), the description is complete enough for a fetch operation. It specifies the return type, but could hint at the structure of 'full content and metadata'.

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

Parameters3/5

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

Schema coverage is 100% (drawer_id described), and the description adds no additional meaning beyond the schema. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Fetch a single drawer by ID') and the output ('returns full content and metadata'), distinguishing it from sibling tools like mempalace_list_drawers.

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 when a specific drawer ID is known, but does not explicitly state when to use this tool versus alternatives (e.g., listing drawers or updating).

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

mempalace_get_taxonomyC

Full taxonomy: wing → room → drawer count

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states the output structure but omits whether the operation is read-only, destructive, or if it requires authentication. The phrase 'full taxonomy' implies a composite view but lacks details on side effects or error 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 extremely concise (one short phrase). It is front-loaded with the key concept. However, it could be slightly more structured (e.g., listing return format) without adding much length. Still, it is efficient for a zero-parameter tool.

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 parameters and no output schema, the description provides the essential purpose but leaves ambiguity about the exact return format (e.g., whether 'drawer count' is per room or a total). The hierarchical notation is clear but could be more explicit. For a simple retrieval tool, this is adequate but not 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?

The input schema has zero parameters, so schema coverage is 100%. The description adds meaning by explaining the output hierarchy (wing → room → drawer count), which is not apparent from the empty schema. No parameter details are needed, but the description still adds value beyond the schema.

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 indicates the tool retrieves a full taxonomy hierarchy (wing → room → drawer count). The verb 'get' is implicit, and the resource 'taxonomy' is defined. However, it does not explicitly distinguish from sibling tools like mempalace_list_wings or mempalace_list_rooms, which offer more granular views.

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 mempalace_list_wings or mempalace_get_drawer. The description does not mention prerequisites, performance implications, or cases where a more specific list tool would be preferable.

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

mempalace_graph_statsA

Palace graph overview: total rooms, tunnel connections, edges between wings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description adequately discloses the tool's behavior: it is a read-only operation that returns counts of rooms, tunnels, and edges. It does not mention potential side effects or performance characteristics, but the scope is simple and unlikely to be destructive.

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 front-loads the purpose ('Palace graph overview') and efficiently lists the output contents. No extraneous 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 absence of an output schema and parameters, the description provides a reasonable account of what the tool returns. It could be slightly more explicit about the output format or scope, but it is sufficient for understanding the tool's function.

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 schema description coverage is 100%. The description adds no parameter-specific details, but none are needed. The baseline score of 4 is appropriate.

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

Purpose5/5

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

The description specifies a clear verb ('overview') and resource ('palace graph'), and lists the specific metrics (total rooms, tunnel connections, edges between wings). This distinguishes it from sibling tools that focus on individual elements like drawers or tunnels.

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 for obtaining high-level graph statistics, but it does not explicitly state when to use it over alternatives like mempalace_list_* or mempalace_kg_stats. No exclusions or comparisons are provided.

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

mempalace_hook_settingsA

Get or set hook behavior. silent_save: True = save directly (no MCP clutter), False = legacy blocking. desktop_toast: True = show desktop notification. Call with no args to view.

ParametersJSON Schema
NameRequiredDescriptionDefault
silent_saveNoTrue = silent direct save, False = blocking MCP calls
desktop_toastNoTrue = show desktop toast via notify-send

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Explains that silent_save=True saves directly (no MCP clutter) and False is legacy blocking. Desktop_toast shows notification. Lacks details on immediate effect or auth, but adequate for simple booleans.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose. Every sentence is informative and no waste.

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

Completeness5/5

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

For a simple tool with 2 booleans, no output schema, and clear parameter descriptions, the description covers viewing and setting behavior completely.

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 coverage is 100%, baseline 3. Description adds context beyond schema: 'no MCP clutter' and 'legacy blocking' clarify behavior. Adds value.

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

Purpose5/5

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

The description states 'Get or set hook behavior' with a clear verb-resource pairing. It distinguishes from siblings by being specifically about hook settings, not other actions like adding drawers or searching.

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

Usage Guidelines4/5

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

Provides explicit instruction to call with no args to view current settings. Does not explicitly state when not to use or alternatives, but sibling tools are distinct so usage context is clear.

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

mempalace_kg_addA

Add a fact to the knowledge graph. Subject → predicate → object with optional time window. E.g. ('Max', 'started_school', 'Year 7', valid_from='2026-09-01').

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesThe entity doing/being something
predicateYesThe relationship type (e.g. 'loves', 'works_on', 'daughter_of')
objectYesThe entity being connected to
valid_fromNoWhen this became true (YYYY-MM-DD, optional)
source_closetNoCloset ID where this fact appears (optional)

TDQS

A4/5.0
Behavior3/5

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

No annotations exist. The description indicates a mutation operation ('Add a fact') but does not disclose potential side effects (e.g., overwriting existing facts, idempotency, or failure modes). Minimal but not misleading.

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?

Single sentence with a concrete example, no wasted words. Information is front-loaded and 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 simplicity of the operation (add a triple) and complete schema coverage, the description is sufficient. Could be enhanced by noting what happens on duplicate facts or the success response, but not necessary for basic usage.

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 coverage is 100% with descriptions for each parameter. The description adds value by explaining the triple pattern and providing an example, which helps contextualize parameter usage beyond 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?

Clearly states the tool adds a fact to the knowledge graph, specifies the triple structure (subject-predicate-object), and provides an example. This distinguishes it from query or invalidation siblings.

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 for adding facts but does not explicitly state when to use this tool versus alternatives like mempalace_kg_query or mempalace_kg_invalidate. No exclusions or alternative guidance provided.

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

mempalace_kg_invalidateB

Mark a fact as no longer true. E.g. ankle injury resolved, job ended, moved house.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesEntity
predicateYesRelationship
objectYesConnected entity
endedNoWhen it stopped being true (YYYY-MM-DD, default: today)

TDQS

B3.4/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 states 'Mark a fact as no longer true' but does not explain whether the fact is deleted, hidden, or simply tagged with an end date. The effect on future queries or reversibility is not mentioned, which is insufficient 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 extremely concise at two sentences, front-loaded with the action verb. Every word adds value, and the examples are efficient. No unnecessary elaboration.

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 has 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain the return value, side effects, or how the knowledge graph changes. The examples help but leave gaps in understanding the full behavior.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description provides examples of what kinds of facts can be invalidated (injuries, jobs, houses), adding contextual meaning but not deepening parameter semantics beyond the schema. The 'ended' parameter is already well-described in the 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 clearly states 'Mark a fact as no longer true' with specific examples (ankle injury resolved, job ended, moved house). The verb 'invalidate' combined with 'fact' makes the purpose unambiguous, and the examples differentiate it from sibling tools like mempalace_kg_add.

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 when a fact is no longer true, but it lacks explicit guidance on when to use this tool versus alternatives like mempalace_kg_add. There is no mention of when not to use it or prerequisites, leaving the agent to infer the context.

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

mempalace_kg_queryA

Query the knowledge graph for an entity's relationships. Returns typed facts with temporal validity. E.g. 'Max' → child_of Alice, loves chess, does swimming. Filter by date with as_of to see what was true at a point in time.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityYesEntity to query (e.g. 'Max', 'MyProject', 'Alice')
as_ofNoDate filter — only facts valid at this date (YYYY-MM-DD, optional)
directionNooutgoing (entity→?), incoming (?→entity), or both (default: both)

TDQS

A4/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 that the tool returns typed facts with temporal validity, implying a read-only operation. However, it does not disclose potential side effects, permission requirements, or what happens if the entity is not found.

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 long, front-loaded with the tool's purpose, and includes a concrete example. Every sentence adds value, with no wasted words.

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 there is no output schema, the description briefly explains returns ('typed facts with temporal validity') but lacks detail on the structure of the response (e.g., format of types, how facts are grouped). For a query tool with 3 parameters, it covers most essential behavior but could be more complete on output formatting.

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 coverage is 100%, but the description adds meaning: it explains that 'as_of' filters to facts valid at a given date and that 'direction' controls whether relationships are incoming, outgoing, or both. The example also provides concrete parameter values ('Max').

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 action ('Query the knowledge graph'), the resource (knowledge graph for an entity's relationships), and the output ('typed facts with temporal validity'). The example 'Max → child_of Alice, loves chess, does swimming' further clarifies. It distinguishes from siblings like mempalace_kg_add and mempalace_kg_invalidate.

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 provides an example and mentions filtering by date with 'as_of', implying typical usage. However, it does not specify when to use this tool versus alternatives like mempalace_kg_timeline or mempalace_find_tunnels, nor does it state 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.

mempalace_kg_statsA

Knowledge graph overview: entities, triples, current vs expired facts, relationship types.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

The description implies a read-only operation ('overview'), but no explicit behavioral traits are disclosed. With no annotations, the description carries the burden, but it does not mention side effects, data freshness, 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.

Conciseness5/5

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

The description is a single, concise sentence that immediately conveys the tool's purpose without extraneous words. It is front-loaded and 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 no parameters and no output schema, the description sufficiently outlines the tool's output categories. However, it might benefit from specifying the response format (e.g., JSON) or typical use cases, but overall it is adequate for a simple stats 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?

There are no parameters, so the input schema is empty. The description adds value by explaining what the tool outputs (entities, triples, facts, relationship types), which goes beyond the schema. Per guidelines, 0 parameters baseline is 4.

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 'Knowledge graph overview: entities, triples, current vs expired facts, relationship types,' which clearly indicates the tool provides statistics on the knowledge graph. This is a specific verb+resource structure and distinguishes it from sibling tools like mempalace_graph_stats (which may focus on broader graph metrics).

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 (e.g., mempalace_kg_query or mempalace_status). The description merely states what it does without contextual usage advice, leaving the AI to infer appropriateness.

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

mempalace_kg_timelineA

Chronological timeline of facts. Shows the story of an entity (or everything) in order.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityNoEntity to get timeline for (optional — omit for full timeline)

TDQS

A3.5/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 disclose behavior. It indicates the tool returns a timeline but does not state that it is read-only, non-destructive, or any side effects. Minimal behavioral context is given.

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

Conciseness5/5

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

Two short sentences with no extraneous information. The key information (chronological, entity or full) is front-loaded and concise.

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

Completeness3/5

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

The description covers the basic purpose and parameter but lacks an output schema or details on the return format. For a simple tool with one optional parameter, it is adequate but could mention the structure of the timeline.

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 only parameter 'entity' is already well-described in the input schema (optional, omit for full timeline). The description adds no additional semantic value beyond the schema, which has 100% 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 it provides a chronological timeline of facts, with the option to filter by entity or see everything. This distinguishes it from sibling tools like mempalace_kg_query and mempalace_search which are more generic.

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 for chronological ordering but does not explicitly state when to use this tool over alternatives like mempalace_kg_query or mempalace_search. No exclusions or when-not-to-use guidance is provided.

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

mempalace_list_drawersB

List drawers with pagination. Optional wing/room filter. Returns IDs, wings, rooms, and content previews.

ParametersJSON Schema
NameRequiredDescriptionDefault
wingNoFilter by wing (optional)
roomNoFilter by room (optional)
limitNoMax results per page (default 20, max 100)
offsetNoOffset for pagination (default 0)

TDQS

B3.3/5.0
Behavior3/5

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

The description mentions pagination (limit, offset) and optional filters, but does not state if the tool is read-only, order of results, or any constraints like rate limits or authentication requirements. Since no annotations are provided, more behavioral detail would be expected.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the main action and then provides key details. 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?

While the description lists return fields (IDs, wings, rooms, content previews), it does not mention pagination metadata like total count or next page token, which is expected for a paginated list tool. The absence of an output schema makes this description somewhat incomplete.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no new meaning beyond the schema; it simply restates that wing and room are optional filters and mentions pagination generically.

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 that the tool lists drawers with pagination and optional filtering by wing and room. It returns IDs, wings, rooms, and content previews, but does not explicitly differentiate from siblings like mempalace_get_drawer or mempalace_search.

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 on when to use this tool versus alternatives. There is no mention of when not to use it or which sibling tool might be more appropriate for specific queries.

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

mempalace_list_roomsA

List rooms within a wing (or all rooms if no wing given)

ParametersJSON Schema
NameRequiredDescriptionDefault
wingNoWing to list rooms for (optional)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided; the description simply states it lists rooms, which implies a read operation, but does not disclose any additional behavioral traits like pagination or ordering.

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, concise sentence that efficiently conveys the tool's purpose without extraneous information.

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

Completeness2/5

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

The description lacks details about the return format or structure, which is particularly important since no output schema is provided.

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 schema covers the single parameter completely; the description adds context by clarifying the 'all rooms' behavior when no wing is given, but this is already implied by the schema's optional flag.

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 it lists rooms within a wing or all rooms if no wing is given, distinguishing it from sibling tools like list_drawers and list_tunnels.

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 when rooms are needed, optionally filtered by wing, but does not provide explicit when-to-use or when-not-to-use guidance or alternatives.

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

mempalace_list_tunnelsB

List all explicit cross-wing tunnels. Optionally filter by wing.

ParametersJSON Schema
NameRequiredDescriptionDefault
wingNoFilter tunnels by wing (shows tunnels where wing is source or target)

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 convey behavioral traits. The term 'list' implies a read-only operation, but the description does not explicitly state that the tool has no side effects or other 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 extremely concise—one sentence that conveys the core functionality without any redundant information. Every word is necessary.

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 simplicity and the presence of a single optional parameter, the description is adequate but incomplete. It does not describe the return format or any behavioral details (e.g., pagination, ordering), which would be helpful for an agent.

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 already describes the single parameter (wing) with high coverage (100%). The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool lists explicit cross-wing tunnels and optionally filters by wing. It uses a specific verb and resource, but does not differentiate from sibling tools like mempalace_find_tunnels, which might have overlapping functionality.

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, nor does it mention when not to use it. No explicit context or exclusions are given.

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

mempalace_list_wingsA

List all wings with drawer counts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose whether the operation is read-only, destructive, or any other behavioral traits. A simple list is likely safe, but this is not stated.

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?

Single sentence, six words, no filler. 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?

While the tool is simple, the description lacks scope (e.g., user-specific vs. global), and there is no output schema to compensate. With no annotations, more context about what a 'wing' is would improve completeness.

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 no parameters (100% coverage automatically), and the description adds value by specifying that the output includes drawer counts, which is not evident from the schema 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 clearly states the action ('List all wings') and the additional detail ('with drawer counts'), distinguishing it from sibling list tools like list_drawers and list_rooms.

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 on when to use this tool versus alternatives. It does not mention context, prerequisites, or exclusions.

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

mempalace_memories_filed_awayB

Check if a recent palace checkpoint was saved. Returns message count and timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It implies a read-only check but does not explicitly state side effects, error conditions, or what happens if no checkpoint exists. This is minimal transparency for a tool with no annotation support.

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 succinctly states the purpose and output. No wasted words, making it easy for an agent to parse quickly.

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 lack of parameters and output schema, the description is adequate but vague (e.g., 'recent' is undefined). It covers basic functionality but omits details about behavior when no checkpoint exists or how 'recent' is determined.

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 description coverage is 100%. The description does not add information beyond the schema, but the baseline for no parameters is 4, so this is appropriate.

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

Purpose4/5

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

The description clearly states it checks if a recent palace checkpoint was saved and specifies the return values (message count and timestamp). However, the term 'recent' is ambiguous without further context, and the tool's purpose is not distinctly differentiated from siblings like mempalace_status.

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 mempalace_status or other query tools. The description lacks usage context, prerequisites, or exclusions.

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

mempalace_reconnectA

Force reconnect to the palace database. Use after external scripts or CLI commands modified the palace directly, which can leave the in-memory HNSW index stale.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses the key behavioral trait: reconnection forces a refresh of the in-memory HNSW index due to potential staleness. No annotations exist, so the description carries the full burden, which it meets adequately.

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

Conciseness5/5

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

Two sentences: the first states the purpose, the second provides usage context. No redundant information, every sentence earns its place.

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 no parameters, no output schema, and a simple action, the description fully explains the tool's purpose and when to use it. It could optionally mention return status, but it's not necessary for correctness.

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 the schema coverage is 100%. According to guidelines, baseline is 4. No additional parameter information is needed.

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 specific action ('Force reconnect to the palace database') and distinguishes from sibling tools like 'mempalace_get_drawer' or 'mempalace_add_drawer' which are for different purposes.

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 explicitly says 'Use after external scripts or CLI commands modified the palace directly', providing clear context for when to use. It does not mention when not to use, but the given scenario is specific enough.

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

mempalace_statusA

Palace overview — total drawers, wing and room counts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior5/5

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

Simple read operation fully described by 'overview' and counts. No annotations needed; behavior is transparent and no side effects implied.

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?

Single sentence with no fluff. Perfectly front-loaded with the purpose and key outputs.

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?

Complete for a zero-parameter, no-output-schema tool. Description fully captures what the tool returns.

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?

No parameters, so baseline 4 applies. Schema coverage is 100% trivially; description adds no parameter detail but none needed.

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

Purpose5/5

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

Description explicitly states it provides a palace overview with total drawers, wing, and room counts. Clearly distinguishes from sibling list tools by being a summary, not a detailed listing.

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

Usage Guidelines3/5

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

No explicit guidance on when to use vs alternatives. Implied usage for high-level stats, but lacks exclusions or context compared to similar list tools.

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

mempalace_traverseA

Walk the palace graph from a room. Shows connected ideas across wings — the tunnels. Like following a thread through the palace: start at 'chromadb-setup' in wing_code, discover it connects to wing_myproject (planning) and wing_user (feelings about it).

ParametersJSON Schema
NameRequiredDescriptionDefault
start_roomYesRoom to start from (e.g. 'chromadb-setup', 'riley-school')
max_hopsNoHow many connections to follow (default: 2)

TDQS

A3.6/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 burden. It discloses the traversal behavior (connections between wings) but does not state whether the operation is read-only, what happens at boundaries (e.g., missing room), or any side effects. The analogy helps but falls short of full transparency.

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 long, directly states the action, and uses an efficient analogy to convey the concept. No superfluous words.

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?

No output schema is provided, and the description does not explain what the tool returns (e.g., list of rooms, graph structure). Given the complexity of a graph traversal, the return format is critical for correct invocation. The description is incomplete in this aspect.

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

Parameters3/5

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

Schema coverage is 100% for both parameters (start_room, max_hops). The description reinforces start_room with example values but adds no new semantics beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool walks the palace graph from a room and shows connected ideas (tunnels). It provides concrete examples like 'start at chromadb-setup' and explicitly mentions discovering connections across wings, which distinguishes it from sibling tools like mempalace_find_tunnels or mempalace_list_rooms.

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 for exploring connections from a starting room, but does not explicitly contrast with similar tools like mempalace_follow_tunnels or mempalace_find_tunnels. No when-not-to-use or alternative guidance is given.

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

mempalace_update_drawerA

Update an existing drawer's content and/or metadata (wing, room). Fetches existing drawer first; returns error if not found.

ParametersJSON Schema
NameRequiredDescriptionDefault
drawer_idYesID of the drawer to update
contentNoNew content (optional — omit to keep existing)
wingNoNew wing (optional — omit to keep existing)
roomNoNew room (optional — omit to keep existing)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description must carry the full burden. It discloses that the tool fetches the existing drawer first and returns an error if not found, which is useful behavioral information. However, it lacks details about permissions, reversibility, or what happens with omitted fields (beyond the schema). For a tool with no annotations, more disclosure would be better.

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

Conciseness5/5

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

Two sentences: the first states the purpose, the second adds a key behavioral note. No wasted words, and the purpose is front-loaded. This is an excellent, concise structure.

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 tool with 4 parameters (all described in schema) and no output schema, the description covers purpose, pre-fetch behavior, and error case. It does not describe the return value, which would be helpful since there is no output schema. Overall, it is mostly complete but missing return info.

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%, and the description does not add meaning beyond what the schema already provides. The description mentions the optionality and default behavior (omit to keep existing) which is also in the schema. Baseline 3 is appropriate as the description adds no extra param semantics.

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 'Update an existing drawer's content and/or metadata (wing, room).' The verb 'update' and specific resource 'drawer' are unambiguous, and it distinguishes from sibling tools like mempalace_add_drawer and mempalace_delete_drawer.

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 implies this tool is for updating existing drawers (by mentioning it fetches the drawer first and errors if not found), which helps differentiate from add or get tools. However, it does not explicitly state when to use this versus alternatives, such as 'Use mempalace_add_drawer to create a new drawer.'

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. 29 tool updatesv0.1.0
    • First observedmempalace_add_drawer
    • First observedmempalace_check_duplicate
    • First observedmempalace_create_tunnel
    • First observedmempalace_delete_drawer
    • First observedmempalace_delete_tunnel
    • First observedmempalace_diary_read
    • First observedmempalace_diary_write
    • First observedmempalace_find_tunnels
    • First observedmempalace_follow_tunnels
    • First observedmempalace_get_aaak_spec
    • First observedmempalace_get_drawer
    • First observedmempalace_get_taxonomy
    • First observedmempalace_graph_stats
    • First observedmempalace_hook_settings
    • First observedmempalace_kg_add
    • First observedmempalace_kg_invalidate
    • First observedmempalace_kg_query
    • First observedmempalace_kg_stats
    • First observedmempalace_kg_timeline
    • First observedmempalace_list_drawers
    • First observedmempalace_list_rooms
    • First observedmempalace_list_tunnels
    • First observedmempalace_list_wings
    • First observedmempalace_memories_filed_away
    • First observedmempalace_reconnect
    • First observedmempalace_search
    • First observedmempalace_status
    • First observedmempalace_traverse
    • First observedmempalace_update_drawer

TDQS

A3.7/5.0

Scored across 29 tools

Disambiguation5/5

Each tool has a clearly distinct purpose, covering drawers, tunnels, diary, knowledge graph, and settings. Descriptions are detailed and disambiguate similar operations like find_tunnels vs list_tunnels.

Naming Consistency5/5

All tools follow a consistent 'mempalace_verb_noun' pattern with underscores. Verbs are uniform (add, get, list, delete, update, etc.) and nouns are clear.

Tool Count4/5

29 tools is high but justified by the broad scope (drawers, tunnels, knowledge graph, diary, settings). Each tool serves a distinct function, though the count could be slightly reduced by merging some rarely used ones.

Completeness4/5

The tool surface covers CRUD for drawers, tunnels, and knowledge graph, plus extra features. Minor gaps exist, such as missing update_tunnel and batch operations, but core workflows are fully supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A mem0-like memory system for GitHub Copilot that provides persistent knowledge storage and retrieval capabilities using local ChromaDB.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI assistants with long-term semantic memory capabilities through local vector-based storage. Enables storing, recalling, and managing information across sessions with complete privacy using ChromaDB, with no data ever leaving your machine.
    3
    9
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Enables GitHub Copilot to query local ChromaDB instances to retrieve relevant documents and context for AI conversations. It allows users to search vector collections using natural language tools directly within VS Code.
    1
    -