{"name":"Ugga Portal Agent Interface","description":"Allows AI agents to read, create, and edit Ugga pages, markdown blocks, and versioned documents on behalf of the authenticated user.","url":"https://halse.app/api/mcp","documentationUrl":"https://halse.app/llms.txt","version":"1.0.0","capabilities":{"streaming":false,"pushNotifications":false,"mcpEndpoint":"https://halse.app/api/mcp","webMcp":true},"authentication":{"schemes":["Bearer","Cookie"],"credentialsUrl":"https://halse.app/profile"},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json","text/markdown"],"skills":[{"id":"get_current_user","name":"get_current_user","description":"Get the currently authenticated Ugga user profile, role, and authentication method.","inputSchema":{"type":"object","properties":{}}},{"id":"list_subsites","name":"list_subsites","description":"List all Ugga subsites accessible to the current user along with their resolved access level (owner, editor, reader).","inputSchema":{"type":"object","properties":{}}},{"id":"list_pages","name":"list_pages","description":"List all pages in a given subsite that the current user has permission to view.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (e.g., \"root\" for the main site). Defaults to \"root\"."}}}},{"id":"get_page","name":"get_page","description":"Get a page by subsite ID and slug, including its layout sections, blocks, rich markdown editor contents, and embedded document metadata.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."},"page_slug":{"type":"string","description":"Page slug (e.g., \"home\")."}},"required":["page_slug"]}},{"id":"create_page","name":"create_page","description":"Create a new page in a subsite with optional initial markdown content. Requires editor or owner access on the subsite.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."},"title":{"type":"string","description":"Display title for the new page."},"slug":{"type":"string","description":"Optional URL slug (auto-generated from title if omitted)."},"initial_content":{"type":"string","description":"Optional initial Markdown content for the page."},"block_type":{"type":"string","enum":["markdown-editor","text-block"],"description":"Type of initial content block to create (\"markdown-editor\" for rich ToastUI markdown document or \"text-block\" for simple text). Defaults to \"markdown-editor\"."}},"required":["title"]}},{"id":"update_page_content","name":"update_page_content","description":"Add, update, or remove content blocks (markdown-editor, text-block, document-viewer, image-block) on a page, replace its layout, or update page settings (title, background_color, background_image_id). Requires editor or owner access on the page.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."},"page_slug":{"type":"string","description":"Target page slug (e.g., \"home\")."},"action":{"type":"string","enum":["update_block","add_block","remove_block","set_layout","update_page_settings"],"description":"\"update_block\" updates an existing block (or the first markdown/text block if component_id is omitted); \"add_block\" appends a new block; \"remove_block\" deletes a block by component_id; \"set_layout\" replaces the entire layout object; \"update_page_settings\" updates page title and/or background styling."},"title":{"type":"string","description":"Optional new page title (can be passed with update_page_settings or any other action)."},"background_color":{"type":"string","description":"Optional page background color CSS value, e.g. \"#0f172a\" (pass \"\" to clear). Stored in pages.theme_config.backgroundColor."},"background_image_id":{"type":"string","description":"Optional document ID of an uploaded image in the subsite to use as the full-bleed page background (pass \"\" to clear). Stored in pages.theme_config.backgroundImageId."},"component_id":{"type":"string","description":"ID of the block component to update or remove (e.g., \"comp-home-1\"). For update_block, if omitted, the first markdown-editor or text-block on the page is updated."},"block_type":{"type":"string","enum":["markdown-editor","text-block","document-viewer","image-block","menu-builder"],"description":"Block type when adding a new block. Defaults to \"markdown-editor\"."},"content":{"type":"string","description":"Markdown or text content when adding or updating a markdown-editor or text-block."},"config":{"type":"object","description":"Optional block config object (e.g., { documentId, title, showPreview: true, viewerId: \"markdown-editor\", hidePanelCard: true, style: { panelBgColor, borderColor, borderRadius, boxShadow } })."},"section_index":{"type":"number","description":"0-based section index when adding a block (defaults to 0)."},"column_index":{"type":"number","description":"0-based column index when adding a block (defaults to 0)."},"layout":{"type":"object","description":"Full layout JSON object ({ sections: [...] }) when action is \"set_layout\"."}},"required":["page_slug","action"]}},{"id":"list_documents","name":"list_documents","description":"List all uploaded documents and their version histories in a subsite.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."}}}},{"id":"read_document","name":"read_document","description":"Read the metadata and content of an uploaded document in a subsite by document_id or filename, optionally for a specific historical version.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."},"document_id":{"type":"string","description":"Document UUID (provide either document_id or filename)."},"filename":{"type":"string","description":"Document filename, e.g., \"handbook.md\" (provide either document_id or filename)."},"version":{"type":"number","description":"Optional version number to read (defaults to current_version)."}}}},{"id":"save_document","name":"save_document","description":"Create a new document or save a new version of an existing document in a subsite. If a document with the same filename exists, the previous version is archived to document_versions and current_version is incremented automatically. Optionally embeds the document onto a page.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."},"filename":{"type":"string","description":"Filename including extension (e.g., \"architecture.md\", \"report.txt\")."},"content":{"type":"string","description":"Document content (UTF-8 text by default, or base64 if encoding=\"base64\")."},"encoding":{"type":"string","enum":["utf8","base64"],"description":"Content encoding (\"utf8\" or \"base64\"). Defaults to \"utf8\"."},"mime_type":{"type":"string","description":"Optional MIME type (auto-detected from filename extension if omitted)."},"embed_on_page_slug":{"type":"string","description":"Optional page slug in the same subsite where a document-viewer block for this document should be embedded."}},"required":["filename","content"]}},{"id":"delete_document","name":"delete_document","description":"Delete a document and all of its archived versions from a subsite. Requires editor or owner access.","inputSchema":{"type":"object","properties":{"site_id":{"type":"string","description":"Subsite ID (defaults to \"root\")."},"document_id":{"type":"string","description":"Document UUID (provide either document_id or filename)."},"filename":{"type":"string","description":"Document filename (provide either document_id or filename)."}}}}]}