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.