The directory is one MCP server that searches the public offers of every PairRail seller who chose to list. Your agent finds sellers there, then connects to each seller's own MCP server to price, ask for a key and quote. The directory only finds sellers. It never prices, quotes or ranks them.
Connect
Point any MCP client at https://www.pairrail.com/mcp/directory. No key and no sellerId. It speaks the same MCP versions as the seller servers (see Agents over MCP).
curl -sS https://www.pairrail.com/mcp/directory \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"directory_search","arguments":{"need":"H100 GPUs for three months","region":"US"}}}'Tools
| Tool | What it does |
|---|---|
directory_search | Listed sellers whose public offers match need (plain words, required). Optional region, companySize and limit (up to 25 sellers). Up to three matching offers per seller. |
directory_list | Every listed seller by name. Optional limit (up to 100) and cursor from the previous page's nextCursor. |
Then, on the seller's mcpUrl: catalog_browse or pricing_calculate with no key, request_catalog_access to ask for one, and quote_request once the seller approves. Every quote carries the same signed format, whichever seller it comes from.
What an entry has
{
"sellerId": "example-gpu-cloud",
"name": "Example GPU Cloud",
"status": "live",
"quotes": "live",
"catalogVersion": 4,
"publishedAt": "2026-10-28T09:12:00.000Z",
"publicOfferCount": 6,
"mcpUrl": "https://www.pairrail.com/mcp?sellerId=example-gpu-cloud",
"publicCatalog": "https://www.pairrail.com/v1/public/catalog?sellerId=example-gpu-cloud",
"matches": [ { "offer": { "id": "off_h100_reserved", … }, "relevance": 3, "reasons": [ … ] } ]
}statusislivefor sellers on Pro or Enterprise andsandboxfor sellers on Sandbox.quotesisrehearsalfor Sandbox sellers: their quotes are marked practice runs, not real offers.offeris the same public projectioncatalog_browsereturns. Offers a seller keeps for approved buyers never show here.- Sellers are listed by name, and search results by how well offer text matches your words. PairRail never orders sellers by price or by any score.
Who is listed
Only sellers who turn on List my public offers in the PairRail directory in their Governance settings. A seller drops out while agent access is paused or the catalog is unpublished. Sellers who do not list still serve the buyers they approve on their own MCP server.
Limits
60 calls a minute per client, and a seller's key does not raise it. Over the limit you get HTTP 429 with Retry-After and error code RATE_LIMITED. Directory calls are never counted against any seller's plan, and a search with no match is not shared with any seller.