{"name":"cosmic-mcp","version":"1.2.0","protocol":"MCP","protocolVersion":"2025-06-18","transport":"streamable-http","description":"Cosmic CMS MCP server. Two scopes: `/v1/buckets/{slug}` for bucket-scoped tools (objects, media, types, AI gen) authenticated with bucket keys, and `/v1/agent` for the agent signup flow (no prior credentials required) where an AI agent can provision a Cosmic project tied to a human email.","endpoints":{"bucket":"/v1/buckets/{bucket-slug}","agent":"/v1/agent","account":"/v1/account (reserved for future use)"},"documentation":"https://www.cosmicjs.com/docs","tools":{"bucket":[{"name":"cosmic_objects_list","description":"List objects from the Cosmic bucket with optional filters for type, status, and pagination. Returns an array of objects with their metadata."},{"name":"cosmic_objects_get","description":"Get a single object by ID or by slug+type. Returns the full object with all metadata."},{"name":"cosmic_objects_create","description":"Create a new object in the Cosmic bucket. Requires write access."},{"name":"cosmic_objects_update","description":"Update an existing object by ID. Only provided fields will be updated. Requires write access."},{"name":"cosmic_objects_delete","description":"Delete an object by ID. This action is permanent. Requires write access."},{"name":"cosmic_media_list","description":"List media files from the Cosmic bucket with optional folder filter and pagination."},{"name":"cosmic_media_get","description":"Get details of a single media file by ID. Returns the full media object with URL and metadata."},{"name":"cosmic_media_upload","description":"Upload a media file to the Cosmic bucket from a URL or base64-encoded data. Requires write access."},{"name":"cosmic_media_delete","description":"Delete a media file by ID. This action is permanent. Requires write access."},{"name":"cosmic_types_list","description":"List all object types in the Cosmic bucket. Returns the schema definitions including metafields for each type."},{"name":"cosmic_types_get","description":"Get a single object type by slug. Returns the full schema including all metafield definitions."},{"name":"cosmic_types_create","description":"Create a new object type with a custom schema. Define metafields to structure your content. Requires write access."},{"name":"cosmic_types_update","description":"Update an existing object type schema. Can modify title, metafields, and options. Requires write access."},{"name":"cosmic_types_delete","description":"Delete an object type by slug. WARNING: This will also delete all objects of this type. Requires write access."},{"name":"cosmic_ai_generate_text","description":"Generate text content using Cosmic AI. Useful for creating content, descriptions, summaries, and more."},{"name":"cosmic_ai_generate_image","description":"Generate an image using Cosmic AI and automatically upload it to your media library. Requires write access."},{"name":"cosmic_ai_generate_video","description":"Generate a video using Cosmic AI (powered by Veo) and automatically upload it to your media library. Requires write access."},{"name":"cosmic_ai_generate_audio","description":"Generate audio from text using OpenAI text-to-speech and upload it to your media library. Supports 13 natural-sounding voices. Requires write access."},{"name":"cosmic_blocks_list","description":"List the reusable rich-text Content Blocks defined in the Cosmic bucket. Blocks are referenced inside rich-text metafields with a {{name /}} token. Use this to discover which block shortcodes exist before writing rich-text content that references them. Returns each block's name (shortcode), title, description, editor type, and content."}],"agent":[{"name":"cosmic_agent_signup","description":"Create a new, unclaimed Cosmic project + bucket tied to a human email. Returns bucket keys (read_key, write_key) plus an agent_key the agent uses for verify/status. The bucket starts in restricted mode (no AI credits, max 50 objects, max 5 MB media). Cosmic emails the human a 6-digit OTP and a claim URL; the human pastes the OTP back to the agent which calls cosmic_agent_verify to lift restrictions. If the email already belongs to a real Cosmic user, returns a 409; ask the human to log in and grant the agent a bucket key instead."},{"name":"cosmic_agent_verify","description":"Submit the 6-digit OTP code the human received via email to verify the agent project. On success, the bucket lifts restricted-mode limits (AI credits, object/media caps). Requires agent_key from cosmic_agent_signup."},{"name":"cosmic_agent_status","description":"Return the current auth_type (\"unclaimed\" or \"verified\"), plan, claim status, and tier limits for the authenticated agent key. Use this to introspect what the agent is currently allowed to do, especially after a 402 agent_unclaimed_limit error."}]}}