Skip to content

SEP 0014 - AI Card Discovery#14

Open
Fannon wants to merge 13 commits intoAgent-Card:mainfrom
Fannon:0000-ai-card-discovery
Open

SEP 0014 - AI Card Discovery#14
Fannon wants to merge 13 commits intoAgent-Card:mainfrom
Fannon:0000-ai-card-discovery

Conversation

@Fannon
Copy link

@Fannon Fannon commented Jan 24, 2026

This SEP proposes a standardized discovery mechanism for AI-native protocols (MCP and A2A) using a .well-known URI endpoint.

It makes a strong assumption that MCP and A2A do not create a shared model, each will own its own "card" metadata files. But we can still share the discovery mechanism between the two (and potentially other / upcoming) protocols.

Problem

Both MCP and A2A protocols have defined protocol-specific discovery endpoints that:

  • Assume one server/agent per host (MCP: /.well-known/mcp/server-card.json, A2A: /.well-known/agent.json)
  • Require clients to probe multiple endpoints for multi-protocol discovery
  • Create ecosystem fragmentation

Solution

A single, protocol-agnostic discovery endpoint at /.well-known/ai-cards.json that:

  • Supports multiple MCP servers and/or A2A agents per host
  • Enables single-request multi-protocol discovery
  • Maintains protocol autonomy (each protocol owns its card format)
  • Uses simple JSON Schema with 5 required fields per protocol
  • Supports both relative and absolute URLs

Example

{
  "$schema": "https://ai-card.org/schemas/ai-card-v0.schema.json",
  "protocols": [
    {
      "type": "mcp",
      "endpoints": [{"url": "./mcp-petstore"}],
      "metadata": {
        "type": "mcp-server-card",
        "url": "./petstore.mcp.json"
      }
    },
    {
      "type": "a2a",
      "endpoints": [{"url": "/agents/support"}],
      "metadata": {
        "type": "agent-card",
        "url": "/metadata/SupportAgent.json"
      }
    }
  ]
}

@Fannon Fannon marked this pull request as draft January 24, 2026 10:12
@@ -0,0 +1,127 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ai-card.org/schemas/ai-card-v0.schema.json",
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

URL to be decided yet, just a placeholder for the real URL later.

- More complex to implement and query
- Less accessible for web-based clients

This approach could be rejected or be allowed as an alternative to the .well-known URI approach in the future.
Copy link
Author

@Fannon Fannon Jan 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are also some situations where implementing a .well-known URI is not possible, e.g. if the provider does not have control over the root URLs of the host. In that case a DNS based approach could be an alternative - however most providers won't have easy access to setup DNS entries, too...

I assume that most registries would also allow push based publishing, which is an alternative to the .well-known URI approach, but it would not provide the local, decentralized discovery.

… protocols and metadata files that are provided.
… local self-description and a decentralized discovery mechanism.
@Fannon Fannon marked this pull request as ready for review January 24, 2026 12:05

### Well-Known URI

Services supporting AI Card discovery MUST provide a JSON document at `/.well-known/ai-cards.json`.
Copy link
Author

@Fannon Fannon Jan 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually debatable: Not everyone can control the host root URL and add a .well-known URI like this.

A more pragmatic approach could be to make this just RECOMMENDED. For fully decentralized discovery doing this might be mandatory, but if your goal is to register your AI systems with a registry or other systems, it could be sufficient to provide a full link to the discovery document URL. A registry could auto-append /.well-known/ai-cards.json if a system is added via hostname, or directly crawl the URL if a URL with path segments is provided.

Suggested change
Services supporting AI Card discovery MUST provide a JSON document at `/.well-known/ai-cards.json`.
Services supporting AI Card discovery MUST provide the [Discovery Document](#discovery-document-format) and SHOULD provide it under `/.well-known/ai-cards.json`.
If this is not possible, completely decentralized discovery is not supported, but the discovery document URL can still be registered in registries and other systems.


## Reference Implementation

[To be provided]
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally create a small plugin for an existing Agent Framework that supports both MCP and A2A.
Challenge here is that for MCP we still have the missing MCP Server Card as gap.

A minimalist implementation could be just a static web server that serves the JSON files as defined here. This would be sufficient to test that the discovery mechanisms work in principle.

@Fannon Fannon changed the title SEP 0000 - AI Card Discovery SEP 0014 - AI Card Discovery Jan 26, 2026
@darrelmiller
Copy link

Here's my rant on why we need to stop using .well-known #17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants