Skip to content

Xenition

com.xenition.api/xenitionapi.xenition.comstreamable-httpv0.2.1Scanned

Docs, decks, forms, apps you build and deploy, automations, and AI images, video and voice.

68 tools: 10 can delete or cancel things, 3 do something that can't be undone, 37 change things and 18 only read.

Tools: 10 delete, 3 irreversible, 37 write, 18 read.
  • Reads private data · 7
  • Reads text others write · 19
  • Can send data out · 3
  • 4 findings

Tools listed without sign-in. Remote posture

Anlyon alternative

50 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

68 tools

Deletes or cancels 10Claude Code: deny
  • approve_actionApprove a pending action awaiting the user's decision (from list_pending_approvals).Reads text others writeNo findings

    Why it is in this group

    • The name "approve_action" says "approve": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Approve a pending action awaiting the user's decision (from list_pending_approvals).

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Approve a pending action
  • complete_taskUse this when the user says a specific task is done and names it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when the user says a specific task is done and names it. Moves it to the board's done column and returns the updated board. If several tasks match or none is named, ask which one first.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Complete a task
  • deny_actionDeny a pending action awaiting the user's decision (from list_pending_approvals).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deny a pending action awaiting the user's decision (from list_pending_approvals).

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Deny a pending action
  • edit_appUse this when the user wants to change an app they built in Xenition — add a feature, change a screen, restyle it, fix something — described in plain words.No findings

    Why it is in this group

    • The name "edit_app" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when the user wants to change an app they built in Xenition — add a feature, change a screen, restyle it, fix something — described in plain words. Rewrites the affected files and saves a new version of the app. If the app is already live, the change is not published until deploy_app is called again. The app must have finished building (check app_status).

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Change an app
  • edit_artifactUse this when the user wants one of their existing Xenition items changed in place — rewrite, shorten, expand, change tone, fix grammar or translate.No findings

    Why it is in this group

    • The name "edit_artifact" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when the user wants one of their existing Xenition items changed in place — rewrite, shorten, expand, change tone, fix grammar or translate. Saves a new version and returns it. Best for documents and notes. To only suggest changes without editing, use review_artifact.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Edit a saved item
  • mark_paidMark a specific invoice in the user's own Xenition ledger as paid.No findings

    Why it is in this group

    • The name "mark_paid" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Mark a specific invoice in the user's own Xenition ledger as paid. This changes financial records, so it is a confirmed, two-step action: first call it WITHOUT `confirmed` to preview exactly which invoice would change, relay that to the user, and only call again with `confirmed:true` after they explicitly agree. When the user asks to mark ALL/EVERY/multiple unpaid invoices paid, list the affected invoices and get the user's confirmation before marking any. Returns the ledger's invoices.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Mark an invoice paid
  • move_taskUse this when the user wants a specific task moved to another column on its board (e.g.No findings

    Why it is in this group

    • The name "move_task" says "move": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when the user wants a specific task moved to another column on its board (e.g. to 'In progress'). Returns the updated board. Ask which task if the name is ambiguous.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Move a task
  • reschedule_eventUse this when the user wants to move an existing Xenition calendar event to a new time.No findings

    Why it is in this group

    • The name "reschedule_event" says "reschedule": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when the user wants to move an existing Xenition calendar event to a new time. Returns the upcoming schedule. Ask which event if several share the name; to add a new event use add_event.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Reschedule an event
  • run_agentUse this when the user wants one of their Xenition agents to work on a task in the background (research can take a few minutes).Reads text others writeNo findings

    Why it is in this group

    • The name "run_agent" says "run": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants one of their Xenition agents to work on a task in the background (research can take a few minutes). Returns a run id right away; progress, the final result and a link appear as it finishes, and check_agent_run reports on it. Call list_agents first if you do not know the agent.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Run an agent
  • set_automation_enabledUse this when the user wants to pause one of their automations or turn a paused one back on.No findings

    Why it is in this group

    • The name "set_automation_enabled" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when the user wants to pause one of their automations or turn a paused one back on. Needs the automation's id from list_automations.

    Annotations the server declares

    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Pause or resume an automation
Can't be undone 3Claude Code: ask
  • add_ledger_entryUse this when the user wants to record an invoice, bill or receipt in their Xenition ledger — vendor, amount, due date, optionally already paid.No findings

    Why it is in this group

    • The name "add_ledger_entry" says "add": a word for a change.
    • The input carries an amount (input.amount) and a currency, so it moves money.
    Description, as the server wrote it
    Use this when the user wants to record an invoice, bill or receipt in their Xenition ledger — vendor, amount, due date, optionally already paid. Returns the ledger's invoices. Do not use to pay, send or email an invoice; Xenition has no payment or messaging channel.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Add an invoice or bill
  • publish_artifactPublish an existing Xenition artifact as a public, read-only link anyone can open without signing in.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "publish_artifact" says "publish": a word for a change that another call does not undo.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "publish_artifact" says "publish": it sends or publishes something to other people.
    Description, as the server wrote it
    Publish an existing Xenition artifact as a public, read-only link anyone can open without signing in. Returns the shareable URL. Use when the user wants to share a document, deck, sheet, board, or other artifact.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Publish a shareable link
  • search_artifactsSearch the signed-in user's own Xenition artifacts (documents, slides, sheets, media, code) and return matches.Reads private data1 finding

    Why it is in this group

    • The name "search_artifacts" says "search": a word for reading.
    • The description says "irreversible".
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • private-dataThe description's first sentence says "search" and "document": it reads documents.

    Findings

    • Warn

      The server marks "search_artifacts" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "search_artifacts" says "search": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Search the signed-in user's own Xenition artifacts (documents, slides, sheets, media, code) and return matches. Use ONLY when the user is explicitly looking for their existing content. Do NOT call it to check whether an unsupported or out-of-scope action is possible, to find another person's content, or as a first step toward a bulk/irreversible action — confirm or decline those first.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Search your workspace
Changes things 37Claude Code: ask
  • add_eventUse this when the user wants to put a new event on their Xenition calendar (a meeting, call, deadline or reminder) with a start time.No findings

    Why it is in this group

    • The name "add_event" says "add": a word for a change.
    Description, as the server wrote it
    Use this when the user wants to put a new event on their Xenition calendar (a meeting, call, deadline or reminder) with a start time. Returns the upcoming schedule. Do not use to change an existing event (use reschedule_event), and it cannot send invitations to anyone.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Add a calendar event
  • add_noteUse this when the user wants to save something as a note in Xenition — an idea, a snippet, meeting jottings — with optional tags and notebook.No findings

    Why it is in this group

    • The name "add_note" says "add": a word for a change.
    Description, as the server wrote it
    Use this when the user wants to save something as a note in Xenition — an idea, a snippet, meeting jottings — with optional tags and notebook. Returns the saved note. For a long structured piece, use create_document instead.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Add a note
  • add_rowsUse this when the user wants to append rows of data to one of their existing Xenition spreadsheets.No findings

    Why it is in this group

    • The name "add_rows" says "add": a word for a change.
    Description, as the server wrote it
    Use this when the user wants to append rows of data to one of their existing Xenition spreadsheets. Returns the updated sheet. Do not use to create a new spreadsheet (use create_spreadsheet) or to answer questions about the data (use query_spreadsheet).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Add rows to a spreadsheet
  • add_taskUse this when the user wants to add a task or card to one of their Xenition boards, optionally in a named column with a due date.No findings

    Why it is in this group

    • The name "add_task" says "add": a word for a change.
    Description, as the server wrote it
    Use this when the user wants to add a task or card to one of their Xenition boards, optionally in a named column with a due date. Returns the updated board. To create a whole new board, use create_board.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Add a task
  • add_to_knowledgeUse this when the user wants Xenition to remember material so it can answer from it later — pasted notes, a policy, an article, or a public web page link (e.g.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "add_to_knowledge" says "add": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Use this when the user wants Xenition to remember material so it can answer from it later — pasted notes, a policy, an article, or a public web page link (e.g. 'save this pricing page so I can ask about it'). Saves it privately to their knowledge; ask_workspace and their agents then answer from it with sources. Text or a web page only; PDFs and Word files are uploaded in Xenition. Do not use to create a document (use the document tools) or to answer a question now (use ask_workspace).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Save to your knowledge
  • ask_workspaceUse this when the user asks a question about their own Xenition content — their documents, notes, files or saved knowledge.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when the user asks a question about their own Xenition content — their documents, notes, files or saved knowledge. Answers only from that content, with sources cited. Do not use for general knowledge or anything outside their workspace.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Ask your workspace
  • build_appUse this when the user wants a working web (or mobile) app built for them — e.g.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants a working web (or mobile) app built for them — e.g. a booking site, a CRM, an internal tool. Generates the full app (screens, API and database) in their Xenition workspace. Takes a few minutes: returns the app's id right away; check progress with app_status, then publish it with deploy_app. The user can also open the link to watch it build. To only open the builder with an idea, use open_app_builder.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Build an app
  • build_app_from_templateUse this when the user picks one of Xenition's app templates (from find_app_templates) and wants their own working copy.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user picks one of Xenition's app templates (from find_app_templates) and wants their own working copy. Copies the full template into their Xenition workspace and publishes it to a live URL; publishing takes a few minutes and app_status reports the links. To generate a new app from a description instead, use build_app.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Start an app from a template
  • check_3d_modelCheck the status of a 3D model started by create_3d_model.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Check the status of a 3D model started by create_3d_model. Returns whether it is still generating, completed (with the model), or failed. The inline preview calls this automatically; you can also call it if the user asks whether their model is ready.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Check a 3D model's progress
  • check_agent_runUse this to check a background agent run started by run_agent, when the user asks whether it is done or what it found.1 finding

    Why it is in this group

    • The name "check_agent_run" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_agent_run" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "check_agent_run" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Use this to check a background agent run started by run_agent, when the user asks whether it is done or what it found. Returns its status, the final answer when finished, and a link to view it in Xenition. An unknown id is reported as not found, not as still working.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Check an agent run
  • create_3d_modelGenerate a 3D model (glTF/GLB) in the user's Xenition workspace from a text prompt or a reference image.Reads text others writeNo findings

    Why it is in this group

    • The name "create_3d_model" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Generate a 3D model (glTF/GLB) in the user's Xenition workspace from a text prompt or a reference image. Starts generation and returns immediately; an interactive inline preview fills in as it renders (~30-60s, longer for 'realistic'), plus a link to open, edit, and export it (GLB/STL/OBJ) in Xenition. Use when the user asks for a 3D model, mesh, or asset. Best for a single object.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Create a 3D model
  • create_automationUse this when the user wants something done for them on a schedule — every day, on certain weekdays, or every few hours — e.g.No findings

    Why it is in this group

    • The name "create_automation" says "create": a word for a change.
    Description, as the server wrote it
    Use this when the user wants something done for them on a schedule — every day, on certain weekdays, or every few hours — e.g. 'every Monday at 9, summarise my sales sheet'. Creates a Xenition automation that runs on its own at those times, even when nobody is in this chat. Results appear in Xenition, and anything that would act in a connected app waits for the user's approval. Do not use for a one-off task now (use run_agent).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Schedule an automation
  • create_boardUse this when the user wants a new Kanban board — columns and task cards — built from a brief, e.g.No findings

    Why it is in this group

    • The name "create_board" says "create": a word for a change.
    Description, as the server wrote it
    Use this when the user wants a new Kanban board — columns and task cards — built from a brief, e.g. 'a board to plan our product launch'. Returns the board and a link to manage it. To add a single task to an existing board, use add_task.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Create a task board
  • create_diagramUse this when the user wants a diagram — flowchart, sequence, architecture, ER or mind map — created from a description.No findings

    Why it is in this group

    • The name "create_diagram" says "create": a word for a change.
    Description, as the server wrote it
    Use this when the user wants a diagram — flowchart, sequence, architecture, ER or mind map — created from a description. Returns the diagram and a link to open and edit it in Xenition.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Create a diagram
  • create_documentUse this when the user asks for a written piece — a report, article, letter, brief, essay or plan — to be created in their Xenition workspace.No findings

    Why it is in this group

    • The name "create_document" says "create": a word for a change.
    Description, as the server wrote it
    Use this when the user asks for a written piece — a report, article, letter, brief, essay or plan — to be created in their Xenition workspace. Returns the document and a link to open and edit it. For slides use create_slides; for a fill-in template such as an invoice or resume, use find_forms.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Create a document
  • create_imageUse this when the user wants an image made from a description — an illustration, photo-style picture, logo idea or background.Reads text others writeNo findings

    Why it is in this group

    • The name "create_image" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants an image made from a description — an illustration, photo-style picture, logo idea or background. Saves it to their Xenition library and returns the image link. To change an existing image, use edit_image.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Create an image
  • create_shared_formCreate a fillable form with a public link anyone can use to submit responses (like a Google Form) — for surveys, sign-ups, feedback, RSVPs.Reads text others writeNo findings

    Why it is in this group

    • The name "create_shared_form" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Create a fillable form with a public link anyone can use to submit responses (like a Google Form) — for surveys, sign-ups, feedback, RSVPs. Returns the shareable link; responses collect in Xenition. Use when the user wants to gather input from other people.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Create a shareable form
  • create_slidesCreate a polished, designed presentation deck in the user's Xenition workspace from a brief or topic.No findings

    Why it is in this group

    • The name "create_slides" says "create": a word for a change.
    Description, as the server wrote it
    Create a polished, designed presentation deck in the user's Xenition workspace from a brief or topic. Returns the deck's slides (shown as an inline preview) plus a link to open and edit it in Xenition. Use when the user asks for slides, a deck, a presentation, or a pitch deck.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Create a slide deck
  • create_speechUse this when the user wants text read aloud as an audio file — a voiceover, narration or spoken message.Reads text others writeNo findings

    Why it is in this group

    • The name "create_speech" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants text read aloud as an audio file — a voiceover, narration or spoken message. Returns an MP3 link and saves it to their Xenition library.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Turn text into speech
  • create_spreadsheetUse this when the user wants a new spreadsheet or data table — a budget, tracker, schedule or list with formulas where useful — created in their Xenition workspace.No findings

    Why it is in this group

    • The name "create_spreadsheet" says "create": a word for a change.
    Description, as the server wrote it
    Use this when the user wants a new spreadsheet or data table — a budget, tracker, schedule or list with formulas where useful — created in their Xenition workspace. Returns the sheet and a link to open it. To add rows to an existing sheet, use add_rows.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Create a spreadsheet
  • create_videoUse this when the user wants a short AI video clip made from a description.Reads text others writeNo findings

    Why it is in this group

    • The name "create_video" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants a short AI video clip made from a description. Starts the video and returns its id right away; generating takes a few minutes, and video_status reports when it is ready with the file link. The clip is saved to their Xenition library.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Create a video clip
  • deploy_appUse this when the user wants their built Xenition app published to a live URL.Reads text others writeNo findings

    Why it is in this group

    • The name "deploy_app" says "deploy": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants their built Xenition app published to a live URL. Deploys the app from build_app (it must have finished building — check app_status) and returns right away; deploying takes a few minutes, and app_status reports the live URLs. Publishing makes the app reachable by anyone with the link, so only do it when the user asks.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Publish an app
  • discover_sourcesSay where a Discover answer comes from: which public sources would be asked for a data type, and under what licence.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Say where a Discover answer comes from: which public sources would be asked for a data type, and under what licence. Use when the user asks how we know something, or whether the information can be trusted.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: true
    • title: List public listing sources
  • edit_imageUse this when the user wants an existing image changed: edit it by instruction, upscale, remove the background, enhance, erase something, restyle, colorize, restore, expand the can…Reads text others writeNo findings

    Why it is in this group

    • The name "edit_image" says "edit": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants an existing image changed: edit it by instruction, upscale, remove the background, enhance, erase something, restyle, colorize, restore, expand the canvas, or make a variation. Saves the result as a new image in their Xenition library; the original is kept.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Edit an image
  • edit_videoUse this when the user wants an existing video improved: burned-in captions, enhanced picture and sound, the background removed, or silences cut out (jump cut).Reads text others writeNo findings

    Why it is in this group

    • The name "edit_video" says "edit": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Use this when the user wants an existing video improved: burned-in captions, enhanced picture and sound, the background removed, or silences cut out (jump cut). Starts the edit and returns an id right away; video_status reports when the new video is ready. The original is kept; the result is saved to their Xenition library.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Edit a video
  • export_pdfUse this when the user wants one of their Xenition documents as a PDF file — to download, print or attach.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Use this when the user wants one of their Xenition documents as a PDF file — to download, print or attach. Returns a link to the PDF. Works for documents (reports, letters, articles); for slides, sheets or notes, open them in Xenition to export.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Export a document as PDF
  • extract_from_artifactUse this when the user wants a specific kind of information pulled out of one of their Xenition documents as a list — names, dates, figures, action items, tasks.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when the user wants a specific kind of information pulled out of one of their Xenition documents as a list — names, dates, figures, action items, tasks. Answers only from that document. To ask a free question about it, use query_document.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Extract details from a document
  • form_responsesUse this when the user wants to see what people submitted to a shareable form they made with create_shared_form — sign-ups, survey answers, RSVPs, feedback.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when the user wants to see what people submitted to a shareable form they made with create_shared_form — sign-ups, survey answers, RSVPs, feedback. Takes the form's link. Returns the responses, newest first, each with its answers and time. Only works for forms the user owns.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Read form responses
  • import_fileUse this when the user wants to bring a file's content into their Xenition workspace — e.g.No findings

    Why it is in this group

    • The name "import_file" says "import": a word for a change.
    Description, as the server wrote it
    Use this when the user wants to bring a file's content into their Xenition workspace — e.g. they attached or pasted a document and want it saved. Pass UTF-8 text in textContent, or other content base64-encoded in base64Content, with contentMimeType. Saves it as an editable document that summarize_artifact, query_document, ask_workspace and edit_artifact can work on. Supports text, Markdown, CSV, JSON, HTML and PDF. To bring in a page from the web instead, use add_to_knowledge with its URL.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Import a file into your workspace
  • meeting_notesTurn a meeting or call transcript into clean notes, decisions, and action items (with owners and due dates), saved to the user's Xenition workspace.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Turn a meeting or call transcript into clean notes, decisions, and action items (with owners and due dates), saved to the user's Xenition workspace. Use when the user pastes a transcript or asks to summarize a call into notes and tasks.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Turn a meeting into notes
  • my_agendaThe user's day at a glance from Xenition: today's calendar events, tasks due today or overdue, and anything awaiting approval.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The user's day at a glance from Xenition: today's calendar events, tasks due today or overdue, and anything awaiting approval. Use ONLY when the user explicitly asks about their day, schedule, or agenda — e.g. 'what does my day look like', 'what's on my plate today'. Do NOT use it as a fallback for vague requests like 'just handle it' or 'take care of the rest' — for those, ask the user what they mean instead.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Show my agenda
  • open_app_builderUse this when the user wants to open Xenition's no-code app builder themselves, pre-filled with their idea, to shape the app by hand.1 finding

    Why it is in this group

    • The name "open_app_builder" says "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "open_app_builder" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "open_app_builder" says "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Use this when the user wants to open Xenition's no-code app builder themselves, pre-filled with their idea, to shape the app by hand. This builds nothing — it returns a link that opens the builder. To have the app built for them from the conversation, use build_app instead.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Open the app builder
  • repurpose_artifactUse this when the user wants one of their Xenition items turned into a different format: a task board, calendar events, a form or a slide deck — e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Use this when the user wants one of their Xenition items turned into a different format: a task board, calendar events, a form or a slide deck — e.g. meeting notes into a board of action items, or a document into a deck. Creates a new item and returns it; the original is unchanged.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Turn an item into another format
  • review_artifactReview one of the user's Xenition documents and return constructive comments — each tied to a quoted passage — on clarity, structure, and correctness.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Review one of the user's Xenition documents and return constructive comments — each tied to a quoted passage — on clarity, structure, and correctness. Non-destructive: it suggests, it doesn't edit (use edit_artifact to apply changes).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Review a document
  • submit_formSubmit a filled Xenition form (from find_forms) to generate its document.No findings

    Why it is in this group

    • The name "submit_form" says "submit": a word for a change.
    Description, as the server wrote it
    Submit a filled Xenition form (from find_forms) to generate its document. Saves the result to the user's workspace and returns it. Usually called by the form widget when the user clicks submit.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: false
    • title: Generate a document from a form
  • transcribe_audioUse this when the user wants the words from an audio or video recording — a meeting, lecture, interview or voice memo — and gives a link to the file (https, up to 25 MB).Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Use this when the user wants the words from an audio or video recording — a meeting, lecture, interview or voice memo — and gives a link to the file (https, up to 25 MB). Returns the transcript and saves it as a document in their Xenition workspace. To turn it into notes and action items, pass the text to meeting_notes.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Transcribe a recording
  • video_statusUse this when the user asks whether a video from create_video or edit_video is ready.Reads text others write1 finding

    Why it is in this group

    • The name "video_status" says "status": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "video_status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "video_status" says "status": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Use this when the user asks whether a video from create_video or edit_video is ready. Returns generating, the finished file link, or why it failed. Needs the id from create_video or edit_video.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • readOnlyHint: false
    • title: Check a video
Only reads 18Show 18 read-only tools
  • app_statusUse this when the user asks how their app build or deploy is going, or whether it is live.No findings

    Why it is in this group

    • The name "app_status" says "status": a word for reading.
    Description, as the server wrote it
    Use this when the user asks how their app build or deploy is going, or whether it is live. Returns the build phase and file count while building, the finished app when built, and the live URLs once deployed. Needs the id returned by build_app.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Check an app build or deploy
  • find_app_templatesUse this when the user wants a ready-made app for a kind of business — a dance school, restaurant, clinic, store, CRM — to start from.No findings

    Why it is in this group

    • The name "find_app_templates" says "find": a word for reading.
    Description, as the server wrote it
    Use this when the user wants a ready-made app for a kind of business — a dance school, restaurant, clinic, store, CRM — to start from. Searches Xenition's ~200 full-stack templates (web app, API and database, each with a live demo) and returns matches with their demo links. To start the user's own copy, pass a template id to build_app_from_template.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Find an app template
  • find_formsSearch Xenition's library of ready-made forms (invoice, resume, proposal, meeting agenda, job description, and ~200 more).Reads private dataNo findings

    Why it is in this group

    • The name "find_forms" says "find": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "search" and "meeting": it reads calendars.
    Description, as the server wrote it
    Search Xenition's library of ready-made forms (invoice, resume, proposal, meeting agenda, job description, and ~200 more). Returns matching forms with their fields, shown as a fillable form the user can complete right here to generate a document. Use when the user wants to create a specific kind of document or fill out a form.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Find a document generator
  • get_artifactUse this when the user wants to read or open one specific item — a document, deck, spreadsheet, note or other artifact — and you have its id (from search_artifacts or an earlier re…Reads private dataNo findings

    Why it is in this group

    • The name "get_artifact" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    Description, as the server wrote it
    Use this when the user wants to read or open one specific item — a document, deck, spreadsheet, note or other artifact — and you have its id (from search_artifacts or an earlier result). Returns its content. Very long items come back cut to the first part; use query_document or summarize_artifact to work with the whole thing. Do not use to find items; use search_artifacts.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Open a saved item
  • get_missionUse this when the user asks about one specific Xenition mission (a long-running multi-agent job) by id.No findings

    Why it is in this group

    • The name "get_mission" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user asks about one specific Xenition mission (a long-running multi-agent job) by id. Returns its status and results. To see all missions, use list_missions.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Get an agent run
  • list_agentsUse this when the user asks what Xenition agents (named AI workers) they have, or before run_agent to pick the right one.No findings

    Why it is in this group

    • The name "list_agents" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user asks what Xenition agents (named AI workers) they have, or before run_agent to pick the right one. Returns each agent with its name and what it does.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List your agents
  • list_automationsUse this when the user asks what automations they have, when they run, or whether one is paused.No findings

    Why it is in this group

    • The name "list_automations" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user asks what automations they have, when they run, or whether one is paused. Returns each with its schedule, on/off state, last run and id.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List automations
  • list_connected_appsUse this when the user asks which third-party apps (Gmail, Slack, Notion, …) are connected to their Xenition account.No findings

    Why it is in this group

    • The name "list_connected_apps" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user asks which third-party apps (Gmail, Slack, Notion, …) are connected to their Xenition account. Read-only; it cannot connect new apps or act in them.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List connected apps
  • list_eventsUse this when the user asks what is on their Xenition calendar for a range — today, this week, a date, or upcoming.Reads private dataNo findings

    Why it is in this group

    • The name "list_events" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "calendar": it reads calendars.
    Description, as the server wrote it
    Use this when the user asks what is on their Xenition calendar for a range — today, this week, a date, or upcoming. Returns the events with times and links. For a combined view of today's events, tasks and approvals, use my_agenda.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List calendar events
  • list_missionsUse this when the user asks what missions (long-running multi-agent jobs) they have in Xenition and how they are going.No findings

    Why it is in this group

    • The name "list_missions" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user asks what missions (long-running multi-agent jobs) they have in Xenition and how they are going. Returns each with its status and id for get_mission.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List agent runs
  • list_pending_approvalsList actions the user's assistant/agents are waiting on the user to approve (the 7A approval gate).No findings

    Why it is in this group

    • The name "list_pending_approvals" says "list": a word for reading.
    Description, as the server wrote it
    List actions the user's assistant/agents are waiting on the user to approve (the 7A approval gate). Each item's id can be passed to approve_action or deny_action.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List actions awaiting approval
  • list_tasksUse this when the user asks what tasks are open on their Xenition boards — optionally one board, only theirs, or only overdue ones.No findings

    Why it is in this group

    • The name "list_tasks" says "list": a word for reading.
    Description, as the server wrote it
    Use this when the user asks what tasks are open on their Xenition boards — optionally one board, only theirs, or only overdue ones. Returns each task with its board, column, due date and link.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: List board tasks
  • query_documentAnswer a question about, or find a specific thing inside, ONE of the user's Xenition documents (grounded only in that document).Reads private dataNo findings

    Why it is in this group

    • The name "query_document" says "query": a word for reading.

    What it can reach

    • private-dataThe name "query_document" says "query" and "document": it reads documents.
    • private-dataThe description's first sentence says "document": it reads documents.
    Description, as the server wrote it
    Answer a question about, or find a specific thing inside, ONE of the user's Xenition documents (grounded only in that document). Use to look something up in a specific file the user names.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Ask about a document
  • query_ledgerList the user's own Xenition ledger invoices with paid/unpaid status.No findings

    Why it is in this group

    • The name "query_ledger" says "query": a word for reading.
    Description, as the server wrote it
    List the user's own Xenition ledger invoices with paid/unpaid status. Optionally filter to a vendor or only unpaid ones. Use ONLY when the user is asking to see or total invoices already recorded in their Xenition ledger — e.g. 'what invoices are unpaid', 'how much do I owe vendor X'. Do NOT use it to send, text, email, or deliver an invoice to anyone (Xenition cannot send communications), and do NOT use it to look up invoices that are not in the user's Xenition ledger.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Look up invoices and bills
  • query_spreadsheetAnswer a question or compute a result over one of the user's Xenition spreadsheets — sums, trends, lookups, or 'what does this data say'.No findings

    Why it is in this group

    • The name "query_spreadsheet" says "query": a word for reading.
    Description, as the server wrote it
    Answer a question or compute a result over one of the user's Xenition spreadsheets — sums, trends, lookups, or 'what does this data say'. Returns the answer and, when relevant, a suggested formula.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Ask about a spreadsheet
  • search_notesUse this when the user is looking for one of their Xenition notes by words, tag or notebook.Reads private dataNo findings

    Why it is in this group

    • The name "search_notes" says "search": a word for reading.

    What it can reach

    • private-dataThe name "search_notes" says "search" and "note": it reads notes.
    • private-dataThe description's first sentence says "note": it reads notes.
    Description, as the server wrote it
    Use this when the user is looking for one of their Xenition notes by words, tag or notebook. Returns matching notes with links. To search all their content (documents, decks, sheets), use search_artifacts.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Search notes
  • summarize_artifactUse this when the user wants a summary of one of their Xenition documents, notes or research — a TL;DR, key points, action items or a fuller summary.Reads private dataNo findings

    Why it is in this group

    • The name "summarize_artifact" says "summarize": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "document": it reads documents.
    Description, as the server wrote it
    Use this when the user wants a summary of one of their Xenition documents, notes or research — a TL;DR, key points, action items or a fuller summary. Works on long documents in full. Do not use to change the document (use edit_artifact).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
    • readOnlyHint: true
    • title: Summarize a document

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

399 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 3 outbound tools breaks every one.

Reads private data7
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write19
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out3
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__xenition__add_to_knowledge",
      "mcp__xenition__publish_artifact",
      "mcp__xenition__transcribe_audio"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Tools listed without sign-in

Looked at Oct 22, 2026, 14:44 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
50
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
not observed
RFC 9728 protected resource metadata
https://api.xenition.com/.well-known/oauth-protected-resource
Authorization servers
https://api.xenition.com
Legacy HTTP+SSE transport
no
Dynamic client registration
yes
Client ID metadata documents
yes
  • HighThe whole server

    The endpoint served tools/list without credentials, and the list has 50 tools that change things (10 destructive, 3 irreversible, 37 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://api.xenition.com/mcp: tools/list returned 68 tools to an anonymous client, including approve_action (destructive), complete_task (destructive), deny_action (destructive), edit_app (destructive), edit_artifact (destructive) and 45 more

    What this check looks for

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "check_agent_run" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "check_agent_run" says "run": a word for a change.

    What this check looks for
  • The server marks "open_app_builder" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "open_app_builder" says "open": a word for a change.

    What this check looks for
  • The server marks "search_artifacts" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "search_artifacts" says "search": a word for reading.

    What this check looks for
  • The server marks "video_status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "video_status" says "status": a word for reading.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 0.2.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http xenition https://api.xenition.com/mcp
claude mcp add --transport http xenition https://api.xenition.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__xenition__app_status",
      "mcp__xenition__discover_search",
      "mcp__xenition__find_app_templates",
      "mcp__xenition__find_forms",
      "mcp__xenition__get_artifact",
      "mcp__xenition__get_mission",
      "mcp__xenition__list_agents",
      "mcp__xenition__list_automations",
      "mcp__xenition__list_connected_apps",
      "mcp__xenition__list_events",
      "mcp__xenition__list_missions",
      "mcp__xenition__list_pending_approvals",
      "mcp__xenition__list_tasks",
      "mcp__xenition__query_document",
      "mcp__xenition__query_ledger",
      "mcp__xenition__query_spreadsheet",
      "mcp__xenition__search_notes",
      "mcp__xenition__summarize_artifact"
    ],
    "ask": [
      "mcp__xenition__add_event",
      "mcp__xenition__add_ledger_entry",
      "mcp__xenition__add_note",
      "mcp__xenition__add_rows",
      "mcp__xenition__add_task",
      "mcp__xenition__add_to_knowledge",
      "mcp__xenition__ask_workspace",
      "mcp__xenition__build_app",
      "mcp__xenition__build_app_from_template",
      "mcp__xenition__check_3d_model",
      "mcp__xenition__check_agent_run",
      "mcp__xenition__create_3d_model",
      "mcp__xenition__create_automation",
      "mcp__xenition__create_board",
      "mcp__xenition__create_diagram",
      "mcp__xenition__create_document",
      "mcp__xenition__create_image",
      "mcp__xenition__create_shared_form",
      "mcp__xenition__create_slides",
      "mcp__xenition__create_speech",
      "mcp__xenition__create_spreadsheet",
      "mcp__xenition__create_video",
      "mcp__xenition__deploy_app",
      "mcp__xenition__discover_sources",
      "mcp__xenition__edit_image",
      "mcp__xenition__edit_video",
      "mcp__xenition__export_pdf",
      "mcp__xenition__extract_from_artifact",
      "mcp__xenition__form_responses",
      "mcp__xenition__import_file",
      "mcp__xenition__meeting_notes",
      "mcp__xenition__my_agenda",
      "mcp__xenition__open_app_builder",
      "mcp__xenition__publish_artifact",
      "mcp__xenition__repurpose_artifact",
      "mcp__xenition__review_artifact",
      "mcp__xenition__search_artifacts",
      "mcp__xenition__submit_form",
      "mcp__xenition__transcribe_audio",
      "mcp__xenition__video_status"
    ],
    "deny": [
      "mcp__xenition__approve_action",
      "mcp__xenition__complete_task",
      "mcp__xenition__deny_action",
      "mcp__xenition__edit_app",
      "mcp__xenition__edit_artifact",
      "mcp__xenition__mark_paid",
      "mcp__xenition__move_task",
      "mcp__xenition__reschedule_event",
      "mcp__xenition__run_agent",
      "mcp__xenition__set_automation_enabled"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as xenition. Review it before you use it.

Capability tags behind 26 rules
  • mcp__xenition__add_to_knowledge untrusted-input, outbound
  • mcp__xenition__approve_action untrusted-input
  • mcp__xenition__build_app untrusted-input
  • mcp__xenition__build_app_from_template untrusted-input
  • mcp__xenition__check_3d_model untrusted-input
  • mcp__xenition__create_3d_model untrusted-input
  • mcp__xenition__create_image untrusted-input
  • mcp__xenition__create_shared_form untrusted-input
  • mcp__xenition__create_speech untrusted-input
  • mcp__xenition__create_video untrusted-input
  • mcp__xenition__deploy_app untrusted-input
  • mcp__xenition__discover_search untrusted-input
  • mcp__xenition__discover_sources untrusted-input
  • mcp__xenition__edit_image untrusted-input
  • mcp__xenition__edit_video untrusted-input
  • mcp__xenition__find_forms private-data
  • mcp__xenition__get_artifact private-data
  • mcp__xenition__list_events private-data
  • mcp__xenition__publish_artifact untrusted-input, outbound
  • mcp__xenition__query_document private-data
  • mcp__xenition__run_agent untrusted-input
  • mcp__xenition__search_artifacts private-data
  • mcp__xenition__search_notes private-data
  • mcp__xenition__summarize_artifact private-data
  • mcp__xenition__transcribe_audio untrusted-input, outbound
  • mcp__xenition__video_status untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.xenition.api/xenition/verify?hash=d49fce2c42b56600d3f067986c476d36b069941fff90a730ad7a8ca4df362411" | jq -e '.changed == false'

Pinned hash d49fce2c42b5, from Oct 21, 2026, 18:37 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.xenition.api/xenition/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.xenition.api/xenition
[![anlyon.dev](https://anlyon.dev/badge/com.xenition.api/xenition.svg)](https://anlyon.dev/servers/com.xenition.api/xenition)

Source: MCP Registry · repository. Synced Oct 21, 2026, 18:11 UTC.