Skip to content

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 16:37
· 44 commits to main since this release
ac86f3a

Added

  • memory_graph, an eleventh tool: reads the association edges around given
    concepts.
    Wraps the live POST /memory/graph (core's
    GraphRequestSchema/GraphResponseSchema). Input: seeds (1-20 concept
    names, each ≤200 chars, non-blank), depth (1-3, default 1), domain
    (an xroom: address reads that room's own association graph instead of
    yours — the ONE mechanism it shares with memory_read's domain; any
    other value is inert here, since hebbian_edges has no domain column),
    min_weight (≥0, honoured at every hop with no server override, 0
    included) and limit (1-500, default 100, mirrors memory_read's
    top_k bounds). Output: nodes (concept, degree — edges in THIS
    response touching it, not the concept's whole-store degree), edges
    (source, target, weight, valence, count, updated_at),
    truncated, and min_weight_applied (the floor actually used — the
    engine floors at 0.05 from every hop of a depth ≥2 walk when the caller
    left min_weight unset). Text rendering sorts edges by weight,
    strongest first, and states truncated/min_weight_applied as a
    trailing note when either is non-default; an unreadable 2xx (any of the
    four required response fields absent or mis-shaped, on any node or edge)
    answers isError rather than rendering a partial or fabricated graph,
    the same rule every other tool here applies to its own response shape.
    Annotations: readOnlyHint: true, destructiveHint: false,
    openWorldHint: false. The server instructions in src/teaching.ts now
    name it too (memory_graph shows links); fitting that mention under the
    800-char cap shortened two existing sentences there — see the comment
    above SERVER_INSTRUCTIONS. Every sentence that states the tool count
    (the README's stability-contract line, llms-install.md,
    docs/shared.md, the src/tools.ts headers) says eleven in this
    release; the tools.json entry below says how they are held to it.
  • tools.json, the tool list as a generated, published artifact.
    scripts/generate-tools-manifest.mjs registers the tools from the built
    server (dist/shared.js) on an in-memory McpServer, reads tools/list
    through a real client, and writes tools.json at the package root: name,
    title, description and annotations per tool, sorted by name, with the
    package version and the count. It is generated by npm run build
    (postbuild), shipped in the npm tarball (files) and reachable as
    @mnemoverse/mcp-memory-server/tools.json (exports), so a downstream
    copy of the surface can be derived from it or checked against it instead
    of typed by hand. The .mcpb manifest.json tools[] is now generated
    from this file (name and description, the MCPB shape) rather than from a
    hand list in src/configs/source.json, which had ten entries while the
    server registered eleven; the hand list is gone. A stale tools.json is
    caught by test/tools-manifest.test.ts on every PR and by the release
    workflow, which compares the committed file with the one the build
    regenerates (verify:configs only checks the other artifacts against it).
    test/tools-manifest.test.ts pins the committed file to a
    live in-memory listing, pins manifest.json to it, and checks that every
    sentence stating the tool count (README, llms-install.md,
    docs/shared.md, the src/tools.ts headers) states the count
    tools.json states, eleven in this release.

Removed

  • memory_feedback's atom_ids parameter, as announced. It was renamed
    to memory_ids in 0.11, kept as a deprecated alias for one full MINOR, and
    its removal moved from 0.12 to 0.13 (see 0.12.0). atom_ids is no longer
    a parameter: a call that passes it instead of memory_ids is refused as
    invalid arguments naming memory_ids, and nothing is sent; passed next to
    memory_ids, it is ignored like any unknown field on every tool here, and
    the ids come from memory_ids alone. With one name left, memory_ids is
    schema-required, and the handler's two refusals for "both names" and "no
    ids" are gone with it.
    The request to the engine is unchanged: it still carries the list as
    atom_ids, the engine's own field name.

  • npm: https://www.npmjs.com/package/@mnemoverse/mcp-memory-server

  • MCP Registry: https://registry.modelcontextprotocol.io/v0.1/servers?search=mnemoverse

What's Changed

  • feat(tools): memory_graph reads the association edges around given concepts by @izgorodin in #174
  • ci(release): start consumers' contours with a workflow dispatch (mnemoverse/ai-sdk) — for Σ review by @izgorodin in #177
  • feat(configs): tools.json, the generated tool manifest the .mcpb and every count derive from by @izgorodin in #179
  • ci(release): the wave tracker, a Wave vX.Y.Z issue per release ticked daily from live probes by @izgorodin in #178
  • feat(feedback)!: remove memory_feedback's atom_ids, as announced for 0.13 by @izgorodin in #183
  • release: 0.13.0 by @izgorodin in #182

Full Changelog: v0.12.1...v0.13.0