Context
Release classification: post-release / boardless (MCP context-budget reduction; not a v13 release blocker).
#9953 is the broad MCP progressive-disclosure parent. #13268 / PR #13269 delivered the shared ToolService compact-description + lazy handbook seam and the file-system first slice. #13734 / PR #13735 migrated Knowledge Base, and #13736 / PR #13737 migrated GitHub Workflow.
Fresh measurement on 2026-06-21 shows memory-core is the next remaining primary MCP description surface after GitHub Workflow: 33 tools, about 8,475 always-loaded description characters. The largest operation descriptions are resume_session (883 chars), who_is_online (860 chars), add_memory (505 chars), record_turn_presence (496 chars), and query_recent_turns (465 chars).
Live latest-open sweep: checked the latest 20 open issues on 2026-06-21; no equivalent Memory Core MCP handbook migration leaf found. Exact live search for memory-core "tool handbook" found only the existing Knowledge Base and GitHub Workflow leaves plus broad parent #9953 / parent epic #9950. A2A recency sweep: latest 30 messages had no competing #9953 / memory-core handbook claim.
The Problem
ai/mcp/server/memory-core/openapi.yaml carries detailed operational guidance directly inside MCP operation descriptions. That detail is useful for high-risk Memory Core operations such as session resume validation, live availability projection, final-turn memory writes, and A2A mailbox operations. But today it is projected directly into tools/list, so every client pays the context cost even when it only needs routing-level descriptions.
The shared progressive-disclosure seam already exists. Memory Core should follow the same migration path as the completed File System, Knowledge Base, and GitHub Workflow slices: compact tools/list, keep detailed guidance available through get_mcp_tool_handbook, and preserve operation schemas/annotations/service mapping.
The Architectural Reality
ai/mcp/ToolService.mjs already supports compactToolDescriptions, toolListDescriptionMaxLength, and getToolHandbook().
ai/mcp/server/memory-core/toolService.mjs defines a plain serviceMapping for 33 OpenAPI operation ids and instantiates the shared ToolService without compact descriptions today.
ai/mcp/server/memory-core/openapi.yaml is the Memory Core MCP contract and currently does not expose get_mcp_tool_handbook.
test/playwright/unit/ai/mcp/server/McpServerListToolsSmoke.spec.mjs verifies cross-server tools/list shape and serviceMapping alignment.
test/playwright/unit/ai/mcp/validation/OpenApiValidatorCompliance.spec.mjs catches OpenAPI schema regressions across active MCP servers.
The Fix
Migrate Memory Core onto the existing handbook seam:
- Add
get_mcp_tool_handbook to the Memory Core OpenAPI contract and service mapping.
- Enable compact list descriptions for the Memory Core server with the existing
ToolService options.
- Add short routing summaries for the largest / most frequently loaded Memory Core tool descriptions.
- Preserve full detailed guidance through lazy-loaded handbook content using existing OpenAPI descriptions or dedicated handbook metadata where needed.
- Extend focused MCP smoke coverage to prove compact projection, valid handbook lookup, missing handbook lookup, and OpenAPI/serviceMapping compatibility.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback / Edge Case |
Docs |
Evidence |
Memory Core tools/list descriptions |
#9953 + #13268 shared ToolService seam |
Listed Memory Core tools expose short routing descriptions capped by toolListDescriptionMaxLength. |
Tools without x-neo-tool-summary fall back to OpenAPI summary through ToolService.buildToolListDescription(). |
ai/mcp/server/memory-core/openapi.yaml |
Unit smoke test asserts listed Memory Core descriptions are compact. |
get_mcp_tool_handbook on Memory Core MCP |
#9953 + prior File System / Knowledge Base / GitHub Workflow migration pattern |
The server exposes a normal MCP tool returning detailed handbook content for one operation id. |
Unknown ids return the structured TOOL_NOT_FOUND payload from ToolService.getToolHandbook(). |
OpenAPI /tool/handbook operation |
Unit smoke test covers valid and missing handbook lookups. |
| Memory Core service mapping and schemas |
Existing toolService.mjs + OpenAPI compliance tests |
The handbook operation is mapped like every other Memory Core MCP operation and preserves existing schemas/annotations. |
ServiceMapping / OpenAPI drift fails closed in existing smoke/compliance coverage. |
test/playwright/unit/ai/mcp/server/McpServerListToolsSmoke.spec.mjs |
Focused smoke + OpenAPI compliance tests stay green. |
Decision Record impact
Aligned with #10757, #13268, #13734, and #13736. No ADR change required.
Acceptance Criteria
Out of Scope
- Migrating
neural-link or gitlab-workflow.
- Closing #9953.
- Changing the shared
ToolService API created by #13268.
- Changing Memory Core tool semantics, auth/session behavior, recorder behavior, or A2A mailbox semantics.
Avoided Traps
- Do not add a second handbook mechanism. Reuse
ToolService.getToolHandbook().
- Do not weaken any Memory Core write/final-turn semantics while adding the read-only handbook route.
- Do not remove schemas, annotations, or tool names from
tools/list; the context win is description compaction only.
- Do not claim the broad #9953 parent is complete from this single server slice.
Related
Parent: #9953
Related: #10757, #13268, #13734, #13736, PR #13269, PR #13735, PR #13737
Origin Session ID: 747ae298-5a6e-4416-b90d-7786e184aa54
Retrieval Hint: Memory Core MCP get_mcp_tool_handbook compact tools/list descriptions #9953 #13268 #13734 #13736
Context
Release classification: post-release / boardless (MCP context-budget reduction; not a v13 release blocker).
#9953 is the broad MCP progressive-disclosure parent.
#13268/ PR#13269delivered the sharedToolServicecompact-description + lazy handbook seam and thefile-systemfirst slice.#13734/ PR#13735migrated Knowledge Base, and#13736/ PR#13737migrated GitHub Workflow.Fresh measurement on 2026-06-21 shows
memory-coreis the next remaining primary MCP description surface after GitHub Workflow: 33 tools, about 8,475 always-loaded description characters. The largest operation descriptions areresume_session(883 chars),who_is_online(860 chars),add_memory(505 chars),record_turn_presence(496 chars), andquery_recent_turns(465 chars).Live latest-open sweep: checked the latest 20 open issues on 2026-06-21; no equivalent Memory Core MCP handbook migration leaf found. Exact live search for
memory-core "tool handbook"found only the existing Knowledge Base and GitHub Workflow leaves plus broad parent #9953 / parent epic #9950. A2A recency sweep: latest 30 messages had no competing #9953 / memory-core handbook claim.The Problem
ai/mcp/server/memory-core/openapi.yamlcarries detailed operational guidance directly inside MCP operation descriptions. That detail is useful for high-risk Memory Core operations such as session resume validation, live availability projection, final-turn memory writes, and A2A mailbox operations. But today it is projected directly intotools/list, so every client pays the context cost even when it only needs routing-level descriptions.The shared progressive-disclosure seam already exists. Memory Core should follow the same migration path as the completed File System, Knowledge Base, and GitHub Workflow slices: compact
tools/list, keep detailed guidance available throughget_mcp_tool_handbook, and preserve operation schemas/annotations/service mapping.The Architectural Reality
ai/mcp/ToolService.mjsalready supportscompactToolDescriptions,toolListDescriptionMaxLength, andgetToolHandbook().ai/mcp/server/memory-core/toolService.mjsdefines a plainserviceMappingfor 33 OpenAPI operation ids and instantiates the sharedToolServicewithout compact descriptions today.ai/mcp/server/memory-core/openapi.yamlis the Memory Core MCP contract and currently does not exposeget_mcp_tool_handbook.test/playwright/unit/ai/mcp/server/McpServerListToolsSmoke.spec.mjsverifies cross-servertools/listshape and serviceMapping alignment.test/playwright/unit/ai/mcp/validation/OpenApiValidatorCompliance.spec.mjscatches OpenAPI schema regressions across active MCP servers.The Fix
Migrate Memory Core onto the existing handbook seam:
get_mcp_tool_handbookto the Memory Core OpenAPI contract and service mapping.ToolServiceoptions.Contract Ledger Matrix
tools/listdescriptions#13268sharedToolServiceseamtoolListDescriptionMaxLength.x-neo-tool-summaryfall back to OpenAPIsummarythroughToolService.buildToolListDescription().ai/mcp/server/memory-core/openapi.yamlget_mcp_tool_handbookon Memory Core MCPTOOL_NOT_FOUNDpayload fromToolService.getToolHandbook()./tool/handbookoperationtoolService.mjs+ OpenAPI compliance teststest/playwright/unit/ai/mcp/server/McpServerListToolsSmoke.spec.mjsDecision Record impact
Aligned with #10757, #13268, #13734, and #13736. No ADR change required.
Acceptance Criteria
get_mcp_tool_handbookthrough normal MCP tool dispatch.tools/listemits compact routing descriptions while preserving schemas, annotations, and existing serviceMapping behavior.Out of Scope
neural-linkorgitlab-workflow.ToolServiceAPI created by#13268.Avoided Traps
ToolService.getToolHandbook().tools/list; the context win is description compaction only.Related
Parent: #9953
Related: #10757, #13268, #13734, #13736, PR #13269, PR #13735, PR #13737
Origin Session ID: 747ae298-5a6e-4416-b90d-7786e184aa54
Retrieval Hint:
Memory Core MCP get_mcp_tool_handbook compact tools/list descriptions #9953 #13268 #13734 #13736