{"serverId":"mcp-registry/st.demo/demost","tools":[{"name":"check_subdomain_availability","fixed":{"name":"check_subdomain_availability","description":"Check if a subdomain name is available on demo.st (e.g. \"my-site\" → my-site.demo.st).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","description":"Subdomain name: letters, numbers, hyphens only; 1–63 chars."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":101,"tokensAfter":101},{"name":"create_collection","fixed":{"name":"create_collection","description":"Create a document collection (lowercase letter start; letters, numbers, underscores; max 63 chars). Max 20 collections per site.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","description":"Collection name, e.g. todos or posts."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"delete_collection","fixed":{"name":"delete_collection","description":"Delete a document collection and all of its records.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","description":"Collection name to delete."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"delete_record","fixed":{"name":"delete_record","description":"Delete a record from a document collection.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["collection","id"],"properties":{"id":{"type":"string","description":"Record id."},"collection":{"type":"string","description":"Collection name."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"get_site_api_key","fixed":{"name":"get_site_api_key","description":"Get (or create) the public site API key for your reserved subdomain. Embed this key in your static site and call https://api.demo.st/v1 with Authorization: Bearer <key>. Tenant is scoped by the key — never share another site's key.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"list_collections","fixed":{"name":"list_collections","description":"List document collections for your site (api.demo.st document store).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"list_records","fixed":{"name":"list_records","description":"List records in a document collection.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["collection"],"properties":{"limit":{"type":"integer","maximum":500,"minimum":1,"description":"Max records to return (default 100)."},"offset":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Offset for pagination."},"collection":{"type":"string","description":"Collection name."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"upload_site","fixed":{"name":"upload_site","description":"Upload a .zip as site content for your reserved subdomain. Easiest for agents: zip_base64 (base64-encoded zip). Or file_url (public URL to zip). Or file_path (local path, when MCP runs locally).","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"file_url":{"type":"string","format":"uri","description":"Public URL of a .zip file."},"file_path":{"type":"string","description":"Local path to a .zip file (for local/stdio MCP only)."},"zip_base64":{"type":"string","description":"Base64-encoded .zip content. Easiest for agents: create zip locally and pass here (no hosting needed)."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":186,"tokensAfter":186},{"name":"upsert_record","fixed":{"name":"upsert_record","description":"Create or update a JSON record in a collection. Pass data as an object. Optional id to upsert a specific record.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["collection","data"],"properties":{"id":{"type":"string","description":"Optional record id (create or replace)."},"data":{"type":"object","description":"JSON object to store.","propertyNames":{"type":"string"},"additionalProperties":{}},"collection":{"type":"string","description":"Collection name."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154}],"toolsChanged":9,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}