How Are MCP Servers Listed and Discovered?
Filed as AFR/MCP-09 · task class Information retrieval · all MCP topics
Two listings, commonly confused
Two different listings hide behind the same phrase, and most confusion about MCP discovery is a collision between them. The first is which servers an application can reach at all. The second is what a server publishes once a connection to it is open. They happen at different moments, are answered by different parties, and only the second is part of the protocol.
The first listing is configuration. A host knows about a server because somebody told it: an entry in a configuration file, a setting in the application, a record copied out of a catalogue. There is no broadcast and no automatic detection. A server the host has not been told about does not exist as far as that host is concerned.
The second listing is a protocol exchange. After the opening handshake the client asks the server what it offers — the operations available for invocation, the content available for reading, the templates available for filling in — and the server answers with names, descriptions and argument schemas. A server whose list changes can send a notification saying so, and the client asks again rather than working from a stale copy.
Two properties of the second listing surprise anyone expecting a fixed inventory. It is answered per connection, and nothing obliges a server to publish the same set to every caller — a server that varies what it offers according to who is asking is behaving conformantly. And the answer may arrive in parts, because a listing request can be answered a page at a time with a marker saying where to continue, so a client that reads the first answer and stops holds an incomplete picture rather than an error it could notice.
What an inventory answers, and what it does not
A compiled list answers one question exactly: what could this host reach, at the moment somebody looked. That is the right question for a review of exposure, and it is usually the question being asked when somebody wants to know what an agent had available to it.
It does not answer what was reached. Nothing in a listing records an invocation, and a set of available operations is not a record of used ones; that second question is answered by whatever the host and the servers wrote down while they were running, which is a logging decision taken per deployment. Treating the first answer as the second produces an inventory presented as an audit.
This page contains no list
What follows on this page is the mechanism. It is not a directory of servers: naming third-party servers would be a large number of factual claims with a shelf life of about a fortnight, on a page that carries a price.
How the Registry classifies compiling what is reachable
Compiling what is reachable and noting what each one exposes is retrieval and note-taking against systems that already exist, which the information retrieval class covers. On the order form's task class field, select Information retrieval, which covers search, information gathering, research, summarisation. That class has its own page at /tasks/retrieval.
The Registry files this topic under one canonical task, fixed in advance and published here rather than generated per visit:
Compile a list of the MCP servers reachable from a workstation and note what each one exposes.
That string, hashed once, is 95539dc74ae22ab2… — the first
sixteen of sixty-four hex characters. An assessment ordered against a task of this
kind is computed from the class, the wording submitted, and the permanent chart the
Registry derives for the model configuration named on the order: its ascendant, its
ruling planet, and the composite harmony that constrains the range of verdicts
available to it. The whole derivation is published at /method.
The risk here is a list that has drifted: a compilation accurate on the day it was written and quietly wrong afterwards, because what a server publishes is a property of the server and not of the note. 4 risk factors are tracked for information retrieval tasks generally; an assessment reports 3 of them, selected by the submitted task's own seed rather than chosen. Their names, severities and descriptions are certificate content and are not published on a free page.
What this page does not claim
The Registry makes no representation that an assessment predicts the outcome of any task, and no assessment is validated against real-world results.
This page defines a term and states a classification. It publishes no verdict: the Registry does not test implementations, does not measure how often anything works, and has never run the canonical task above against any model. Where the configuration lives, and how often a compiled list is refreshed against reality, are operator decisions the canonical brief does not make.
What is sold is a permanent, numbered assessment for one submitted task at one model configuration — a verdict on a seven-point scale, a recommended execution window, and, above the first tier, the risk factors the class tracks. EUR 1.90 Standard, EUR 4.90 Extended, and EUR 14.90 Full Chart, which adds the permanent chart for the configuration itself. Assessments from EUR 1.90; machine-readable at /pricing.json.
Related surfaces
← All MCP topics · The AFR-1 method · Information retrieval task class
Related topics: Server catalogues · MCP client · Inspecting a server
Questions about listing
- How does a host find out which MCP servers exist?
- It does not discover them by itself. A host connects to the servers it has been configured with, from a configuration file, an application setting, or an entry copied out of a catalogue.
- How does a client find out what a server offers?
- It asks, after the opening handshake. The server answers with the operations, readable content and message templates it publishes, each with a description and, for operations, a schema for its arguments.
- What happens when a server’s list changes?
- The server can send a notification that its list has changed, and a connected client requests it again. Without that, the client would keep working from whatever it read when the session opened.
- Do two hosts connected to the same server see the same list?
- Not necessarily. The listing is answered per connection, and nothing requires a server to publish the same set to every caller. It may also arrive a page at a time, so a client that reads only the first answer can hold an incomplete list without anything having failed.