Skip to content

Integration with Centralized Catalogues #28

@MarcoMetaMask

Description

@MarcoMetaMask

Note: Throughout this text, agents <> services

Goals

To solve the cold start problem:

  • Enable discovery of services that haven't yet registered on 8004 (from centralized catalogues)
  • Enable providing feedback on 8004 to services that haven't yet registered on 8004

Current State

Since:

  • Currently on 8004, anybody can register services owned by somebody else. The registration file links back to the on-chain agent, but the endpoint can be hosted on a different domain from the registration file. This means I can register an agent, use the registration URI (registrations section) to link back to the agent, but then insert an endpoint owned by somebody else.
  • Currently, feedback can only be given to an agent registered on 8004

Then:

  • The only way to mass-import services from centralized sources is to register agents/services that you don't own
  • ...and then anybody can give feedback to them
  • The drawback is that you could have multiple instances of the same unverified service with the same endpoint. When a third-party observer needs to give feedback, which agent ID should they pick? It's unclear—you would have duplicates.

Possible Solution

If:

  • In the feedback registry, add a domain attribute. A feedback entry should indicate (as a target) at least one of the following fields: target agentId or domain.
  • A DNS Verifier Watchtower service checks, for any endpoint, whether the domain has a TXT record pointing to the agent (e.g., chainId=x, registryAddress=k, agentId=y) and posts a feedback entry to that agent every week/month. clientAddress = the address of the trusted watchtower; tag1 = dnsVerification; tag2 = domain.com. Since feedback is permissionless, multiple such verification services could exist.

Then:

  • Anybody can give feedback to unregistered services by filling in the domain field but leaving agentId empty.
  • If agentId is filled, it's clear to observers whether its endpoints are verified or not. Regardless, the feedback is still valuable because it targets the domain.
  • If the actual service owner registers later, when multiple unverified services exist in the registry, observers/SDKs will aggregate the feedback on that domain as related to the verified service, and use that verified agentId from that moment onwards.
  • Anybody can import services from centralized catalogues (as agents with unverified endpoints) or directly read from those catalogues at the application layer (SDK) without importing them, while still enabling usage (messaging, tool calling) and feedback.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Scoping

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions