Put your apps where agents look.

Publish your apps once. Agents search your directory in plain language, see which apps they can trust, and call any of them through one MCP connector.

An agent asks the directory to “book a tennis court tonight”. The directory ranks its apps: Mission Courts first, then Presidio Hill Tennis and Padel Social SF. The agent calls Mission Courts through the directory’s connector and gets three free slots.
sport-venues.hubs.host

How it works

Three steps from the apps you already run to a directory any agent can search and call.

  1. Publish your apps

    Push entries over the API, import an existing catalog, or point us at your MCP servers. Each app gets a stable URN in your directory, at your own address.

    PUT /api/v1/directories/acme/entries/{id}
  2. Rank, with trust you can see

    Hybrid search ranks apps by what the agent needs. Verified publishers, signed attestations and readiness scores reorder results, and every boost is disclosed.

    "hubs:ranking": { "relevance": 94, "boosts": { … } }
  3. Connect once

    Agents add one MCP connector for the whole directory: search apps, list their tools, call them. Reads go straight through; anything that writes hands off to the app.

    https://sport-venues.hubs.host/mcp

Made to be read by machines

Every directory speaks ARD, the open discovery spec, at well-known paths. Any agent that knows the spec finds your apps without a plugin, an SDK or a partnership.

GET/.well-known/ard.json
The manifest: this directory and its connector
POST/search
Ranked apps for a plain-language need
POST/explore
Tags, types and categories, with counts
GET/agents
Every listed app, filterable and paged
GET/entries/{urn}
One app’s full entry
GET/attestations/{urn}
Signed trust statements
MCP/mcp
One connector over every app
curl https://sport-venues.hubs.host/.well-known/ard.json
{
  "entries": [
    {
      "identifier": "urn:air:sport-venues.hubs.host:registry:search",
      "displayName": "Sport Venues registry",
      "type": "application/ai-registry+json",
      "url": "https://sport-venues.hubs.host/",
      "capabilities": ["search", "explore", "agents"]
    },
    {
      "identifier": "urn:air:sport-venues.hubs.host:mcp:gateway",
      "displayName": "Sport Venues (MCP)",
      "type": "application/mcp-server-card+json",
      "data": {
        "remotes": [
          {
            "type": "streamable-http",
            "url": "https://sport-venues.hubs.host/mcp"
          }
        ]
      },
      "capabilities": ["search_apps", "list_app_tools", "call_app_tool"]
    }
  ]
}

Agents can check who they’re dealing with

  • Verified publishers

    A DNS record or a well-known file proves you own the domain an app runs on.

  • Signed attestations

    Trust statements are signed with Ed25519 and checkable against the directory’s /.well-known/jwks.json.

  • Agent readiness

    An independent grade of how well each app works with agents, shown next to every result.

AttestationSignature valid
subject
urn:air:sport-venues.hubs.host:entries:mission-courts
statement
publisher-verified, platform-vouched
proof
DNS TXT record on the venue’s own domain
signed
EdDSA, key in /.well-known/jwks.json

eyJhbGciOiJFZERTQSIsInR5cCI6IkpXUyJ9..ZqQcHg0pUoJygRA9ERj56QDstMsxOkAU6FuUXjW6

See what agents ask for

Every search is recorded: what was asked, what ranked and what got picked. Questions with no good answer tell you which app to add next.

Top questions this weekSearches
  1. book a tennis court tonight412
  2. padel lesson for beginners268
  3. lap lane at the Marina tomorrow morning191
  4. kids climbing class on Sunday87No good match in this directory yet: a gap worth filling.
Hubs

Give agents a front door to your apps.