ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

agentmemory MCP 工具完全参考:54 个记忆工具的 Core 集、参数详解与调用实战

agentmemory MCP 工具完全参考:54 个记忆工具的 Core 集、参数详解与调用实战 agentmemory MCP 工具完全参考54 个记忆工具的 Core 集、参数详解与调用实战【免费下载链接】agentmemory#1 Persistent memory for AI coding agents based on real-world benchmarks项目地址: https://gitcode.com/GitHub_Trending/age/agentmemoryagentmemory 将全部记忆能力以 MCPModel Context Protocol工具的形式暴露给 AI 编码 Agent让 Agent 可以在会话中直接保存、检索、整理与治理长期记忆。本文以仓库内的权威工具索引 plugin/skills/agentmemory-mcp-tools/REFERENCE.md 为主体逐一讲解全部 54 个工具的参数语义、8 个核心Core工具的选取逻辑并结合 src/mcp/tools-registry.ts 与 src/mcp/server.ts 的源码揭示底层调用链与参数校验规则读完即可按需选用正确的记忆工具并理解其背后的实现原理。一、agentmemory 的 MCP 工具面54 个工具、两档可见性agentmemory 通过 MCP 暴露其完整能力集共54 个 MCP 工具。其中 8 个属于精简核心集--tools core或环境变量AGENTMEMORY_TOOLScore其余工具在--tools all默认下全部加载。这一划分在源码中有明确对应核心集由ESSENTIAL_TOOLS集合定义getVisibleTools()依据AGENTMEMORY_TOOLS决定最终暴露哪些工具见 src/mcp/tools-registry.tsexport const ESSENTIAL_TOOLS new Set([ memory_save, memory_recall, memory_consolidate, memory_smart_search, memory_sessions, memory_diagnose, memory_lesson_save, memory_reflect, ]); export function getVisibleTools(): McpToolDef[] { const mode process.env[AGENTMEMORY_TOOLS] || all; if (mode core) return getAllTools().filter((t) ESSENTIAL_TOOLS.has(t.name)); return getAllTools(); }从源码注释可以确认默认值从早期的core仅 8 个工具切换为all完整 54 工具面旧默认值会让 OpenCode / Claude Code 用户在不知情的情况下只看到 8 个工具无法感知其余能力的存在。需要精简面时仍可通过AGENTMEMORY_TOOLScore恢复。每个工具定义都遵循统一结构McpToolDefname工具名、description用途描述、inputSchema参数类型与必填约束见 src/mcp/tools-registry.ts。工具表本身并非手写维护scripts/skills/generate.ts中的tools()函数遍历getAllTools()自动生成 Markdown 表格并写入 REFERENCE.md 的AUTOGEN:tools区块因此参考表与注册表永远不会漂移scripts/skills/generate.ts。二、快速上手保存与召回Save then Recall配套技能文档 plugin/skills/agentmemory-mcp-tools/SKILL.md 给出的最短实战路径是保存后召回两步调用memory_save传入content要记住的洞察、concepts逗号分隔的关键词、files逗号分隔的相关文件路径之后用memory_smart_search传入query与limit即可检索。该工具执行的是混合检索BM25 关键词 向量语义 图扩展graph-expanded三路并查。memory_save在服务端src/mcp/server.ts的落地细节值得注意content为必填type默认fact可选pattern / preference / architecture / bug / workflow / factconcepts、files均按逗号拆分并过滤空项project应传稳定的规范项目标识slug、UUID 或注册表键源码注释明确强调不要使用文件系统路径或临时展示名它们会随机器变化并静默破坏项目作用域隔离agentId用于将记忆限定到某个 Agent 作用域省略则为共享记忆最终转发给内部函数mem::remember落库。三、工具族总览六大家族SKILL.md 将全部工具划分为六大家族方便按任务定位捕获Capturememory_save、memory_observe流程、memory_compress_file检索Retrievememory_smart_search、memory_recall、memory_file_history、memory_timeline、memory_vision_search会话与提交Sessions and commitsmemory_sessions、memory_commits、memory_commit_lookup知识与图谱Knowledge and graphmemory_lesson_save、memory_lesson_recall、memory_graph_query、memory_relations、memory_patterns、memory_crystallize结构化槽位Structured slotsmemory_slot_create、memory_slot_append、memory_slot_get、memory_slot_list、memory_slot_replace、memory_slot_delete治理与健康Governance and healthmemory_governance_delete、memory_audit、memory_verify、memory_heal、memory_diagnose四、完整工具参考表54 个以下为 REFERENCE.md 自动生成并完整继承的全量工具表。*标记必填参数Core列为yes表示属于精简核心集。ToolCoreParametersPurposememory_action_createtitle*: string,description: string,priority: number,project: string,tags: string,parentId: string,requires: stringCreate an actionable work item with typed dependencies. Actions track what agents need to do and how work items relate to each other.memory_action_updateactionId*: string,status: string,result: string,priority: numberUpdate an actions status, priority, or details. Set status to done to complete it and unblock dependent actions.memory_auditoperation: string,limit: numberView the audit trail of memory operations.memory_checkpointoperation*: string,name: string,checkpointId: string,status: string,type: string,linkedActionIds: stringCreate or resolve an external checkpoint (CI result, approval, deploy status) that gates action progress.memory_claude_bridge_syncdirection*: stringSync memory state to/from Claude Codes native MEMORY.md file.memory_commit_lookupsha*: stringLook up the agent session(s) that produced a specific git commit, given its SHA. Returns the commit metadata and linked sessions.memory_commitsbranch: string,repo: string,limit: numberList recent commits linked to agent sessions, optionally filtered by branch or repo.memory_compress_filefilePath*: stringCompress a markdown file to reduce token usage while preserving headings, URLs, and code blocks. Creates a .original.md backup before writing.memory_consolidateyestier: stringRun the 4-tier memory consolidation pipeline (working - episodic - semantic - procedural).memory_crystallizeactionIds*: string,project: string,sessionId: stringCompress completed action chains into compact crystal digests using LLM summarization. Extracts narrative, key outcomes, files affected, and lessons.memory_diagnoseyescategories: stringRun health checks across all subsystems (actions, leases, sentinels, sketches, signals, sessions, memories, mesh). Identifies stuck, orphaned, and inconsistent state.memory_exportnoneExport all memory data as JSON.memory_facet_querymatchAll: string,matchAny: string,targetType: stringQuery targets by facet tags with AND/OR logic. Find all actions tagged priority:urgent AND team:backend.memory_facet_tagtargetId: string,targetType: string,dimension: string,value: stringAttach a structured tag (dimension:value) to an action, memory, or observation for multi-dimensional categorization.memory_file_historyfiles*: string,sessionId: stringGet past observations about specific files.memory_frontierproject: string,agentId: string,limit: numberGet all unblocked actions ranked by priority and urgency. Returns the frontier of actionable work with no unsatisfied dependencies.memory_governance_deletememoryIds*: string,reason: stringDelete specific memories with audit trail.memory_graph_querystartNodeId: string,nodeType: string,maxDepth: number,query: stringQuery the knowledge graph for entities and relationships.memory_healcategories: string,dryRun: stringAuto-fix all fixable issues found by diagnostics. Unblocks stuck actions, expires stale leases, cleans up orphaned data.memory_insight_listproject: string,minConfidence: number,limit: numberList synthesized insights, higher-order observations derived from patterns across memories, lessons, and crystals.memory_leaseactionId: string,agentId: string,operation*: string,result: string,ttlMs: numberAcquire, release, or renew an exclusive lease on an action. Prevents multiple agents from working on the same thing.memory_lesson_deletelessonId*: stringSoft-delete a lesson by id. Deleted lessons are excluded from recall and list; re-saving the same content creates a fresh lesson.memory_lesson_recallquery*: string,project: string,minConfidence: number,limit: numberSearch lessons by query. Returns lessons sorted by confidence and recency. Use to check what the agent has learned before making decisions.memory_lesson_saveyescontent*: string,context: string,confidence: number,project: string,tags: stringSave a lesson learned from this session. Lessons have confidence scores that strengthen when reinforced and decay when not used. Duplicate content auto-strengthens the existing lesson.memory_mesh_syncpeerId: string,direction: stringSync memories and actions with peer agentmemory instances for multi-agent collaboration.memory_nextproject: string,agentId: stringGet the single most important next action to work on. Combines dependency resolution, priority, and recency into a score.memory_obsidian_exportvaultDir: string,types: stringExport memories, lessons, and crystals as Obsidian-compatible Markdown files with YAML frontmatter and wikilinks for graph view.memory_patternsproject: stringDetect recurring patterns across sessions.memory_profileproject*: string,refresh: stringUser/project profile with top concepts and file patterns.memory_recallyesquery*: string,limit: number,format: string,token_budget: numberSearch past session observations for relevant context. Use when you need to recall what happened in previous sessions, find past decisions, or look up how a file was modified before.memory_reflectyesproject: string,maxClusters: numberTraverse the knowledge graph, group related memories by concept clusters, and synthesize higher-order insights via LLM. Returns new and reinforced insights.memory_relationsmemoryId*: string,maxHops: number,minConfidence: numberQuery the memory relationship graph.memory_routine_runroutineId*: string,project: string,initiatedBy: stringInstantiate a frozen workflow routine, creating actions for each step with proper dependencies.memory_saveyescontent*: string,type: string,concepts: string,files: string,project: string,agentId: stringExplicitly save an important insight, decision, or pattern to long-term memory.memory_sentinel_createname: string,type: string,config: string,linkedActionIds: string,expiresInMs: numberCreate an event-driven sentinel that watches for conditions (webhook, timer, threshold, pattern, approval) and auto-unblocks gated actions when triggered.memory_sentinel_triggersentinelId*: string,result: stringExternally fire a sentinel, providing an optional result payload. Unblocks any gated actions.memory_sessionsyesnoneList recent sessions with their status and observation counts.memory_signal_readagentId*: string,unreadOnly: string,threadId: string,limit: numberRead messages for an agent. Marks delivered messages as read.memory_signal_sendfrom: string,to: string,content: string,type: string,replyTo: stringSend a message to another agent or broadcast. Supports threading, typed messages, and TTL expiration.memory_sketch_createtitle*: string,description: string,expiresInMs: number,project: stringCreate an ephemeral action graph for exploratory work. Auto-expires after TTL. Can be promoted to permanent actions or discarded.memory_sketch_promotesketchId*: string,project: stringPromote a sketchs ephemeral actions to permanent actions. Makes the exploratory work official.memory_slot_appendlabel: string,text: stringAppend text to an existing slot. Fails with 413 if the append would exceed the slots sizeLimit, agent must compact via memory_slot_replace first.memory_slot_createlabel*: string,content: string,sizeLimit: number,description: string,pinned: string,scope: stringCreate a new slot. Reject if a slot with the same label already exists.memory_slot_deletelabel*: stringDelete a slot. Seeded default slots can be deleted unless marked readOnly.memory_slot_getlabel*: stringRead a single slot by label.memory_slot_listnoneList all memory slots (pinned project global). Slots are editable, size-limited memory units the agent can read and modify across sessions.memory_slot_replacelabel: string,content: stringReplace slot content in place. Fails if content exceeds sizeLimit.memory_smart_searchyesquery*: string,expandIds: string,limit: numberHybrid semantickeyword search with progressive disclosure.memory_snapshot_createmessage: stringCreate a git-versioned snapshot of current memory state.memory_team_feedlimit: numberGet recent shared items from all team members.memory_team_shareitemId: string,itemType: stringShare a memory or observation with team members.memory_timelineanchor*: string,project: string,before: number,after: numberChronological observations around an anchor point.memory_verifyid*: stringVerify a memory or observation by tracing its citation chain back to source observations and session context. Returns provenance information including confidence scores.memory_vision_searchqueryText: string,queryImageRef: string,queryImageBase64: string,topK: number,sessionId: stringCross-modal image search via CLIP embeddings. Pass queryText to find screenshots matching a description, or queryImageBase64/queryImageRef to find similar images. Requires AGENTMEMORY_IMAGE_EMBEDDINGStrue.五、8 个 Core 工具逐个解析核心集覆盖写入—检索—整理—健康的最小闭环是零配置即可用的底座。以下结合 src/mcp/tools-registry.ts 中的 schema 逐一说明参数默认值与取值范围memory_save写content必填type支持pattern / preference / architecture / bug / workflow / factconcepts与files均为逗号分隔字符串project与agentId决定作用域。memory_recall读query必填limit默认 10format取full / compact / narrative之一默认fulltoken_budget为可选的正整数预算用于裁剪返回结果。服务端会强制校验格式白名单与预算为正整数src/mcp/server.tsnarrative格式下直接返回 LLM 生成的叙事文本而非 JSON。memory_consolidate整理运行四层记忆整合流水线 working - episodic - semantic - procedural可选tier指定目标层。底层转发mem::consolidate-pipeline未开启时返回提示需设置CONSOLIDATION_ENABLEDtrue。memory_smart_search混合检索query必填expandIds为逗号分隔的观测 ID用于渐进式展开最多 20 个limit被钳制在 1100默认 10。底层走mem::smart-search即 BM25 向量 图扩展三路混合。memory_sessions会话列表无参数直接枚举 KV 中的会话记录src/mcp/server.ts。memory_diagnose健康检查categories逗号分隔覆盖 actions、leases、sentinels、sketches、signals、sessions、memories、mesh 八个子系统识别卡死、孤儿与不一致状态。memory_lesson_save经验沉淀content必填confidence初始 0.01.0默认 0.5重复内容会自动增强已有 lesson服务端以source: manual标记手动保存src/mcp/server.ts。memory_reflect洞察合成遍历知识图谱按概念簇分组并经由 LLM 合成高阶洞察maxClusters默认 10、上限 20结果可通过memory_insight_list查询。六、进阶功能族源码级解析6.1 检索族recall、file history、timeline、vision searchmemory_file_history要求files非空支持逗号分隔多文件可传sessionId排除当前会话底层触发mem::file-context返回历史上下文文本src/mcp/server.ts。memory_timeline以anchorISO 日期或关键词为锚点before/after默认各取 5 条观测底层走mem::timelinesrc/mcp/server.ts。memory_vision_search支持三种查询方式queryText用文字描述找截图、queryImageRef用已存储图片的绝对路径、queryImageBase64直接传 base64 字节或 data URL三者至少提供一个。topK默认 10、上限 50。该工具依赖AGENTMEMORY_IMAGE_EMBEDDINGStrue开启 CLIP 跨模态嵌入。6.2 动作与依赖族action、lease、frontier、next动作系统把待办变成带类型依赖的有向图memory_action_createtitle必填priority取值 11010 最高requires中的 action ID 会被解析为{type: requires, targetActionId}边tags逗号分隔src/mcp/server.ts。memory_action_updatestatus取pending / active / done / blocked / cancelled设为done会解除依赖它的后续动作。memory_leaseoperation必填只能是acquire / release / renew三者之一服务端对非法值直接返回 400ttlMs默认 10 分钟、上限 1 小时用于防止多 Agent 抢同一动作。memory_frontier/memory_next前者返回所有无未满足依赖的可执行动作并按优先级与紧迫度排序默认 20 条后者给出加权打分依赖解析 优先级 新近度后的唯一下一件事。6.3 哨兵与检查点事件驱动的门控memory_sentinel_create的type支持webhook / timer / threshold / pattern / approval / customconfig可传 JSON 字符串或对象服务端会尝试JSON.parse非法 JSON 直接 400典型配置形如{durationMs}timer、{metric, operator, value}threshold、{pattern}pattern、{path}webhook。哨兵触发memory_sentinel_trigger后自动解除其门控的动作。memory_checkpoint的operation为create / resolve / listcreate 需name与linkedActionIdstype取ci / approval / deploy / external / timerresolve 需checkpointId与statuspassed / failed。这使 CI 结果、人工审批、部署状态等外部事件成为动作进度门控。6.4 槽位族大小受限的可编辑记忆单元槽位slot是 Agent 可跨会话读写的小型记忆单元memory_slot_createlabel必须小写、以字母开头、匹配[a-z0-9_]sizeLimit默认 2000 字符、硬上限 20000pinned默认true设为false可排除出上下文注入scope取project默认或global跨项目共享。memory_slot_append若追加后超出sizeLimit会以413失败Agent 需先用memory_slot_replace压缩内容再追加——这是刻意设计的防膨胀机制。memory_slot_replace/memory_slot_get/memory_slot_list/memory_slot_delete分别负责整体替换、单读、枚举pinned project global与删除默认槽位除非标记 readOnly 均可删除。6.5 治理与健康audit、verify、governance_delete、healmemory_audit查询操作审计轨迹可按operation过滤limit默认 50。memory_verify沿引用链回溯到源观测与会话上下文返回包含置信度的溯源信息。memory_governance_delete带审计轨迹地删除记忆memoryIds逗号分隔、reason记录原因。memory_heal自动修复诊断发现的可修复问题解卡动作、过期租约、孤儿数据dryRuntrue时只报告不修复是上线前的安全姿势。七、MCP 协议端点与调用链所有工具调用最终都落在 src/mcp/server.ts 注册的两个核心 HTTP 端点上REST 形态的 MCP 传输端点方法作用/agentmemory/mcp/toolsGET返回当前可见的工具清单受AGENTMEMORY_TOOLS影响/agentmemory/mcp/callPOST按namearguments调用具体工具/agentmemory/mcp/resourcesGET列出 MCP 资源/agentmemory/mcp/resources/readPOST按 URI 读取资源/agentmemory/mcp/promptsGET列出 MCP 提示模板/agentmemory/mcp/prompts/getPOST按名称获取提示模板调用链的形态是参数校验 - 白名单转发 - 内部函数触发mcp::tools::call先对每个工具做必填与取值校验如memory_recall的 format 白名单、memory_lease的 operation 白名单再仅转发已文档化的字段到mem::*内部函数如mem::search、mem::remember、mem::smart-search。这意味着未知字段会被静默丢弃——SKILL.md 的工作流提示也强调只传文档化字段。此外MCP 面还暴露 6 个资源resources与 3 个提示模板prompts资源agentmemory://status会话数/记忆数/健康状态、agentmemory://project/{name}/profile项目画像、agentmemory://project/{name}/recent最近 5 个会话摘要、agentmemory://memories/latest最新 10 条记忆、agentmemory://graph/stats知识图谱节点/边统计、agentmemory://team/{id}/profile团队画像。提示recall_context按任务描述搜索观测与记忆拼装上下文需task_description、session_handoff生成跨会话交接摘要需session_id、detect_patterns跨会话模式检测可选project。这些资源与提示的定义同样位于 src/mcp/server.ts其中recall_context在AGENTMEMORY_AGENT_SCOPEisolated模式下会对记忆列表做 Agent 级过滤fail-closed避免跨 Agent 泄漏。八、工具选择工作流SKILL.md 给出了三条选型纪律也是 54 个工具的正确打开方式选最窄的工具开放召回优先memory_smart_search已有明确查询用memory_recall只需要会话清单用memory_sessions。调用前查参数精确参数名与必填项以上方完整参考表或 plugin/skills/agentmemory-mcp-tools/REFERENCE.md为准。只传文档化字段REST 处理器对字段做白名单处理未知字段会被丢弃。可交互式的动作类技能remember、recall、recap、handoff、forget本质上是对最常用工具的封装适合端侧用户直接调用。九、与 REST API、配置的关系REST 即主面MCP 端点只是 src/triggers/api.ts 注册的 130 个 HTTP 端点中的一部分完整清单见 plugin/skills/agentmemory-rest-api/REFERENCE.md。所有 MCP 工具都能找到等价的 HTTP 路径例如memory_save对应POST /agentmemory/remembermemory_smart_search对应POST /agentmemory/smart-search。鉴权设置AGENTMEMORY_SECRET后REST/MCP 调用需携带Authorization: Bearer $AGENTMEMORY_SECRET服务端用常量时间比较校验src/mcp/server.ts未设置时 localhost 默认开放。工具可见性AGENTMEMORY_TOOLSall默认或core精简集更多环境变量见 plugin/skills/agentmemory-config/REFERENCE.md共识别 37 个AGENTMEMORY_*变量。功能开关部分工具依赖特性开关未开启时服务端返回可读提示例如memory_vision_search需AGENTMEMORY_IMAGE_EMBEDDINGStrue、memory_graph_query需GRAPH_EXTRACTION_ENABLEDtrue、memory_consolidate需CONSOLIDATION_ENABLEDtrue、memory_team_share/feed需设置TEAM_ID与USER_ID、memory_snapshot_create需SNAPSHOT_ENABLEDtrue、memory_claude_bridge_sync需CLAUDE_MEMORY_BRIDGEtrue。十、继续深入工具表生成逻辑scripts/skills/generate.tsnpm run skills:gen重新生成--check校验漂移工具定义与核心集src/mcp/tools-registry.tsMCP 端点实现src/mcp/server.ts使用指引与选型建议plugin/skills/agentmemory-mcp-tools/SKILL.mdHTTP 等价接口plugin/skills/agentmemory-rest-api/REFERENCE.md特性开关与环境变量plugin/skills/agentmemory-config/REFERENCE.md简而言之记住 8 个 Core 工具save / recall / consolidate / smart_search / sessions / diagnose / lesson_save / reflect就能完成最小记忆闭环需要动作编排、多 Agent 协作、事件门控、图像检索或治理审计时再按工具族定位到其余 46 个工具并以前文完整表格中的参数为准。【免费下载链接】agentmemory#1 Persistent memory for AI coding agents based on real-world benchmarks项目地址: https://gitcode.com/GitHub_Trending/age/agentmemory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表