Skip to content

Agent discovery: server card, AI catalog, API catalog, skills index - #16

Merged
lobbystack merged 1 commit into
mainfrom
agent-discovery
Oct 7, 2026
Merged

lobbystack merged 1 commit into
mainfrom
agent-discovery

Conversation

@lobbystack

Copy link
Copy Markdown
Owner

Fixes five failing checks on isitagentready.com.

OAuth protected resource metadata

The root /.well-known/oauth-protected-resource document named /mcp as its resource. RFC 9728 §3.3 requires the resource to match the URL the document was fetched for, so scanners rejected it. The root document now names the origin. /.well-known/oauth-protected-resource/mcp still names /mcp, and the 401 from /mcp still points clients there, so MCP sign-in is unchanged.

New documents under /.well-known/

Each one points agents at the MCP server at /mcp. They live in src/server/discovery.server.ts.

Path Format
mcp/server-card.json MCP Server Card, plus the SEP-1649 draft fields scanners read (serverInfo, transport, capabilities)
ai-catalog.json ARD catalog with one entry for the server card
api-catalog RFC 9727 linkset with /mcp as the only API
agent-skills/index.json Agent Skills Discovery v0.2.0 index
agent-skills/openprofit/SKILL.md The agents doc with skill front matter. The index carries the SHA-256 of the served bytes

Left out

  • auth.md: WorkOS's agent registration protocol needs identity and claim endpoints OpenProfit doesn't have
  • WebMCP: experimental in Chrome, and the landing page has no actions to expose
  • DNS-AID: DNS records and DNSSEC at Cloudflare, not code
  • x402, MPP, UCP, ACP: per-request agent payments. OpenProfit sells subscriptions through Polar

Testing

  • npx tsc --noEmit and pnpm check pass
  • Production build on port 3200 with APP_URL=https://openprofit.dev: all six paths answer 200 with the expected content types, the SKILL.md hash matches the index digest, and POST /mcp without a token still returns the 401 that names /.well-known/oauth-protected-resource/mcp
  • Under pnpm dev, Vite answers .md paths itself, so SKILL.md returns 404 there. Production serves it

After deploy, rerun the scan on isitagentready.com to confirm the five checks pass.

The root /.well-known/oauth-protected-resource document named /mcp as
its resource. RFC 9728 §3.3 requires the resource to match the URL the
document was fetched for, so scanners rejected it. The root document now
names the origin. The /mcp document still names /mcp, and the 401 from
/mcp still points clients there.

New documents under /.well-known/, each pointing agents at /mcp:

- mcp/server-card.json: MCP Server Card, plus the SEP-1649 draft fields
  scanners read (serverInfo, transport, capabilities)
- ai-catalog.json: ARD catalog with one entry for the server card
- api-catalog: RFC 9727 linkset with /mcp as the only API
- agent-skills/index.json and agent-skills/openprofit/SKILL.md: the
  agents doc as a skill, with the SHA-256 digest of the served bytes
@lobbystack
lobbystack merged commit ed5df27 into main Oct 7, 2026
1 check passed
@lobbystack
lobbystack deleted the agent-discovery branch October 7, 2026 19:51
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.

1 participant