Skip to main content
Glama
lazyants

transkribus-mcp-server

by lazyants

Upload Page

transkribus_upload_page
Idempotent

Upload a page image and optional PAGE XML to an existing Transkribus upload using uploadId and imagePath, adding pages for OCR or HTR processing.

Instructions

Upload a page image (and optional PAGE XML) to an existing upload.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNameNoFile name for the image part, overriding the local file's basename
uploadIdYesResource ID
imagePathYesAbsolute local path to the page image file
pageXmlPathNoAbsolute local path to a PAGE XML file for this page

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv4.0.0
    • addedInput schema / properties / fileName
      Added value: +{
      +  "description": "File name for the image part, overriding the local file's basename",
      +  "type": "string"
      +}
    • addedInput schema / properties / imagePath
      Added value: +{
      +  "description": "Absolute local path to the page image file",
      +  "type": "string"
      +}
    • removedInput schema / properties / pageData
      Removed value: -{
      -  "additionalProperties": {},
      -  "description": "Page upload data",
      -  "propertyNames": {
      -    "type": "string"
      -  },
      -  "type": "object"
      -}
    • addedInput schema / properties / pageXmlPath
      Added value: +{
      +  "description": "Absolute local path to a PAGE XML file for this page",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "uploadId"
      -]New value: +[
      +  "uploadId",
      +  "imagePath"
      +]
  2. First observedv2.1.1

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds only the 'existing upload' targeting constraint; it does not mention that re-uploading the same page is idempotent, nor any auth, size-limit, or side-effect context. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with the core action and the required/optional inputs front-loaded, no filler. It is slightly under-specified rather than padded, so it earns a 4 rather than a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, an agent cannot learn what the call returns (e.g., page id or status) since the description stays silent on return values. The input side is adequately covered by the schema plus the 'existing upload' note, making it minimally viable but not complete for an upload/mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (fileName, uploadId, imagePath, pageXmlPath) are already documented in the schema, including the local-path vs filename override distinction. The description merely restates that the image is required and PAGE XML optional, adding no syntax or format detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Upload a page image (and optional PAGE XML)') and scopes it to 'an existing upload', which distinguishes it from the create-from-* / create_structure / create_s3 siblings. It does not explicitly name those alternatives, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'to an existing upload' implies the prerequisite that an upload container must already exist, which is useful usage context. However, there is no explicit when-to-use guidance, no comparison to transkribus_upload_create_structure or transkribus_upload_create_s3, and no note on when PAGE XML should be supplied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools