bymundi API

Insert a library block into a trip

The insert_library_entry MCP tool: insert a library block into a trip.

insert_library_entry · writes

MCP only (no REST operation).

What the model reads

Copies a saved block from the agency's library (search_library) into a trip's itinerary, with everything inside it, under parentId (a ref or id; absent = the root) at position. A library block is a template, not a link: the copy is the trip's own. overrides changes the copy's data before it lands, by the node's position in the entry's snapshot (0 = the entry itself, then its children in order, as get_library_entry lists them).

Permissions: trips:write, catalog:read. Set dryRun: true to preview the effect without writing anything. Undo: the result names a change id; undo_change reverts it.

Input

Field Type Required Description
tripId uuid yes
entryId uuid yes
parentId string | null
position "start" | "end" | "after" | "before"
anchorId string max 64 chars
overrides object[] max 50 items
overrides[].index integer yes ≥ 0
overrides[].data object yes
dryRun boolean Preview only: plan the change and return its effect without writing.

Input schema (JSON)

{
  "type": "object",
  "properties": {
    "tripId": {
      "type": "string",
      "format": "uuid"
    },
    "entryId": {
      "type": "string",
      "format": "uuid"
    },
    "parentId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ]
    },
    "position": {
      "type": "string",
      "enum": [
        "start",
        "end",
        "after",
        "before"
      ]
    },
    "anchorId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "overrides": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "minimum": 0
          },
          "data": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "required": [
          "index",
          "data"
        ],
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "dryRun": {
      "type": "boolean",
      "description": "Preview only: plan the change and return its effect without writing."
    }
  },
  "required": [
    "tripId",
    "entryId"
  ],
  "additionalProperties": false
}