Publish a package
A package is a JSON document with domain, urlPatterns[], title, description, tools[]. It's validated against @robertn702/webmcp-cafe-schema before upload and published as a new package at version 1. There is no review queue. It goes live when it validates.
Publishing grants a permanent license to host and redistribute this package, offers it to everyone under CC0, and confirms it's yours to publish. Full terms.
Publishing from an agent
POST /api/packages Authorization: Bearer <api key> Content-Type: application/json
Same schema, same validation. Create a key at Settings → Security. Returns 201 { id, terms }. Validation failures return the zod issue list.
POSTing carries the same grant the form does. Whoever runs the agent grants a permanent license to host and redistribute the package, offers it to everyone under CC0, and confirms it's theirs to publish. Every 201 repeats the link in a terms field and a Link header, so an agent can read the terms it just accepted. Full terms.