Memory MCP server tool surface audit

A96/100composite score
Token footprint
~2,360
Tools
9
Findings
10
Scanned

Engine mcp-surface-lint@0.3.3 · reported as memory-server v0.6.3

The Memory MCP server exposes 9 tools whose definitions cost approximately 2,360 tokens in every single conversation, whether or not any of them is ever called. Against the 19 static rules in the catalogue it scores 96 out of 100 — grade A — raising 10 scored findings in 2 of the six categories.

Surface is the strongest category at 100/100, and schemas the weakest at 80/100. It is catalogued here under Productivity and Docs, alongside other servers agents reach for in the same kind of work.

Token footprint

2,360 tokens is roughly 1% of a 200,000-token window, paid again on every request rather than once per session. That averages 262 tokens per tool definition, counted with the o200k_base encoding.

That lands exactly on the Productivity and Docs median of 2,360 tokens.

surface100
naming100
descriptions100
schemas80
annotations100
design93

Findings

Findings are listed by severity; the rule pages explain the reasoning in full.

`schemas/param-desc-missing` accounts for 4 findings. Undescribed parameters get filled by guesswork. Every property the model must populate deserves a sentence saying what it means and what shape it takes. On this surface it fires on `create_entities`, `create_relations` and `add_observations`, among 1 others.

`schemas/complexity-budget` accounts for 3 findings. Deeply nested inputs, very wide property lists, and stacked oneOf/anyOf force the model to solve a constraint puzzle before every call. Flatter, narrower inputs get filled correctly more often. On this surface it fires on `create_entities`, `add_observations` and `delete_observations`.

`design/list-no-limit` accounts for one finding. A list/search tool with no limit or pagination parameter can dump an unbounded payload into the context window. The caller must be able to ask for less. On this surface it fires on `search_nodes`.

Memory's surface raises 2 further rules — `design/overlap-cluster` and `schemas/loose` — listed in full below.

warn 10 findings

Findings that measurably degrade tool selection.

"search_nodes" implies list/search output but has no limit or pagination parameter — result size is unbounded.

A list/search tool with no limit or pagination parameter can dump an unbounded payload into the context window. The caller must be able to ask for less.

2 tools have overlapping descriptions (trigram Jaccard up to 0.61) — consolidation candidates.

Tools whose descriptions substantially overlap force the model to pick between near-synonyms — the classic cause of wrong-tool calls. Clusters are usually one tool wearing several names; consolidate with include-flags or a mode parameter.

delete_entities, delete_relations

Input schema nests 4 levels deep (budget 3).

Deeply nested inputs, very wide property lists, and stacked oneOf/anyOf force the model to solve a constraint puzzle before every call. Flatter, narrower inputs get filled correctly more often.

Input schema nests 4 levels deep (budget 3).

Deeply nested inputs, very wide property lists, and stacked oneOf/anyOf force the model to solve a constraint puzzle before every call. Flatter, narrower inputs get filled correctly more often.

schemas/complexity-budgetdelete_observations
Input schema nests 4 levels deep (budget 3).

Deeply nested inputs, very wide property lists, and stacked oneOf/anyOf force the model to solve a constraint puzzle before every call. Flatter, narrower inputs get filled correctly more often.

schemas/looseread_graph
Bare "type: object" with no properties at /inputSchema — the model has nothing to go on.

Loose schemas (bare objects, untyped arrays, open additionalProperties) turn schema validation off exactly where the model is most likely to hallucinate argument shapes.

Parameter "entities" has no description.

Undescribed parameters get filled by guesswork. Every property the model must populate deserves a sentence saying what it means and what shape it takes.

Parameter "relations" has no description.

Undescribed parameters get filled by guesswork. Every property the model must populate deserves a sentence saying what it means and what shape it takes.

Parameter "observations" has no description.

Undescribed parameters get filled by guesswork. Every property the model must populate deserves a sentence saying what it means and what shape it takes.

schemas/param-desc-missingdelete_observations
Parameter "deletions" has no description.

Undescribed parameters get filled by guesswork. Every property the model must populate deserves a sentence saying what it means and what shape it takes.

What this surface does well

4 of the six categories come through clean: surface, naming, descriptions and annotations. In practice that means the surface stays inside a sensible tool and token budget, the tool names follow one convention end to end, every tool carries a description long enough to disambiguate it and read and write operations are machine-distinguishable before a client runs them.

Tool inventory

`search_nodes` is the most expensive definition at 321 tokens — about 14% of the whole surface — against 164 for `delete_entities`. Every tool carries a description, ranging from 31 to 106 characters.

All 9 declare annotations, so a client can tell a read from a write before running one. Input schemas average 1 top-level parameters and nest 4 levels deep at their worst, with 1 tool taking no input at all.

All 9 tools as published, heaviest first. Token counts use the o200k_base encoding and are approximate.

Every tool on this surface with its token cost and schema shape.
ToolTokensDescriptionParamsRequiredDepthAnnotations
search_nodes32156 chars111yes
open_nodes32057 chars112yes
create_entities29251 chars114yes
create_relations292106 chars113yes
read_graph28931 chars000yes
add_observations24764 chars114yes
delete_relations22350 chars113yes
delete_observations21065 chars114yes
delete_entities16480 chars112yes

How this compares

Memory ranks 2 of 3 scanned Productivity and Docs servers, exactly on the category median of 96.

The closest comparisons in this directory are Microsoft Learn, Notion and Brave Search, which sit nearest on score and face the same kind of surface-design pressure.

Category
Productivity and Docs
Rank in category
2
Category median score
96
Category median tokens
2,360
Want this surface fixed, not just measured?

A fix plan turns these findings into an ordered set of changes with the token saving of each one.

Get a fix plan

This page is a static analysis of Memory's published tools/list surface on the date shown. It is not a security review, a performance benchmark, or a judgement of the product behind the surface. Read how the score is computed, or browse every audited server.