Skip to content

Agent discovery extension (agents-wg#22): server conformance scenarios #576

Open

Description

@panyam

Agent discovery (agents-wg#22) merged in the Agents IG repo on 2026-10-20, after the WG vote.
I'd like to add server scenarios for it. #556 has a draft I put up before the vote so there was a diff to talk about.

What's in scope

Two server scenarios, graded off a requirement yaml that quotes the merged proposal at 137d88bd.

Scenario Grades
sep-9998-agents-discovery the io.modelcontextprotocol/agents capability, agents/list cards and paging, the flat agents/get result, tools matching tools/list, the agent_not_found and invalid_agent_definition reasons, a hidden agent looking like an unknown one
sep-9998-agents-list-changed notifications/agents/list_changed over subscriptions/listen with agentsListChanged

49 rows in the yaml, 31 graded. The other 18 are excluded with a reason each: host obligations, rules that compare two authorization contexts (a run holds one credential), and step-up.

Things I'd like a read on

  • The proposal has no SEP number, because it lives in the IG repo and not as a spec PR. The traceability filters only take numeric ids, so I used sep-9998 as a placeholder (9999 was the Events one before SEP-3415). Happy to rename by script when it gets a number.
  • The extension isn't on the spec timeline, so the scenarios only run with --force, same as feat(sep-3415): Conformance suite for triggers and events #521.
  • The hidden-agent, broken-agent and list_changed rows need two optional diagnostic tools on the server, the same pattern feat(sep-3415): Conformance suite for triggers and events #521 uses. Without them those rows report untestable.
  • One rule is coming that I haven't graded yet. Luca said on Discord that an undeclared client should get -32021, and that's a pending follow-up to the proposal. I'll add a row once the text lands.

Implementations

mcpkit (Go) passes 28/28 and 4/4. Madhavi is working on the Python prototype, and I'd like to run it there next.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions