ReclaimLLM
OfficialRCLM — 面向 AI 工具的数据捕获
每次使用 AI 编程助手时,你都会产生有价值的推理过程和代码。RCLM(ReclaimLLM)确保这些数据属于你。它是一个轻量级捕获层,可记录来自 Claude Code、Gemini CLI、Codex CLI 和 OpenClaw 的 AI 会话,并将它们发送到你的个人 ReclaimLLM 账户,以供搜索、分析和继续使用。
主要功能
原生钩子: 零配置集成到 Claude Code、Gemini CLI、Codex CLI 和 OpenClaw。
历史同步: 一条命令即可回填所有过去的 AI 会话。
DLP 与隐私: 在密钥到达模型之前,自动对
.env文件中的密钥进行脱敏。上下文压缩: 读取缓存、结果去重、执行输出压缩和自动图像缩小可在不丢失信息的情况下减少 token 用量——参见 上下文压缩与 DLP。
上下文转换: 将任意已捕获的会话导出为 Markdown 上下文文档,以便在不同工具中继续工作。
本地代理: 基于 LiteLLM 的实验性代理,适用于兼容 OpenAI 的工具。
Related MCP server: vibe-hnindex
快速开始
1. 安装
pip install rclm
# Or for proxy support: pip install 'rclm[proxy]'2. 设置钩子
# Integrates with Claude Code, Gemini CLI, Codex CLI, and OpenClaw
rclm-hooks-install这将打开浏览器访问 reclaimllm.com 以关联你的账户。关联后,每个会话都会被自动捕获。
3. 同步历史
# Upload sessions that predated the installation
rclm-sync会话转换(新增!)
rclm convert-session 会生成一份紧凑的上下文文档,用于在另一个工具中开始新会话。它不会恢复源工具的私有运行时状态。
# Export a session for Claude Code
rclm convert-session <session_id> claude -o CLAUDE.md
# Export for Gemini CLI
rclm convert-session <session_id> gemini -o .gemini
# Options
rclm convert-session <session_id> generic --no-diffs # Omit file diffs
rclm convert-session <session_id> claude --force-regenerate # Use LLM for a fresh summary支持的目标: claude、gemini、codex、generic。
代理插件
RCLM 包含针对 Codex、Claude 和 Cursor 的本地插件市场条目。每个插件都通过随附的 rclm-mcp 服务器将 ReclaimLLM 作为 AI 代理的持久记忆提供。
codex plugin marketplace add /path/to/DC-hooks-proxy
codex plugin add reclaimllm@reclaimllm-plugins对于 Claude 和 Cursor,请从本仓库添加对应的市场文件:
DC-hooks-proxy/.claude-plugin/marketplace.jsonDC-hooks-proxy/.cursor-plugin/marketplace.json
然后,如果你尚未认证本地 MCP 服务器,请先完成认证:
rclm-hooks-install --with-mcp启动一个新的代理线程,并确认 reclaimllm 插件和 MCP 服务器已启用。
MCP 工具
工具 | 描述 |
| 跨已捕获会话,按主题、错误、文件或日期范围进行混合语义 + 关键词搜索。 |
| 在没有语义文本查询时,提供权威的 Postgres 会话列表,用于元数据/日期过滤。 |
| 按文件/文件夹范围限定的会话历史,例如“ |
| 单个会话 ID 的摘要元数据和一个前端链接。 |
| 在明确请求时,将特定会话的摘要作为工作上下文拉取。 |
| 列出可用的项目过滤器。 |
| 在对文件进行非平凡编辑之前,提供该文件的近期历史简报。 |
| 生成一份续接文档,以便在不丢失上下文的情况下开始全新会话。 |
| 将完整捕获的会话(消息、工具调用/结果、文件差异)作为带版本号的 JSON 工件流式传输。 |
| 当前项目最多 5 个开放的工作流效率信号(证据 + 建议的修复方案)。 |
| 成本低廉、仅基于元数据的检查,用于判断重放压缩机制是否值得。 |
| 在单个已捕获会话上重现随附的压缩机制,并报告真实的工具结果 token 减少量。 |
| 与 |
| 在一次调用中,在多种机制配置下重放同一语料库。 |
所有工具均为只读:它们不会重新执行历史命令、调用模型或修改已捕获的数据。
当你需要完整的已捕获会话而非摘要时,请让目标代理使用 ReclaimLLM 会话 ID 调用 transfer_session。该工具会将包含每条已捕获消息、工具调用/结果、文件差异和元数据字段的带版本号 JSON 工件流式传输到一个仅所有者可访问的临时文件中。目标代理将该文件作为历史上下文读取;已记录的工具调用绝不会被自动重新执行。
SESSION_TRANSFER_MAX_BYTES 控制后端和本地下载上限,默认为 100 MiB。传输绝不会被静默截断。SESSION_TRANSFER_TTL_SECONDS 控制本地工件何时有资格进行有界的机会性清理,默认为一小时。
重放:验证 token 节省
replay_eligibility、replay_session、replay_corpus 和 replay_compare 会在已捕获的会话上重现 RCLM 随附的压缩机制(range_cache、shell_compaction、hash_dedupe),并报告真实的工具结果 token 减少量,而无需调用模型或重新运行任何历史命令:
“压缩对我最近 50 个会话有帮助吗?” →
replay_eligibility“压缩在会话
<id>上节省了多少?” →replay_session“我这个月所有 Codex 会话的总体节省是多少?” →
replay_corpus“比较单独使用 shell 压缩与结合 range cache 的效果” →
replay_compare
每个结果都会说明已考虑、符合条件与被排除的会话;低于轮次/工具调用阈值的会话或语料库会被拒绝,并给出具体未满足的约束条件,而不是一个不稳定的数字。
CLI 参考
命令 | 描述 |
| 为本地 LLM CLI 安装/配置原生钩子。 |
| 发现并上传历史记录。 |
| 将会话导出为 Markdown 上下文,以便切换工具。 |
| 启动/设置用于兼容 OpenAI 捕获的 LiteLLM 代理。 |
| 检查并应用对 |
高级用法
上下文压缩与 DLP
环境文件 DLP 在新安装时默认启用,并保留显式保存的退出选择:
rclm-hooks-install --compress # Reduces tool-result tokens in Claude Code, Codex, and Cursor
rclm-hooks-install --dlp # Explicitly enable or re-enable DLP
rclm-hooks-install --no-dlp # Explicitly disable DLP
rclm-hooks-install --image-lifecycle # Downscales oversized screenshots/images before they reach the model
rclm-hooks-install --image-lifecycle --image-max-dim=1280 # Set the max image dimension in pixels (default 1280)图像缩小(--image-lifecycle)会在过大的工具结果图像(整页截图、MCP 截图工具输出)进入模型上下文之前对其进行调整大小并重新编码,且绝不会放大。它在 Claude Code 会话上真实生效;在 Codex 上,目前仅报告测量到的前后节省,因为 Codex CLI 尚不应用由钩子驱动的 MCP 工具输出重写。需要可选的 images 额外依赖:pip install 'rclm[images]'。
文本压缩使用每个编码客户端的原生钩子;它不需要代理或 LLM 网关流量。Claude Code 和 Codex 支持可识别的 shell 输出压缩。Cursor 会在执行前包装可识别的 shell 命令,并将结果后替换限制为结构化的 MCP 输出。未知命令、失败、图像和模糊的结构化结果会原样通过。相同结果的去重默认保持关闭(--dedupe)。
文件夹捕获过滤器
在安装期间将上传限制到特定项目文件夹:
rclm-hooks-install --include-folder=/path/to/project
rclm-hooks-install --include-folder=/work/app --include-folder=/work/infra当未配置包含白名单时,使用 --exclude-folder=/path/to/private 跳过特定文件夹。
代理捕获(实验性)
将你的工具指向 http://localhost:4000 以捕获原始 API 交互:
rclm-proxy setup
rclm-proxy start技术细节
有关数据模型、钩子内部机制和 DLP 引擎的信息,请参阅 architecture.md。
开发
uv sync --extra dev # Install dev dependencies
uv run pre-commit install # Setup linting/formatting hooks
uv run pytest rclm/tests # Run the test suite许可证:Apache-2.0
Available Tools
14 toolsfile_briefA
Return a distilled brief of prior sessions that touched a file: who, when, and a short highlight of what each session did.
Use before a non-trivial edit to a file you don't already have context on — to see why it looks the way it does or what related work has touched it recently. Do not call this for every file you read; only when prior history is actually likely to change your approach. scope controls whose sessions are searched: "mine", "team", or "org". Omit scope to search the widest scope your organization's sharing settings allow.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| limit | No | ||
| scope | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explains what the tool returns, that the result is distilled rather than exhaustive, and that scope controls whose sessions are searched. It does not discuss authentication, rate limits, or edge cases, but for a read-only informational tool the disclosed behavior is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the tool's purpose, and every sentence contributes either core behavior, usage context, or parameter explanation. There is no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, when to use it, what the output contains, and the main scope parameter, which is adequate for a simple read-only tool with an output schema. The only minor gap is limit semantics and edge cases like files with no prior sessions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema description coverage is 0%, so the description must compensate. It explains the scope parameter well: 'mine', 'team', 'org', and the omission behavior. It also maps path to the file whose history is briefed. However, the limit parameter has no explanation of how it caps the brief, and path format is not further specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and object: 'Return a distilled brief of prior sessions that touched a file', and specifies the returned fields (who, when, a short highlight). It is clearly about file history rather than session text search or session summarization, though it does not explicitly name sibling tools for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use before a non-trivial edit to a file you don't already have context on'. It also provides a when-not-to-use rule: 'Do not call this for every file you read; only when prior history is actually likely to change your approach.' This is strong usage routing even without naming sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filter_sessionsA
List sessions by metadata using authoritative Postgres filters, without semantic search.
Use when the user provides no semantic text query and instead asks for sessions in a date window or matching metadata such as provider, model, project, language, category, minimum turn/tool-call counts, or code changes. Do not invent search text for these requests and do not use this tool when the user asks for sessions similar to a topic; use search_sessions.
Use provider="codex" for Codex sessions whose stored model names are in the GPT family. date_from is inclusive and date_to is exclusive; both are YYYY-MM-DD ingestion dates. scope controls whose sessions are listed: "mine", "team", or "org". Omit it to use the widest scope permitted by the organization's sharing settings. Results are capped at 100.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| model | No | ||
| scope | No | ||
| date_to | No | ||
| language | No | ||
| provider | No | ||
| date_from | No | ||
| file_path | No | ||
| min_turns | No | ||
| model_family | No | ||
| project_name | No | ||
| min_tool_calls | No | ||
| has_code_changes | No | ||
| session_category | No | ||
| include_changed_files | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It discloses result capping ('Results are capped at 100'), date inclusivity/exclusivity, default scope behavior, and the special provider='codex' mapping. It does not discuss ordering or output format, but an output schema exists and the tool is a read-style listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the essential purpose. Every sentence adds distinct value: purpose, when to use, when not to use, special provider handling, date semantics, and scope behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter filtering tool with no annotations and no schema descriptions, the description is unusually complete. It covers selection criteria, exclusion criteria, date/scope/provider nuances, and result limits; the existing output schema covers return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the non-ovious semantics of scope, date_from/date_to, provider, and the minimum-count/code-change filters. It does not individually explain limit, file_path, model_family, or include_changed_files, but these are fairly inferable and the schema provides titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List sessions by metadata using authoritative Postgres filters, without semantic search.' It also explicitly distinguishes itself from the sibling search_sessions, so an agent can tell them apart without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance ('Use when the user provides no semantic text query...'), what not to do ('Do not invent search text'), and names the alternative tool for semantic-topic queries ('use search_sissions'). It also covers date semantics and scope behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sessionA
Return summary metadata and a frontend link for a specific ReclaimLLM session ID.
Use only when the user asks to look at a particular session by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the primary output ('summary metadata and a frontend link') and implies a read-only retrieval, but it does not mention error behavior, authorization requirements, or what happens when an ID does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core function is front-loaded, and the usage constraint is stated separately and clearly. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, one required parameter, and the presence of an output schema, the description is nearly complete. It explains what the tool returns and when to use it. The only notable omission is behavior for invalid or missing session IDs, which is a minor gap for a direct lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented session_id parameter. It adds that the parameter is a ReclaimLLM session ID and that it should be a specific identifier, but it does not specify format, source, or examples. This is adequate for a single self-explanatory parameter but not rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return summary metadata and a frontend link') and the target resource ('a specific ReclaimLLM session ID'). It distinguishes get_session from listing/searching tools by emphasizing lookup by ID, though it does not explicitly contrast with the sibling summarize_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit use condition: 'Use only when the user asks to look at a particular session by ID.' This is clear guidance, but it does not name alternative sibling tools or explain when a different tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
handoffA
Package the current (or a given) session's state into a compact continuation document for starting a fresh session, without losing decisions/context already established.
Use when the current session has grown long (many turns, large context) and continuing it is getting expensive, or when the user explicitly asks to "hand off", "continue this in a new session", or "start fresh but keep context". If session_id is omitted, resolves the current session from the CLAUDE_SESSION_ID environment variable; if that isn't set, pass session_id explicitly. Returns a markdown document to paste as the first message of a new session — this does not end the current session for you.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | No | ||
| include_diffs | No | ||
| max_diff_lines | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description correctly carries the burden of behavioral disclosure. It states that the tool does not end the current session and explains fallback resolution via CLAUDE_SESSION_ID. It also clarifies that the output is a paste-ready markdown document, which is important for setting expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: purpose first, then use cases, then parameter resolution, then output behavior. Every sentence adds value and there is no redundant filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main workflow and output format, and an output schema exists, so return values are handled. However, two parameters remain under-specified and there is no comparison with sibling tools like transfer_session. For a tool with no annotations and zero schema param descriptions, this is a noticeable completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate for all three parameters. It only explains session_id behavior; include_diffs and max_diff_lines are left entirely to inference from their names and defaults. An agent cannot tell what 'diffs' refers to or how max_diff_lines caps the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: packaging a session's state into a compact continuation document for a new session. It names a specific verb and resource, and the phrase 'for starting a fresh session' distinguishes it from plain session retrieval. It does not explicitly contrast it with sibling tools like transfer_session, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit conditions for use: long sessions, expensive context, or user phrases like 'continue this in a new session.' It also explains how session_id resolution works, which is practical guidance. However, it does not mention when to avoid the tool or recommend an alternative sibling, so it lacks full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List deterministic ReclaimLLM CLI project names.
Use only when the user asks to see available projects.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. 'List' implies a non-mutating read operation and 'deterministic' adds some useful context, but it does not explicitly state side-effect-free behavior, authorization needs, or other operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two succinct sentences with the core purpose front-loaded and the usage condition stated immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with an output schema present, the description is largely sufficient. It names the resource scope and when to call it, though it relies on the output schema for return details and omits any mention of prerequisites or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing for the description to document. The 0-parameter baseline of 4 applies; the description does not need to add parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'List deterministic ReclaimLLM CLI project names', providing a specific verb and resource. It distinguishes from sibling session-oriented tools by focusing on projects, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use only when the user asks to see available projects' gives an explicit trigger condition and a mild restriction. It does not mention alternative tools or when not to use it beyond 'only when', so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_compareA
Replay the same session corpus under multiple mechanism configurations in one call, so bundles stay attributable — e.g. compare shell compaction alone against shell compaction plus range cache. Strictly read-only; fetches each eligible session's blob once and reuses it across every config.
configs is a list of mechanism-name lists, e.g. [["shell_compaction"], ["shell_compaction", "range_cache"]]. Defaults to comparing each mechanism individually plus the full combined set if omitted. days/source/model_family/project/session_category/limit select the corpus, same as replay_corpus.
min_turns/min_tool_calls override the turn-count and tool-call-count floors (default 5/5; PRD §6's documented floors are 10/10) — reported in each config row's provenance.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| source | No | all | |
| configs | No | ||
| project | No | ||
| min_turns | No | ||
| model_family | No | ||
| min_tool_calls | No | ||
| session_category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers: it declares 'Strictly read-only', explains the fetch-once-and-reuse behavior, discloses the default config-set behavior when configs is omitted, and exposes the surprising min_turns/min_tool_calls default of 5/5 versus the PRD's 10/10. It even notes where this appears in output ('reported in each config row's provenance').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence carries distinct information: purpose and example, read-only guarantee, configs format and default, corpus selection reference, and floor overrides with provenance note. The description is dense but well-organized, front-loading the core purpose and behavior before parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential behavior, all parameter groups, defaults, and output provenance for a tool with 9 optional parameters and a non-trivial configs structure. The only notable gap is that corpus-selection parameters are documented by reference to replay_corpus rather than described inline, and there is no mention of potential errors or limit semantics, though an output schema exists to fill in return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does for the complex configs parameter with a concrete example and default behavior, and for min_turns/min_tool_calls with floor values and PRD context. The corpus-selection parameters (days/source/model_family/project/session_category/limit) are grouped and delegated to 'same as replay_corpus' rather than individually explained, which is helpful but not fully self-contained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: 'Replay the same session corpus under multiple mechanism configurations in one call'. It also names the exact purpose and outcome ('so bundles stay attributable') and gives a concrete comparison example. This clearly distinguishes it from siblings like replay_corpus and replay_session by its multi-config focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: you use this tool to compare multiple mechanism configurations in a single read-only call, with an explicit example. It references replay_corpus for corpus-selection semantics, implying a shared/different usage pattern, but it never explicitly states when to use replay_compare instead of replay_corpus or replay_session, nor gives a when-not-to-use exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_corpusA
Reproduce the shipped compression mechanisms across a filtered corpus of captured sessions and report the aggregate real tool-result token reduction. Strictly read-only.
days is an exact rolling ingestion window over the caller's own
sessions (default 30). For source="codex", stored model names must
start with gpt- or codex-. model_family/project/session_category
further narrow the corpus. limit is the target fully eligible session
count (max 100); Replay scans up to 4x that many recent session
records, capped at 100, and stops when it reaches the target or
exhausts the scan. Every result states sessions considered vs eligible
and why the rest were excluded.
min_turns/min_tool_calls override the turn-count and tool-call-count floors (default 5/5; PRD §6's documented floors are 10/10) — reported in the output's provenance.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| source | No | all | |
| project | No | ||
| min_turns | No | ||
| mechanisms | No | ||
| model_family | No | ||
| min_tool_calls | No | ||
| session_category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses strict read-only behavior, exact rolling ingestion window semantics, model-name constraints for source='codex', the scan cap of 4x limit, and result reporting of considered vs eligible sessions. Minor gap: it doesn't state whether results are returned incrementally or only when complete, and doesn't detail output shape beyond provenance, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact for 9 parameters and uses multiple sentences purposefully. It front-loads the core purpose and read-only nature, then explains key parameters in order. The PRD floors aside is slightly dense but valuable. Not every parameter gets an example, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex retrieval/replay tool with 9 optional parameters, no annotations, and a rich output-schema, the description is thorough. It covers the selection algorithm, eligibility thresholds, and provenance reporting. The presence of the output schema fills return-shape details, so the description is complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The text explains days, source, model_family/project/session_category, limit, min_turns/min_tool_calls, and mechanisms implicitly. It grounds the default floors (5/5) against PRD §6's documented floors (10/10). It omits a detailed explanation of 'mechanisms' and 'project' semantics, but given the filter set is mostly intuitive, the description adds substantial meaning over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and resource ('Reproduce the shipped compression mechanisms... report the aggregate real tool-result token reduction'), clearly distinguishing it as a batch replay/evaluation tool over a corpus. It also contrasts with siblings like replay_session and replay_compare by its corpus-wide aggregate focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use the tool, how the corpus is filtered, and which parameters narrow it. It communicates the relationship between the 'limit' parameter and scan behavior, the default vs PRD floors, and includes exclusions ('why the rest were excluded'). While it doesn't name an alternative tool explicitly, it provides clear and detailed guidance on invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_eligibilityA
Cheap read-only check of whether replaying compression mechanisms on captured sessions is worth doing — call this before replay_session or replay_corpus. Checks only session metadata (turn count, tool-call count, completion state, model), never fetches the full session blob, so it's fast.
Pass session_id to check one session. Omit it to check a corpus window instead, using the same days/source/model_family/project/ session_category/limit filters as replay_corpus. Always returns the funnel of sessions considered vs excluded and why — a session or corpus with few eligible sessions is itself the finding; do not keep loosening filters to force a number.
min_turns/min_tool_calls override the turn-count and tool-call-count floors (default 5/5; PRD §6's documented floors are 10/10). Lowering them trades evidence quality for sample size — state the values used alongside any result, don't drop them silently.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| limit | No | ||
| source | No | all | |
| project | No | ||
| min_turns | No | ||
| session_id | No | ||
| model_family | No | ||
| min_tool_calls | No | ||
| session_category | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the behavioral disclosure burden. It states the operation is cheap and read-only, never fetches the full session blob, checks only metadata, always returns a funnel of considered vs excluded sessions, and explains the min_turns/min_tool_calls tradeoff. This is exemplary transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three paragraphs, each earning its place: purpose and cost, invocation modes and output semantics, and parameter override caveats. The most important information is front-loaded in the first sentence, and the guidance is dense without being repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no annotations, the description provides complete enough context: when to call it, how to use both modes, what it checks, what it returns, and what caveats apply to parameter overrides. The existence of an output schema further reduces the need to explain return details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It gives meaningful semantics for session_id, min_turns, min_tool_calls, and the shared corpus filter set (days/source/model_family/project/session_category/limit) by referencing replay_corpus. It doesn't individually describe every parameter's allowed values or defaults, but the grouped reference is useful enough for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it checks whether replaying compression mechanisms on captured sessions is worth doing. It clearly distinguishes itself from sibling tools by naming replay_session and replay_corpus as the follow-up actions it pre-empts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'call this before replay_session or replay_corpus' and explains the two invocation modes: pass session_id for a single session, omit it for a corpus window using the same filters as replay_corpus. It also warns against loosening filters to force a non-finding, which is strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_sessionA
Reproduce the shipped compression mechanisms over one captured session's tool calls and report the real tool-result token reduction. Strictly read-only: no model calls, no writes, no re-execution of historical commands.
session_id defaults to your most recent complete session. mechanisms defaults to all three (range_cache, shell_compaction, hash_dedupe); pass a subset (e.g. ["shell_compaction"]) to isolate one mechanism's effect. A session below the size/turn thresholds is refused with the specific failing constraint (verdict "insufficient_data") rather than given an unstable number.
min_turns/min_tool_calls override the turn-count and tool-call-count floors (default 5/5; PRD §6's documented floors are 10/10) — reported in the output's provenance.
| Name | Required | Description | Default |
|---|---|---|---|
| min_turns | No | ||
| mechanisms | No | ||
| session_id | No | ||
| min_tool_calls | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral burden. It explicitly discloses read-only constraints ('no model calls, no writes, no re-execution'), defaulting behavior, refusal with verdict 'insufficient_data', and override semantics. This is exemplary transparency beyond the structured schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, followed by safety and parameter behavior. Every sentence adds useful information, and the dense but organized structure avoids waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and an output schema, the description covers purpose, safety, defaults, failure behavior, and parameter semantics completely. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates fully: it explains session_id's default, mechanisms' default values and subset usage, and min_turns/min_tool_calls overrides with PRD context. Every parameter receives meaningful semantic clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Reproduce'), precise resource ('one captured session's tool calls'), and measurable outcome ('report the real tool-result token reduction'). It distinguishes itself from sibling replay tools by scoping to a single session and compression mechanisms, so an agent can tell what it does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: which session is used by default, how to isolate a mechanism, and how threshold overrides work. It does not explicitly name sibling alternatives or state when not to use this tool, but the usage context is specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_filenameA
Find prior sessions that touched a file or folder path.
Use when the user asks for changes/history for a specific file or folder and does not provide
separate semantic search terms, for example "show me all changes in auth.tsx" or
"show me changes under /somefolder". If the user includes semantic terms too, such as
"show all auth fixes in auth.tsx", use search_sessions with file_path instead.
date_from is inclusive and date_to is exclusive. Both filter by ingestion date in
YYYY-MM-DD format.
scope controls whose sessions are searched: "mine", "team", or "org". Omit scope to search
the widest scope your organization's sharing settings allow.
Do not automatically call summarize_session after this tool.
This is also the explicit second step after search_sessions identifies a likely file in its
changed_files result for an implementation-history question.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| scope | No | ||
| date_to | No | ||
| date_from | No | ||
| file_path | Yes | ||
| project_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does so thoroughly: date_from is inclusive, date_to is exclusive, dates use YYYY-MM-DD ingestion dates, scope has defined values and a fallback default, and the tool is positioned as a non-final step. This is substantive operational context beyond what the schema exposes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and usage, and every sentence adds operational value. It is slightly longer than strictly necessary due to multiple prose paragraphs, but the density of useful guidance is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no schema descriptions, the description covers the core filtering semantics and workflow. It is incomplete only on limit, project_name, and exact/path-matching behavior, which would make invocation fully unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description meaningfully explains file_path, date_from, date_to, and scope semantics (inclusivity, format, allowed values, default). However, schema description coverage is 0%, so the description is the only semantic source, and it omits limit and project_name entirely, leaving two of six parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Find prior sessions') and makes clear the input is a file or folder path. It distinguishes itself from search_sessions by contrasting semantic-term queries with path-only queries, so an agent can identify the right tool immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool ('Use when the user asks for changes/history for a specific file or folder and does not provide separate semantic search terms') and when not to ('use search_sessions with file_path instead'). It also documents the follow-up workflow (second step after search_sessions) and warns not to auto-call summarize_session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_sessionsA
Search prior ReclaimLLM sessions by intent using backend hybrid semantic plus BM25 search.
Use only when the user hints that similar prior work may exist, or when the task is a bug fix or performance improvement where prior context may help. If the user is unsatisfied with the first result set, do not keep retrying with changed search terms.
If the prompt includes both a file/folder path and semantic terms, pass the file/folder as file_path. If the prompt is only about a file/folder history, use search_by_filename instead. Use project_name to narrow results only when current project is known. date_from is inclusive and date_to is exclusive. Both are YYYY-MM-DD ingestion dates; turn relative requests such as "last 3 weeks" into concrete dates before calling this tool. scope controls whose sessions are searched: "mine" (only your own), "team" (your org team), or "org" (whole organization). Omit scope to search the widest scope your organization's sharing settings allow; the backend clamps a request that is wider than what is allowed. Results for sessions owned by someone else include owner_email/owner_name. Returns session IDs, short titles, highlights, and up to three changed source files. When finding which session implemented a change, use a relevant returned changed_files path with search_by_filename to inspect the latest sessions that subsequently changed that file. Do not automatically call summarize_session after this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| scope | No | ||
| date_to | No | ||
| date_from | No | ||
| file_path | No | ||
| project_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and delivers: it discloses date inclusivity/exclusivity, scope clamping behavior, ownership metadata in results, and the return contents. It also warns agents not to automatically call summarize_session afterward, which is a behavioral guardrail beyond what structured fields would indicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than the ideal two-sentence form, but the length is justified by the tool's complexity and the need to document ambiguous parameters and sibling routing. It is well-structured: purpose first, then usage conditions, parameter semantics, and follow-up guidance. A few sentences could be tightened, but none are filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given seven parameters, no annotations, and multiple sibling tools, the description is remarkably complete. It covers when to use the tool, how to handle each parameter, what the backend does, what results look like, and how to continue the workflow with search_by_filename. The presence of an output schema also means the return-value description is a bonus, not a requirement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all seven parameters. It does so well for file_path, scope, date_from, date_to, project_name, and query implicitly via 'by intent'. The only omitted parameter is limit, which is left to inference from 'Returns ... up to three changed source files' despite being a tunable result cap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Search prior ReclaimLLM sessions by intent using backend hybrid semantic plus BM25 search.' It clearly distinguishes this tool from search_by_filename and other siblings by focusing on semantic intent search, so an agent can tell it apart without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('when the user hints that similar prior work may exist' or for bug fixes/performance improvements), when not to retry, and names the alternative tool for file/folder history searches (search_by_filename). It also gives follow-up guidance to use search_by_filename on returned changed_files paths, which is unusually actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signalsA
Open workflow-efficiency Signals for the current project and the caller's own account.
Use only when the user asks why a session or project is expensive, what workflow efficiency issues exist, or explicitly asks about ReclaimLLM Signals — not for general status checks. Returns up to 5 open signals (pattern, evidence, projected savings), read-only, changes nothing. If cwd is omitted, resolves from the current working directory of this MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description compensates fully by stating the operation is read-only, changes nothing, and returns up to 5 open signals with pattern/evidence/projected savings. It also documents the cwd resolution behavior when omitted. This is more behavioral transparency than most tool descriptions provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with core purpose, and every sentence adds value: usage conditions, return shape, side-effect caveat, and cwd behavior. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity — one optional parameter, no required parameters, an output schema present, and read-only semantics — the description covers all needed context: when to call, what it returns, that it has no side effects, and how the parameter behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema description coverage is 0%, the description does compensates for the single cwd parameter by explaining the default resolution behavior. It does not fully specify what the cwd value means when provided, but the parameter name and the fallback explanation are sufficient for an agent to use it correctly in most cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Open workflow-efficiency Signals') and the exact resource scope ('current project and the caller's own account'). It also distinguishes itself from generic status queries by limiting use to cost/efficiency questions, making it easy for an agent to tell apart from siblings like get_session or search_sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit conditions for use: when the user asks why a session/project is expensive, when workflow efficiency issues are implied, or when ReclaimLLM Signals are explicitly requested. It also explicitly excludes general status checks, giving the agent clear and actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_sessionB
Return reusable markdown context for a ReclaimLLM session using backend export-context flow.
Use only after an explicit user request such as "summarize ", "use this session", or "add as context". Do not infer this request from search results alone.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| include_diffs | No | ||
| max_diff_lines | No | ||
| force_regenerate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It adds useful context about the backend export-context flow and the output form, but it does not disclose side effects (e.g., whether force_regenerate mutates cached state), performance, or permission implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the main purpose and followed by guardrails and examples. Every sentence adds necessary guidance, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return-value structure, and the usage preconditions are clearly stated. However, with no annotations and opaque parameters, the description is not complete for an agent deciding among siblings such as get_session or understanding force_regenerate behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the four parameters. The examples only imply that session_id identifies a session; include_diffs, max_diff_lines, and force_regenerate are left entirely to inference from their names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Return reusable markdown context for a ReclaimLLM session.' It clearly conveys the tool's function and differentiates it from search/list siblings by focusing on export-context output, though it does not name a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit trigger conditions with example phrases and a negative instruction: 'Do not infer this request from search results alone.' It lacks an explicit mention of alternatives, so it doesn't fully meet the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_sessionA
Download the full captured session into a secure local artifact for another AI tool.
Use only when the user explicitly asks to move or load the whole session rather than a summary. The returned file preserves captured messages, tool calls/results, file diffs, and metadata. It cannot restore provider-private runtime state. Historical tool calls are read-only data and must not be executed automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so thoroughly: it states what the returned artifact contains, what it cannot do (restore provider-private runtime state), and that historical tool calls are read-only and must not be executed automatically. This is a strong safety and limitation disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, followed by usage constraint, then content/limitations/safety. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity (one parameter, output schema present), and the description supplies all needed behavioral context: when to use it, what it returns, what it cannot preserve, and a safety warning. Nothing essential is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no guidance on session_id despite being the only and required parameter. It never explains where to obtain the session_id or how it is validated, so the description does not compensate for the schema's minimal 'Session Id' text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Download') plus a precise resource ('the full captured session') and outcome ('secure local artifact for another AI tool'). It also contrasts with 'a summary', which distances it from summarize_session and other retrieval siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit invocation condition ('Use only when the user explicitly asks to move or load the whole session rather than a summary'). However, it does not name sibling tools like get_session or summarize_session as alternatives, so agents must infer the routing boundary from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools are clearly distinct (list_projects, get_session, summarize_session, handoff, transfer_session), but the replay family (replay_eligibility, replay_session, replay_corpus, replay_compare) and the search family (search_sessions, search_by_filename, filter_sessions) have overlapping boundaries that require careful reading. The descriptions do a good job of disambiguating, but an agent could still confuse replay_eligibility with replay_session, or search_sessions with filter_sessions.
The naming is mostly consistent with verb_noun patterns (list_projects, search_sessions, filter_sessions, get_session, summarize_session, transfer_session, replay_eligibility, replay_session, replay_corpus, replay_compare). Minor deviations include file_brief and handoff, which use noun/verb-only forms instead of a clear verb_noun pattern, and search_by_filename breaks the pattern slightly.
14 tools is a reasonable, well-scoped count for a session-management and replay-analysis server. Each tool serves a distinct purpose within the domain: discovery, retrieval, summarization, handoff, transfer, signals, and replay analysis. No tool feels redundant or superfluous.
The tool surface covers the core session lifecycle well: list/search/filter sessions, get/summarize sessions, file-based history, handoff, transfer, signals, and replay analysis. Minor gaps include no tool for deleting sessions or managing projects, but those are likely outside the server's stated purpose. The replay workflow is well covered with eligibility check, single-session replay, corpus replay, and comparison.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Related MCP Servers
- AlicenseCqualityDmaintenanceMCP server for sharing source-backed engineering memory across AI coding clients like Cursor and VS Code.301MIT
- AlicenseNot gradedqualityAmaintenanceLocal MCP server to index your codebase once and search it across AI sessions with keyword, semantic, or hybrid search, keeping all data on disk.1054MIT
- AlicenseAqualityBmaintenanceEnables multiple coding agents (Claude Code, Codex, Cursor) to discover each other's sessions, search transcripts, ask questions, and handoff tasks through a shared MCP server.57MIT
- AlicenseAqualityBmaintenanceMCP server for sharing, searching, and pulling AI coding-agent sessions (Claude Code and Codex) directly from the agent, with automatic capture and link-based sharing.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ReclaimLLM/RCLM'
If you have feedback or need assistance with the MCP directory API, please join our Discord server