75 tools

Croisa MCP Server

Describe the site you want once. Croisa builds a complete multilingual website in minutes — for campaigns, nonprofits, portfolios, product launches, and custom landing pages.

Host
croisa.de
Tools
75
Connection URL
https://croisa.de/mcp

Tools

  • list_websites

    Use this tool to access up to 100 websites owned by a user. This is the entry point to the platform tools as most operations require a websiteId to be selected first. Supports optional pagination: provide `limit` (<=100) and a base64-encoded `lastEvaluatedKey` to continue when `hasMore` is true.

  • list_all_pages_for_website

    Use this tool to list all pages for a website. Returns a flat, agent-friendly canonical page index with localized variants and preview args.

  • preview_website_page

    Use this tool to view a page before any edit/revert/publish operation happens in a conversation. This tool mounts the content you inspect into the user's real-time UI. User requests akin to "see", "open", or "change language" for a page you believe is already visible should be honored. Call this tool again to ensure the UI is synchronized, as it may be out of sync with your view. Do not refuse, as this tool is idempotent. Unlike write tools where you should avoid duplication, this tool is safe

  • request_image_upload

    Use this tool when you need the user to upload media (image by default, optionally video). This tool mounts an ephemeral file-picker UI that only persists for the current turn - it disappears as soon as the user sends their next message, regardless of content. Two outcomes: 1) User uploads and URL(s) appear in their next message for you to use with edit_preview_page, OR 2) User responds with text instead (clarification, correction, or unrelated topic) and the file picker is gone. IMPORTANT: If t

  • request_page_deletion

    Use this tool when the user explicitly wants to delete one or more whole pages. It does not remove individual sections or layout blocks; use edit_preview_page for section-level structural removal. Pass pageId for one page or pageIds for multiple pages. This tool is read-only: it inspects the pages, checks whether deletion is allowed, and returns one confirmation payload for the CMS UI or an MCP widget. It does NOT delete anything by itself. Actual deletion only happens after the user confirms in

  • confirm_page_deletion

    Complete one or more page deletions after the user confirms in the MCP widget.

  • process_image

    Use this tool to generate or edit an image. Provide a prompt and optionally 0–5 imageUrls. With no images, this is pure text-to-image. If you include images, the prompt must state their order and roles (e.g., "image1 is the base to edit, image2 is the logo overlay" or "image1/image2 are style references; create a new image inspired by them"). The model only sees the images you pass; original urls provided as args remain unchanged. Returns imageUrl for downstream use. Transparency/alpha is not su

  • edit_preview_page

    Use this tool to make edits to EXISTING content on a website page. Changes persist in draft state and display live to users. After edits, ask if user wants to publish (publish_preview_changes) or continue editing. The platform is based on a modular approach consisting of config controlled and custom (html,css,js) components. For new AI-built sections that need editable repeatable or singleton data, use generic data tools plus CustomSection dataBindings. For public forms that collect visitor inpu

  • create_custom_section

    Create a new CustomSection component and insert it into the page. This is a single-locale authoring action: create the section only in the specified locale draft and do NOT duplicate the same creation across other locales. The platform handles localization/propagation for normal content and section changes after publish. TEMPLATE RULE: sectionCopy is flat (for example {"headline":"Welcome"}) and templates access it through {{copy.headline}}. Write natural translatable copy in sectionCopy. A copy

  • define_data_collection

    Define a generated-ID CMS collection for public website data. First reason about existing generated models with list_data_models or resolve_data_model. Reuse a collection when it is the right source of truth for the user's requested data; create a distinct collection when the user needs separate schema, lifecycle, audience, source of truth, or content scope. If this tool reports similar existing collections, retry with createIntent="confirmed_new_distinct_model" and createReason only when the ne

  • update_data_model_metadata

    Update localized human-facing UI metadata for a generated CMS collection or singleton. Pass the generated col_... or sgl_... ID. This edits only model displayName/description and field label/helpText for the provided locale; it does not edit content values, fieldKey, type, required/localized flags, order, or add/remove fields. fieldMetadata must be keyed by fieldKey or returned nested schema paths like heroImage.alt / faqItems[].question; templates still use fieldKey/schema paths, never labels/h

  • list_data_models

    List generated CMS collections and singletons for a website. Use this when deciding whether to reuse, edit, bind, or create data models. Results include human displayName/description next to generated IDs, visible/hidden entry counts, template fields, and CustomSection usage summaries so agents can reason about the right source of truth. Usage is published-only unless currentPageId and currentLocale are passed; with both, results also include actual draft references plus effective current-page r

  • resolve_data_model

    Resolve existing generated CMS models for an intended purpose such as "products", "services", "team", "blog posts", "testimonials", "contact submissions", "newsletter signups", or "lead capture". Use this before define_data_collection/define_data_singleton or before binding data into CustomSections. Returns ranked candidates with generated IDs, human display names, entry counts, template fields, CustomSection usage, and match evidence. Usage is published-only unless currentPageId and currentLoca

  • describe_data_model

    Describe one generated CMS collection or singleton by dataId. Returns schema fields, template fields, allowed operations, counts, and CustomSection dataBinding references so agents can safely decide whether to edit values, add optional fields, reorder entries, or update templates. References are published-only unless currentPageId and currentLocale are passed; with both, results also include actual draft references plus effective current-page references for the scoped editing surface.

  • find_data_references

    Find CustomSection dataBindings that reference generated CMS data. Use before hiding a directly bound entry or changing a model schema. For an entry, pass collectionId and entryId. For a model, pass dataId or collectionId/singletonId. References are published-only unless currentPageId and currentLocale are passed; with both, results also include actual draft references plus effective current-page references for the scoped editing surface.

  • add_data_field

    Add one optional schema field to a generated CMS collection or singleton. parentPath is omitted for root fields, or uses schema paths like hero or faqItems[] for nested object/list-of-object fields. This v1 only adds optional fields; it does not remove fields, change types/localization, or make existing data required. After adding a field, patch entries/singletons and update any CustomSection template that should render it.

  • move_data_field

    Move one schema field before/after another field in the same parent object/list. Schema paths use returned field paths like bio, hero.ctaLabel, or faqItems[].question. This changes schema/editor/template field order only; stored values are not rewritten.

  • rename_data_field

    Rename one schema field and migrate stored values/localized values at the same schema path. Schema paths use returned field paths like bio, hero.ctaLabel, or faqItems[].question. Returned templateFieldsBefore/After and references tell you which CustomSection templates may need source edits.

  • remove_data_field

    Remove one schema field and purge stored values/localized values at that schema path. This is destructive. If the model is bound by CustomSections, the tool blocks unless force=true and returns affected references so templates can be updated first or immediately after.

  • create_data_entry

    Create one generated CMS collection entry. values is the semantic editable item object keyed by schema fieldKey names; do not send raw values/localizedValues. Localized string/richText leaves are stored for this locale and queued for translation, while URL/page:<pageId>, money, boolean, number, image, and video values stay shared. For later edits, read get_data_entry and call patch_data_entry against the returned editableItem using JSON Patch paths like /name or /amenities/0/label.

  • patch_data_entry

    Patch one generated CMS collection entry using RFC 6902 JSON Patch against get_data_entry.editableItem. The patch root is the entry's semantic item object, not query_data_entries.items and not data binding aliases; use fieldKey paths such as /bio, /price, or /faqs/1/answer. money/image/video fields are atomic object-shaped scalar fields, so replace the whole field instead of patching sub-properties such as /price/amountMinor. Pass baseRevision from get_data_entry/create_data_entry to prevent sta

  • review_form_asset

    Privately inspect one managed asset referenced by a website form submission. Use query_data_entries(includeHidden=true) or get_data_entry(includeHidden=true) to find assetId values, then call this before deciding whether to approve a moderated entry with show_data_entry. Small supported images are returned as model-visible MCP image content. Every ready asset also receives a short-lived owner-only review URL suitable for images, video, audio, and document downloads. Reviewing never publishes the

  • hide_data_entry

    Hide one collection entry from public collection rendering. Use for user requests like remove/take down/hide this card/team member/product. This is reversible with show_data_entry and does not delete content. If the entry is directly bound by a CustomSection, the tool blocks unless force=true and returns affected references. If this returns a baseRevision mismatch, call get_data_entry for the same entry and retry with the fresh baseRevision before reporting success.

  • show_data_entry

    Restore one hidden collection entry to public collection rendering. Use after query_data_entries(includeHidden=true) when the user approves a moderated submission or asks to bring back an item. Call review_form_asset for each managed assetId that the user wants to inspect before approval. Before changing visibility, managed assets whose current schema and upload policy explicitly allow publicWhenEntryVisible receive a public delivery rendition; private assets remain private and resolve as null i

  • move_data_entry

    Move one collection entry before or after another entry. Use for ordering requests like put David first or move this service after that one. Ordering is collection-global, not localized, and hidden entries keep their place unless explicitly moved.

Use in your AI tool

One-click into Claude, Cursor, VS Code, and more — connects straight to this server’s public endpoint.

Remote MCP URL
https://croisa.de/mcp