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.
Microsoft Learn MCP server tool surface audit
- Token footprint
- ~973
- Tools
- 3
- Findings
- 1
- Scanned
Every conversation with the Microsoft Learn MCP server begins with 3 tool definitions already in context — about 973 tokens of it. MCP Surface Lint scores that surface 100 out of 100 (grade A), with 1 scored findings spread across 1 of the six rule categories.
Its strongest category is surface at 100/100; the weakest is design at 97/100. It is catalogued here under Productivity and Docs, alongside other servers agents reach for in the same kind of work.
Token footprint
At 973 tokens the surface takes about 0% of a 200,000-token context window, and it takes it on every turn — this is rent, not a one-off cost. That averages 324 tokens per tool definition, counted with the o200k_base encoding.
Compared with the Productivity and Docs median of 2,360 tokens, Microsoft Learn is roughly 59% below.
Findings
Every finding below names the rule behind it and the tool it fired on.
`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 `microsoft_code_sample_search`.
warn 1 finding
Findings that measurably degrade tool selection.
What this surface does well
5 of the six categories come through clean: surface, naming, descriptions, schemas 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, the input schemas are typed tightly enough to constrain what a model sends and read and write operations are machine-distinguishable before a client runs them.
Tool inventory
Cost is concentrated in `microsoft_code_sample_search`: 396 tokens, some 41% of everything Microsoft Learn ships, while `microsoft_docs_fetch` costs 277. Every tool carries a description, ranging from 716 to 1,065 characters.
All 3 declare annotations, so a client can tell a read from a write before running one. Input schemas average 1 top-level parameters and nest 1 level deep at their worst.
All 3 tools as published, heaviest first. Token counts use the o200k_base encoding and are approximate.
| Tool | Tokens | Description | Params | Required | Depth | Annotations |
|---|---|---|---|---|---|---|
microsoft_code_sample_search | 396 | 894 chars | 2 | 1 | 1 | yes |
microsoft_docs_search | 298 | 716 chars | 1 | 0 | 1 | yes |
microsoft_docs_fetch | 277 | 1065 chars | 1 | 1 | 1 | yes |
How this compares
Microsoft Learn ranks 1 of 3 scanned Productivity and Docs servers, 4 points above the category median of 96.
The closest comparisons in this directory are Memory, Notion and DeepWiki, which sit nearest on score and face the same kind of surface-design pressure.
- Category
- Productivity and Docs
- Rank in category
- 1
- Category median score
- 96
- Category median tokens
- 2,360
A fix plan turns these findings into an ordered set of changes with the token saving of each one.
This page is a static analysis of Microsoft Learn'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.