Hugging Face MCP server tool surface audit

A98/100composite score
Token footprint
~4,917
Tools
4
Findings
5
Scanned

Engine mcp-surface-lint@0.3.3 · reported as huggingface.co/mcp v0.4.20

Hugging Face's MCP server publishes 4 tools. Loaded into a conversation, those definitions occupy roughly 4,917 tokens of context before anyone types a word. Against the 19 static rules in the catalogue it scores 98 out of 100 — grade A — raising 5 scored findings in 3 of the six categories.

Its strongest category is surface at 100/100; the weakest is schemas at 92/100. It is catalogued here under Search and Browsing, alongside other servers agents reach for in the same kind of work.

Token footprint

Measured against a 200,000-token window, the surface consumes about 2% of it before the conversation starts, and keeps consuming it on every turn. That averages 1,229 tokens per tool definition, counted with the o200k_base encoding.

Against a category median of 2,728 tokens, this surface runs about 80% above the middle of the pack.

surface100
naming100
descriptions97
schemas92
annotations100
design97

Findings

Every finding below names the rule behind it and the tool it fired on.

`descriptions/too-long` contributes one finding. Very long tool descriptions are paid for in every conversation. Detail that only matters once a parameter is used belongs in that parameter's description. On this surface it fires on `hf_fs`.

One finding comes from `design/list-no-limit`. 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 `hf_fs`.

`schemas/complexity-budget` accounts for one finding. 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 `hf_fs`.

Hugging Face's surface raises 2 further rules — `schemas/loose` and `schemas/param-desc-missing` — listed in full below.

warn 5 findings

Findings that measurably degrade tool selection.

Description is 2875 chars (maximum 1500) — move detail into parameter descriptions.

Very long tool descriptions are paid for in every conversation. Detail that only matters once a parameter is used belongs in that parameter's description.

"hf_fs" 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.

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/loosehf_whoami
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 "operations" 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

3 of the six categories come through clean: surface, naming 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 and read and write operations are machine-distinguishable before a client runs them.

Tool inventory

`hf_fs` is the most expensive definition at 2,148 tokens — about 44% of the whole surface — against 365 for `hub_repo_search`. Every tool carries a description, ranging from 191 to 2,875 characters.

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

All 4 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
hf_fs2,1482875 chars114yes
hf_whoami1,949191 chars000yes
hub_repo_details453366 chars712yes
hub_repo_search365205 chars602yes

How this compares

Hugging Face ranks 3 of 4 scanned Search and Browsing servers, 1 point below the category median of 99.

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

Category
Search and Browsing
Rank in category
3
Category median score
99
Category median tokens
2,728
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 Hugging Face'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.