A proposal, not a standard — nothing here is implemented yet. Open for discussion →

Before the map

What do MCP services actually expose when we stop sorting them by product label?

The Calendar prototype is one useful example. It is not enough evidence to decide the universe of shared contracts. We are now examining 300 directory listings first—separating what they claim, what their interfaces declare, and how those interfaces treat an agent.

A plain-language baseline

Three ideas, before any vocabulary.

01

The problem

Two services can offer the same useful ability with different tool names, arguments, and response shapes. An agent has to rediscover those differences even when the job has not changed.

02

The proposal

A Class Profile would name a small shared semantic contract independently of vendor spelling. A service could present that contract directly or through a reviewed projection.

03

The correction

A solution is not one category. It may expose several capabilities, and the same action can apply to different target spaces. Calendar is an example—not the domain of the proposal.

Boundary:

The proposal can describe semantic capabilities and their contracts. Choosing among several connected service instances, assigning host-local names, and routing to a particular device or account belong to another layer. We want the USB-like benefit of recognizable capabilities without pretending to be the operating system.

Captured evidence

The surfaces are not remotely uniform.

These are direct counts from one directory snapshot. They describe the cohort and nothing larger.

Sampling frame
7,601
Smithery listings captured before local ranking
Selected listings
300
Ranked locally by captured useCount
Declared members
9,390
Tools, resources, and prompts retained
Surface range
1–2,530
Members in one selected listing

Member mix

8,881 tools · 246 resources · 263 prompts

Every selected indexed surface declared tools. Eighty-four also declared resources or prompts. Member kind is a protocol characteristic, not a service category.

Agent-facing contracts

8,881 input schemas · 1,902 output schemas

The directory capture retained an input schema for every tool, but an output schema for only part of the set. This describes captured declarations, not runtime result quality.

Identity sensitivity

Duplicates and generated families remain visible

One exposed surface is byte-identical under two listings, and several additional name or template-shape matches need review. Nothing is silently merged.

Lexical measurements also find names resembling cursors, stable references, batching, previews, dry runs, and confirmations. Those are review leads—not proof that the named behavior works or has consistent meaning.

Three separate reads

Keep the directory label from answering the research question.

What a listing claims, what its interface declares, and how that interface treats an agent are recorded separately, so a word like “finance” never becomes a conclusion just by appearing.

A

Announced position

What does the directory-indexed language say the service is for, for whom, and with what promised benefit?

Claims remain attributed claims.
B

Semantic anatomy

Which actions, targets, target spaces, structures, state changes, effects, and relationships are connected by the technical declarations?

Every member must be accounted for.
C

Ergonomics

How are discovery, invocation, continuation, safeguards, results, and recovery presented to an agent?

No synthetic quality score.

What the study refuses to infer

  • useCount is not ecosystem adoption, installs, active users, or quality.
  • An indexed declaration is not proof of runtime behavior or conformance.
  • Missing or configuration-dependent evidence is not a negative capability claim.
  • A repeated noun is not automatically a category, and co-occurrence is not substitutability.
  • No sampled service was installed, connected, or invoked for this capture.

Where this goes

A map is declared, not derived.

The corpus told us something we did not expect: names do not carry function well enough to cluster on. That is a result, not a setback.

  1. Done

    Freeze the 300-listing cohort and capture every indexed surface.

  2. Done

    Measure what the surfaces declare — annotations, reference spellings, schema shape, action vocabulary.

  3. Found

    61% of judgeable listings have no dominant functional shape. Mechanical clustering cannot produce a capability map.

  4. Next

    Contracts proposed by authors and tested by fixtures, starting with the two worked classes.