trae-memory
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@trae-memory帮我回想关于登录优化的对话"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧠 TRAE Memory - 智能记忆系统
TRAE IDE 专用的智能记忆系统,自动记录对话历史、智能上下文管理和任务跟踪
✨ 核心特性
🤖 自动记录
智能监听:自动捕获 TRAE Builder 中的用户输入
上下文分析:智能分析对话内容和重要性
无感知记录:后台自动保存,不干扰工作流程
📚 记忆管理
对话历史:完整保存用户与助手的对话记录
智能检索:快速查找历史对话和重要信息
个性化设置:保存用户偏好和配置
🎯 智能功能
上下文恢复:智能恢复中断的对话上下文
任务管理:跟踪和管理开发任务
记忆优化:自动清理和优化存储空间
Related MCP server: DevMind MCP
🚀 快速开始
1. 安装依赖
npm install2. 启动服务
方式一:使用管理脚本(推荐)
# 启动服务
./scripts/server.sh start
# 查看状态
./scripts/server.sh status
# 查看日志
./scripts/server.sh logs
# 停止服务
./scripts/server.sh stop
# 重启服务
./scripts/server.sh restart方式二:直接启动
node src/servers/index.js3. 配置 TRAE IDE
在 TRAE IDE 设置中添加 MCP 服务器配置:
{
"mcpServers": {
"trae-memory": {
"command": "node",
"args": [
"/path/to/trae-memory/src/servers/index.js"
],
"cwd": "/path/to/trae-memory",
"env": {
"NODE_ENV": "production",
"AUTO_RECORD": "true",
"CONTEXT_THRESHOLD": "0.8",
"TOKEN_ESTIMATION": "true"
}
}
}
}4. 重启 TRAE IDE
重启 TRAE IDE 以加载 MCP 服务器配置。
📖 详细使用教程
基础功能使用
1. 记录输入内容
当你在TRAE Builder中输入内容时,系统会自动记录:
// 自动调用
log_input({
input: "你的输入内容",
source: "builder", // 或 "chat", "terminal"
project: "项目名称",
files: ["相关文件路径"],
estimatedTokens: 100
})2. 记录对话内容
// 记录完整对话
log_chat({
user_input: "用户问题",
assistant_response: "助手回复",
conversation_id: "会话ID",
metadata: {
source: "chat",
project: "项目名称",
files: ["file1.js", "file2.js"],
tokens: 150
}
})3. 获取历史记录
// 获取最近5条记录
get_history({ limit: 5 })
// 获取最近10条记录
get_history({ limit: 10 })4. 智能记忆恢复
// 根据当前上下文恢复相关记忆
recall({
query: "React组件优化",
project: "my-react-app",
includeCompleted: false,
limit: 10
})高级功能使用
1. Context管理
// 检查Context状态
context({ action: "check" })
// 重置Context
context({ action: "reset" })
// 优化Context
context({
action: "optimize",
tokenCount: 50000,
maxTokens: 128000
})2. 任务管理
// 创建任务
tasks({
action: "create",
taskData: {
title: "实现用户登录功能",
description: "添加JWT认证和用户验证",
status: "pending",
priority: "high",
project: "web-app",
tags: ["authentication", "security"]
}
})
// 更新任务
tasks({
action: "update",
taskId: "task_id_here",
taskData: {
status: "completed"
}
})
// 查看任务列表
tasks({
action: "list",
filters: {
status: "pending",
priority: "high"
}
})
// 获取任务统计
tasks({ action: "stats" })3. 文件管理
// 查看文件状态
files({ action: "status" })
// 清理旧文件(30天前的文件)
files({
action: "clean",
days: 30
})
// 归档所有数据
files({ action: "archive" })
// 优化文件(只保留最近100条记录)
files({
action: "optimize",
maxFiles: 100
})4. 设置管理
// 保存设置
save_setting({
key: "theme",
value: "dark"
})
// 读取设置
get_setting({ key: "theme" })服务管理
使用管理脚本
# 查看帮助
./scripts/server.sh
# 启动服务(后台运行)
./scripts/server.sh start
# 查看详细状态
./scripts/server.sh status
# 实时监控日志
./scripts/server.sh monitor
# 查看最近日志
./scripts/server.sh logs
# 重启服务
./scripts/server.sh restart
# 停止服务
./scripts/server.sh stop日志文件位置
服务日志:
logs/server.logPID文件:
.server.pid
数据管理
数据文件结构
data/
├── history.json # 对话历史记录
├── settings.json # 用户设置
├── context.json # Context状态
├── tasks.json # 任务列表
├── session.json # 会话信息
└── archive/ # 归档文件夹
├── backup_2024-10-31.json
└── history_archive_*.json数据备份与恢复
# 手动备份
cp -r data/ backup_$(date +%Y%m%d)/
# 使用内置归档功能
# 通过 manage_files({ action: "archive" }) 调用故障排除
常见问题
服务无法启动
# 检查端口占用 lsof -i :3000 # 查看详细错误 ./scripts/server.sh logs记录功能不工作
# 检查服务状态 ./scripts/server.sh status # 重启服务 ./scripts/server.sh restart文件权限问题
# 修复权限 chmod -R 755 data/ chmod +x scripts/server.sh内存使用过高
// 优化文件 manage_files({ action: "optimize", maxFiles: 50 }) // 清理旧文件 manage_files({ action: "clean", days: 7 })
调试模式
# 启动时显示详细日志
DEBUG=* node src/servers/index.js
# 或使用脚本监控
./scripts/server.sh monitor性能优化建议
定期清理数据
每周运行一次文件清理
设置合理的保留天数(建议30天)
监控文件大小
history.json 超过10MB时进行优化
使用归档功能备份重要数据
合理设置参数
maxFiles: 100-500(根据使用频率)
days: 7-30(根据存储需求)
监控系统资源
# 查看进程资源使用 ./scripts/server.sh status
🛠️ 可用工具
📝 对话管理
auto_log_input- 自动记录 Builder 输入(自动触发)log_conversation- 手动记录对话get_history- 获取历史记录
🧠 记忆功能
recover_memory- 智能恢复上下文manage_context- 管理上下文信息manage_tasks- 管理任务列表
⚙️ 设置管理
save_setting- 保存用户设置get_setting- 获取用户设置
📁 项目结构
trae-memory/
├── src/
│ ├── servers/
│ │ └── index.js # 主服务器文件
│ ├── config/
│ │ └── timezone.js # 时区配置
│ └── utils/ # 工具函数
├── data/ # 数据存储目录
│ ├── history.json # 对话历史
│ ├── session.json # 会话信息
│ ├── context.json # 上下文数据
│ ├── settings.json # 用户设置
│ └── tasks.json # 任务列表
├── config/ # 配置示例
├── scripts/ # 工具脚本
└── package.json🔧 环境变量
变量名 | 默认值 | 说明 |
|
| 运行环境 |
|
| 是否启用自动记录 |
|
| 上下文重要性阈值 |
|
| 是否启用 Token 估算 |
📊 数据格式
对话历史 (history.json)
[
{
"timestamp": "2024-01-01T12:00:00.000Z",
"user": "用户输入内容",
"assistant": "助手回复内容"
}
]用户设置 (settings.json)
{
"language": "zh-CN",
"theme": "dark",
"auto_save": true
}🧪 测试和诊断
运行测试
npm test诊断连接
npm run diagnose验证核心功能
npm run verify🔍 故障排除
1. MCP 服务器无法连接
检查 TRAE IDE 中的 MCP 配置
确认文件路径正确
重启 TRAE IDE
2. 自动记录不工作
确认
AUTO_RECORD环境变量为true检查 TRAE IDE 是否正确连接到 MCP 服务器
查看 TRAE IDE 开发者工具中的错误信息
3. 数据文件权限问题
chmod 755 data/
chmod 644 data/*.json📝 更新日志
v2.0.0 (当前版本)
🎯 简化架构,只保留自动版本
🚀 优化性能和稳定性
📚 完善文档和示例
🔧 改进配置和部署流程
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License - 详见 LICENSE 文件。
🎉 享受智能记忆带来的便利!
Available Tools
10 toolscontextC
管理Context状态,检测过期并处理重置
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | 操作类型 | |
| maxTokens | No | 最大token限制 | |
| tokenCount | No | 当前token数量 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of disclosing behavior. It mentions detecting expiry and handling reset, but does not clarify whether reset is destructive, what optimize does, or if there are side effects. This is a significant gap for a tool that appears to mutate state.
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 a single short sentence with no redundancy, yet it is more of a label than a complete explanation. It is concise in length but lacks substance, conveying only a vague sense of functionality without concretely stating what the tool does.
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 no annotations, no output schema, and an action enum with non-obvious values (check, reset, optimize), the description is incomplete for correct invocation. It does not explain what each action does, how tokenCount and maxTokens interact, or what the expected result of calling the tool is.
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 100%, so the schema already documents all parameters with descriptions. The tool description adds no parameter-level detail beyond the schema, so the baseline of 3 applies. It neither enhances nor conflicts with schema semantics.
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 function ('管理Context状态,检测过期并处理重置') with clear intent, and distinguishes itself from siblings like log_conversation and files by focusing on context state management. However, '管理' is somewhat generic, and the specific operations (check/reset/optimize) are not elaborated.
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?
No guidance is given on when to use this tool versus sibling tools such as log_conversation or tasks. The description only states what the tool does, not in which situations it should be invoked, nor any exclusions to avoid incorrect usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filesB
管理data目录中的文件,支持清理、归档和优化
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | 保留天数(清理时使用) | |
| action | Yes | 操作类型 | |
| maxFiles | No | 最大文件数量 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only restates the high-level actions (clean, archive, optimize) without explaining effects such as whether clean deletes files permanently, whether archive moves them, what optimize does, or whether operations are reversible.
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 a single short sentence that front-loads the resource and names the supported operations. There is no filler or redundant repetition of schema 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 tool has multiple actions with very different behaviors, no annotations, and no output schema. The description does not explain return values, destructive potential, prerequisites, or what each action actually does. This is insufficient for an agent to reliably select and invoke the correct action.
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 100%, so the schema already documents all three parameters and their roles. The description adds no new parameter-level meaning beyond what the schema provides, meeting the baseline for high schema coverage.
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 identifies the resource (files in the data directory) and lists supported operations (cleanup, archive, optimization). It is clear enough to distinguish this tool from the sibling context/logging/settings tools, though the verb '管理' (manage) is somewhat broad.
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?
Usage context is only implied: the tool is for managing files in the data directory, so an agent can infer when to use it. However, there is no explicit guidance about when not to use it or how it compares to alternatives, and no details on which action fits which scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historyB
读取最近的对话记录
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 读取条数,默认为5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. The verb '读取' conveys a read-only operation and '最近的' implies recency ordering, but the description does not disclose what records are included (messages, turns, tool calls), the response structure, or whether the call could have 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words. It is appropriately concise for a simple read tool, though it is not exemplary because it omits useful contextual detail.
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 simple read-only tool with one optional parameter, the description covers the core purpose. However, it does not disambiguate from overlapping siblings like context and recall, and with no output schema, the exact content or format of the returned history is left undefined.
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 fully documents the single limit parameter with a description and default value (5), achieving 100% schema description coverage. The tool description adds no additional meaning about the parameter, so the baseline of 3 applies.
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's function: read recent conversation history. It uses a specific verb (读取) and resource (最近的对话记录), but it does not explicitly differentiate from siblings like recall or context, so it stops short of a 5.
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?
There is no guidance on when to use this tool versus alternatives such as context or recall. No exclusions, preconditions, or alternative tool mentions are provided, leaving the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_settingB
读取指定用户设定
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | 设定键名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that a setting is read, but does not explain error behavior, return format, whether missing keys return null, or any permission requirements.
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 a single short phrase with no wasted words, making it very concise. However, it is so terse that it sacrifices potentially useful context, though it still remains readable and front-loaded.
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 single-parameter getter, the description is minimally adequate. However, there is no output schema and no mention of return values or edge cases, leaving the agent to infer important runtime 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 coverage is 100%, and the schema already describes the key parameter with '设定键名'. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
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 '读取' (read) with a clear resource '指定用户设定' (specified user setting), making the tool's purpose unambiguous. It naturally distinguishes itself from the sibling save_setting, which implies the opposing write operation.
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?
No guidance is given about when to use this tool versus alternatives. There is no mention of context, prerequisites, or why an agent should pick get_setting over other read-oriented siblings like context or get_history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_chatC
记录完整的用户-助手对话内容
| Name | Required | Description | Default |
|---|---|---|---|
| metadata | No | 元数据信息 | |
| user_input | Yes | 用户输入 | |
| conversation_id | No | 会话ID | |
| assistant_response | Yes | 助手回复 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must disclose side effects and behavior. It only states that the tool records the full conversation, without mentioning storage, persistence, whether it appends or overwrites, required permissions, or what happens on success.
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 a single short sentence with no filler or repetition. It front-loads the core purpose immediately.
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 tool with four parameters, a nested metadata object, no output schema, and no annotations, the description is too minimal. It omits usage context, behavioral side effects, and any differentiation from the log_conversation sibling.
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 100%, so the schema already documents all four parameters. The description adds no parameter-level meaning beyond the schema; it only implies that both user_input and assistant_response are part of the complete conversation.
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 (记录/record) and resource (用户-助手对话内容) and adds 'complete' scope. However, it does not distinguish this tool from the sibling log_conversation, which appears to serve the same function by name.
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?
There is no guidance about when to use log_chat versus alternatives such as log_input, log_conversation, or get_history. No exclusions or selection criteria are given, leaving the choice between siblings ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_conversationC
记录对话(兼容原版本)
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | 用户输入 | |
| assistant | Yes | 模型回复 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose side effects, storage behavior, idempotency, or compatibility implications. The vague 'compatible with original version' adds little beyond the basic action.
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 concise and front-loaded with the core purpose. While it is not bloated, it is so minimal that it borders on under-specification.
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 existence of closely related siblings and the absence of output schema or behavioral details, the description is not complete enough to confidently route an agent to the correct tool. The simple schema helps, but the ambiguity remains.
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 100%, with both 'user' and 'assistant' parameters described in the schema. The description itself adds no additional parameter-level meaning, so the baseline applies.
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 clear verb and resource: '记录对话' (log conversation). However, it does not differentiate this tool from siblings like log_chat or log_input, so it is clear but lacks sibling 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?
There is no guidance on when to use this tool versus alternatives like log_chat or log_input. The phrase '兼容原版本' hints at compatibility but does not explain selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
log_inputC
记录TRAE Builder的输入,包含上下文分析
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | 相关文件 | |
| input | Yes | 用户输入内容 | |
| source | No | 输入来源:builder, chat, terminal | |
| project | No | 当前项目 | |
| estimatedTokens | No | 预估token数量 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description is the sole source of behavioral information. It indicates a recording or logging action ('记录') and mentions 'context analysis,' but it does not disclose side effects, persistence, permissions, or whether the tool returns a value. This is minimal behavioral disclosure for a tool that presumably writes data.
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 a single compact sentence with no redundant words. It front-loads the action and object, though the trailing '包含上下文分析' is somewhat vague and could confuse rather than clarify.
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?
Despite full schema coverage, the description omits usage context, side effects, and expected return behavior; there is no output schema to fill these gaps. For a five-parameter tool with no annotations, this one-line description leaves an agent uncertain about invocation outcomes.
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?
All five parameters have descriptions in the schema (100% coverage), so the description does not need to restate them. The phrase '包含上下文分析' loosely relates to the files/context fields but adds no concrete parameter-level meaning. Baseline 3 applies.
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 '记录' (record) and target resource 'TRAE Builder的输入' (TRAE Builder input), making the core purpose clear. The appended '包含上下文分析' (includes context analysis) is slightly vague, and it does not explicitly distinguish this tool from sibling logging tools like log_conversation and log_chat, but the resource is specific enough.
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 no conditions for use, exclusions, or references to sibling tools. An agent cannot determine when to choose log_input over log_conversation, log_chat, or context from the text alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallC
基于当前上下文智能恢复相关记忆
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返回记录数量限制 | |
| query | Yes | 当前讨论的主题或问题 | |
| project | No | 当前项目 | |
| includeCompleted | No | 是否包含已完成的任务 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It hints at a read-like retrieval operation but does not state whether the tool only reads memory, whether it modifies or injects context, what memory sources it queries, or how '恢复' should be interpreted. The description adds too little behavioral context for a tool with no annotation safety signals.
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 a single short sentence with the action and target front-loaded, and it avoids verbosity. The word '智能' is somewhat vague filler, and the description is too terse to be excellent, but it is still concise and structurally clean.
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 memory-recall tool with four parameters, no annotations, and no output schema, the description should explain what is returned, what kinds of memories are searched, and how project or includeCompleted affect behavior. None of that is present, so an agent cannot fully predict the tool's behavior from the description alone.
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 100%, so the baseline is 3. The description adds minimal mapping by aligning '当前上下文' with the query parameter, but it does not enrich understanding of limit, project, or includeCompleted. It neither contradicts nor meaningfully supplements the 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 states a specific action, '恢复相关记忆' (retrieve relevant memories), qualified by '基于当前上下文', so an agent can infer it is a memory-recall tool for the current conversation. However, it does not explicitly say it searches stored memories and does not differentiate itself from siblings like get_history or context, so it stops short of a 5.
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?
There is no guidance on when to use this tool versus alternatives such as context, get_history, or log_*. The phrase '基于当前上下文' only vaguely implies relevance to the current conversation, but no conditions, exclusions, or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_settingC
保存用户设定
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | 设定键名 | |
| value | Yes | 设定值 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'save user settings', which implies mutation but does not disclose persistence behavior, overwrite semantics, side effects, errors, or return values. For a write operation, this is a significant gap that leaves the agent uncertain about consequences.
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 a single short sentence with no filler words. It is very concise and efficient, though it might border on under-specification. Every word is meaningful ('保存' = save, '用户' = user, '设定' = settings), so it earns a good score for conciseness.
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 that there are no annotations, no output schema, and only a minimal description, the tool is contextually incomplete. For a mutation tool, an agent needs to know what happens on save, whether the operation is idempotent, and what the response format is. The description and schema do not provide this, so the tool is not fully self-explanatory.
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 100% – both 'key' and 'value' have descriptions ('设定键名' and '设定值'). The description itself adds no extra meaning about parameter usage, allowed values, or format beyond what the schema already provides. Since the schema is complete, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '保存用户设定' (Save user settings) clearly indicates the verb 'save' and resource 'user settings', matching the tool name closely. It is not a pure tautology but adds minimal differentiation from siblings like get_setting, which is presumed to read settings. However, it does not specify what kind of settings or scope, so it lacks the specificity needed to distinguish it from other save-like operations.
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?
There is no guidance on when to use this tool versus alternatives. The sibling get_setting is implied as the read counterpart, but the description does not state that this tool is for writing or setting values, nor does it mention any prerequisites or conditions. The agent is left to infer usage solely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasksC
管理开发任务,跟踪完成状态
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | 操作类型 | |
| taskId | No | 任务ID(更新时需要) | |
| filters | No | 筛选条件 | |
| taskData | No | 任务数据 |
TDQS
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 only says 'manage' and 'track completion status,' which hints at read/write behavior but does not disclose side effects, permission needs, reversibility, or what happens on update/create. This is insufficient for a mutation-capable tool.
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 a single, front-loaded sentence with no redundant wording. It is concise, but the brevity sacrifices useful detail that would improve the agent's understanding, so it does not earn a 5.
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?
With no output schema and no annotations, the description needs to explain return values, action semantics, and usage requirements. It does none of this, leaving a complex four-action tool with nested objects under-explained. The agent must infer too much from the schema alone.
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 100% for top-level parameters, so the schema already documents the action enum, taskId, filters, and taskData. The description adds no parameter-specific meaning and does not clarify nested fields beyond what the schema provides, so baseline 3 is appropriate.
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 identifies a clear resource ('development tasks') and a goal (tracking completion status), which distinguishes it from sibling tools like files or log management. However, the verb 'manage' is generic and does not specify the available operations (create/update/list/stats), so it is clear at a high level but lacks precision.
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?
There is no guidance on when to use this tool versus alternatives, and no mention of excluded scenarios. The description only implies that it is for task management, but it does not explicitly differentiate from siblings or provide conditions for choosing between actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
10 tool updates
v2.0.0- First observed
context - First observed
files - First observed
get_history - First observed
get_setting - First observed
log_chat - First observed
log_conversation - First observed
log_input - First observed
recall - First observed
save_setting - First observed
tasks
TDQS
log_input、log_conversation、log_chat 三个工具在功能上高度重叠,尤其后两个几乎都是记录对话内容,代理难以准确区分。context、recall、tasks 等工具边界较清晰,但日志类工具的冗余拖累了整体辨识度。
大部分工具采用 log_、get_、save_ 等动词前缀,但 context、tasks、files 是纯名词形式,破坏了统一的 verb_noun 模式。log_conversation 与 log_chat 对同类操作命名也不一致,整体属于混用但尚可读的状态。
10 个工具对于记忆管理类服务器来说数量适中,没有过度膨胀。不过由于日志记录类工具重复,实际有效工具数量略低于表面数量,存在一定冗余。
覆盖了上下文状态管理、记忆召回、对话记录、历史读取、用户设定以及任务和文件管理,基本满足记忆服务器的核心需求。缺少显式的记忆删除或更新操作,但整体不会造成严重使用阻碍。
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
Persistent AI memory with semantic search, conflict detection, and ticketing.
Memory system for AI agents with semantic search. Store and recall memories with ease.
Memory for deep conversational context across any platform
Persistent memory for AI agents — log and recall conversation context over MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA local AI memory system that stores all conversations verbatim and organizes them into navigable structures. It provides 19 MCP tools for AI assistants to search and retrieve past decisions, debugging sessions, and architecture debates automatically.MIT
- AlicenseNot gradedqualityCmaintenanceIntelligent context-aware memory system for AI assistants that enables persistent memory, automatic development activity tracking, and intelligent information retrieval across conversations.12318MIT

JauMemory MCP Serverofficial
AlicenseAqualityCmaintenanceProvides persistent memory capabilities for AI assistants, enabling storage, recall, and analysis of information across conversations with intelligent memory management.2592MIT- AlicenseBqualityCmaintenanceProvides persistent memory for AI assistants, enabling storage, recall, and analysis of information across conversations with intelligent memory management.5092MIT
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/fangxh2013/trae-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server