Skip to main content
Glama
transkribus-mcp-server

transkribus-mcp-server

by lazyants

transkribus-mcp-server

Tests

MCP server for the Transkribus REST API. Manage collections, documents, HTR/OCR recognition, models, and more through the Model Context Protocol.

305 tools by default, or 307 with Processing v2, across 23 resource domains, with 9 entry points so you can pick the right server for your MCP client's tool limit.

API scope: This server covers two Transkribus APIs:

  • the legacy TrpServer REST API (https://transkribus.eu/TrpServer/rest), session-based — 301 tools;

  • the Processing API, OIDC bearer auth via account.readcoop.eu — 4 transkribus_processing_* tools with the default Metagrapho v1 backend (https://transkribus.eu/processing/v1), or 6 with the optional Developer Platform v2 beta (https://api-staging.transkribus.org/v2).

v2 requires explicit selection. Its published OpenAPI names a staging server; production v2 availability has not been confirmed. Both backends take config.textRecognition.htrId.

Installation

npm install -g @lazyants/transkribus-mcp-server

Or run directly:

npx @lazyants/transkribus-mcp-server

Related MCP server: paperless-mcp

Configuration

Transkribus uses session-based authentication. Credentials are resolved in this order, per value:

  1. OS keyring (recommended — nothing is written to a config file in clear text)

  2. Environment variable (TRANSKRIBUS_USER + TRANSKRIBUS_PASSWORD, or TRANSKRIBUS_SESSION_ID)

Either a user name and password (the server logs in and manages the session) or a session id you already hold. A session id takes precedence when both are available; it expires, so a user name and password is the better choice for a long-running setup — and is what lets the server re-authenticate after a 401.

The keyring is never required: if it is unavailable — a headless Linux box with no Secret Service, an unsupported platform, an install with --omit=optional — or if it does not answer within 5 seconds, the server falls back to the environment.

Store the credentials in the OS keyring

Three entries under one service name, transkribus-mcp by default: user, password and session-id (store only what you use).

IMPORTANT

The commands below read the value from an interactive prompt rather than taking it as an argument, so it never lands in your shell history, in a command line, or in the launch environment of another process. Avoid pasting a password directly onto the command line.

macOS

Omitting the value after -w makes security prompt for it:

security add-generic-password -s "transkribus-mcp" -a "user" -w
security add-generic-password -s "transkribus-mcp" -a "password" -w
NOTE

A login-keychain item belongs to the program that created it. The first time the server reads an item created bysecurity, macOS shows a "…wants to use your confidential information stored in transkribus-mcp" dialog — choose Always Allow and it will not ask again. Until that is granted the read cannot complete: the server waits 5 seconds, then falls back to the environment variables, so a server started where nobody can answer the dialog behaves as if the keyring were empty rather than hanging.

To avoid the dialog entirely, write the entry from the same Node.js runtime that will read it. The value is piped in on standard input, so it appears neither in a command line nor in a process environment (ps -E shows those). The prompt below is plain POSIX, so it behaves the same in zsh and bash:

npm install -g @lazyants/transkribus-mcp-server   # the keyring module ships with it
cd "$(npm root -g)/@lazyants/transkribus-mcp-server"
printf 'Transkribus password: ' >&2; stty -echo; IFS= read -r TK_SECRET; stty echo; printf '\n' >&2
printf '%s' "$TK_SECRET" | node -e '
  const { Entry } = require("@napi-rs/keyring");
  let value = "";
  process.stdin.setEncoding("utf8");
  process.stdin.on("data", (chunk) => { value += chunk; });
  process.stdin.on("end", () => {
    new Entry("transkribus-mcp", "password").setPassword(value);
    console.log("stored");
  });
'
unset TK_SECRET

Repeat with "user" in place of "password". A different Node.js installation later (a nvm switch, say) is a different program to the keychain, so the dialog can appear once more for it.

Windows (PowerShell)

cmdkey can only take the value as a command-line argument, which exposes it in the process list. Read it from a hidden prompt instead and write it straight into Windows Credential Manager via CredWrite. The credential's target name is <account>.<service> — user.transkribus-mcp and password.transkribus-mcp for the default service — which is exactly what the server reads back:

Add-Type -Namespace TranskribusKeyring -Name Native -MemberDefinition @'
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CREDENTIAL {
    public uint Flags;
    public uint Type;
    [MarshalAs(UnmanagedType.LPWStr)] public string TargetName;
    [MarshalAs(UnmanagedType.LPWStr)] public string Comment;
    public System.Runtime.InteropServices.ComTypes.FILETIME LastWritten;
    public uint CredentialBlobSize;
    public IntPtr CredentialBlob;
    public uint Persist;
    public uint AttributeCount;
    public IntPtr Attributes;
    [MarshalAs(UnmanagedType.LPWStr)] public string TargetAlias;
    [MarshalAs(UnmanagedType.LPWStr)] public string UserName;
}
[DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern bool CredWriteW(ref CREDENTIAL credential, uint flags);
'@

function Set-TranskribusCredential {
    param([Parameter(Mandatory)][string]$Account, [Parameter(Mandatory)][string]$Prompt)
    $secure = Read-Host -AsSecureString $Prompt
    $blob = [Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($secure)
    try {
        $cred = New-Object TranskribusKeyring.Native+CREDENTIAL
        $cred.Type = 1                                  # CRED_TYPE_GENERIC
        $cred.Persist = 2                               # CRED_PERSIST_LOCAL_MACHINE
        $cred.TargetName = "$Account.transkribus-mcp"   # "<account>.<service>"
        $cred.UserName = $Account
        $cred.CredentialBlob = $blob
        $cred.CredentialBlobSize = $secure.Length * 2   # UTF-16 bytes, no terminator
        if (-not [TranskribusKeyring.Native]::CredWriteW([ref]$cred, 0)) {
            throw "CredWrite failed (Win32 error $([Runtime.InteropServices.Marshal]::GetLastWin32Error()))"
        }
        Write-Host "Stored '$Account' in Windows Credential Manager."
    } finally {
        [Runtime.InteropServices.Marshal]::ZeroFreeCoTaskMemUnicode($blob)
        $secure.Dispose()
        Remove-Variable secure, blob
    }
}

Set-TranskribusCredential -Account 'user' -Prompt 'Transkribus user (e-mail)'
Set-TranskribusCredential -Account 'password' -Prompt 'Transkribus password'

Using a custom TRANSKRIBUS_KEYRING_SERVICE (e.g. acme)? Set TargetName to user.acme / password.acme to match — the server looks each value up under <account>.<service>.

Linux

secret-tool store --label="Transkribus user" service transkribus-mcp username user
secret-tool store --label="Transkribus password" service transkribus-mcp username password
# (each prompts for the value)

Once stored, MCP config files need no credentials at all.

Use environment variables instead

export TRANSKRIBUS_USER=your-email@example.com
export TRANSKRIBUS_PASSWORD=your-password

Or, with a session you already hold:

export TRANSKRIBUS_SESSION_ID=your-session-id

Environment variables

Variable

Default

Description

TRANSKRIBUS_USER

—

Account e-mail; used when the keyring has no user entry for the configured service

TRANSKRIBUS_PASSWORD

—

Account password; used when the keyring has no password entry

TRANSKRIBUS_SESSION_ID

—

An existing session id; used when the keyring has no session-id entry

TRANSKRIBUS_KEYRING_SERVICE

transkribus-mcp

Keyring service name. Override to connect to several Transkribus accounts at once — run one server instance per account, each with its own service name

Processing API credentials

The transkribus_processing_* tools talk to a different service with a different auth scheme, but they need no extra configuration: the same TRANSKRIBUS_USER + TRANSKRIBUS_PASSWORD are exchanged for an OIDC bearer token (READCOOP SSO password grant, client processing-api-client) and refreshed automatically. TRANSKRIBUS_SESSION_ID does not apply to them.

Two optional overrides:

export TRANSKRIBUS_ACCESS_TOKEN=your-bearer-token       # skip the token exchange entirely
export TRANSKRIBUS_PROCESSING_CLIENT_ID=custom-client   # non-default OIDC client

Optional Processing v2 beta

Set TRANSKRIBUS_PROCESSING_BACKEND=v2 in the MCP server's environment before starting it. The default is v1; invalid values fail configuration. v2 uses the documented staging host https://api-staging.transkribus.org/v2, with the same OIDC credentials and PAGE/ALTO XML operations as v1. This selection affects the Processing tools in both the full server and transkribus-mcp-processing.

Backend

Job identifiers

Terminal statuses

Result retention

Tools

v1 (default)

Positive integers, including numeric strings

FINISHED, FAILED

Two days

Submit, status, PAGE XML, ALTO XML

v2 (beta, staging)

Positive integers, numeric strings, UUIDs

FINISHED, FAILED, CANCELLED

24 hours after completion

The same four tools, plus longpoll and ZIP

v2 submission and status results preserve the API fields and add terminal, pollingAvailable, and linksByRel. Links are indexed by their stable rel values, such as self, status, longpoll, result, and page-result; display titles do not affect behavior. An absent longpoll relation stops polling availability, and terminal states always stop it. Link URLs are returned as data; the server requests only the selected backend's documented paths.

  • transkribus_processing_longpoll: pass processId and optionally interval (an int32 number of milliseconds). The call returns the observed job with timedOut: false; inspect terminal because HTTP 200 may contain a nonterminal status change. HTTP 408 or the 45-second local deadline returns { processId, timedOut: true, terminal: null }, so callers may retry without treating a timeout as a completed job.

  • transkribus_processing_get_result_zip: pass processId to download a finished job's archive. The result includes filename, mimeType: "application/zip", encoding: "base64", byteLength, and data; decode data as base64 and save it under filename. Downloads are limited to 20 MiB, checked for ZIP MIME type and signature, and do not follow redirects. HTTP 404 means no result is available.

These two tools are advertised only with v2 selected. The job guide describes lifecycle, links, and retention; the compatibility guide documents the Developer Platform's existing /v2/processes contract.

Entry Points

Command

Domains

Tools

transkribus-mcp-server

All 23 domains

305 (307 with v2)

transkribus-mcp-collections

Auth, Collections (core/docs/pages/users/crowd/editdecl/credits/stats/labels/activity/tags)

132

transkribus-mcp-admin

Auth, Admin, Credits, Uploads, Labels, Files, System, Root

62

transkribus-mcp-transcription

Auth, Recognition, Layout Analysis, PyLaia, P2PaLA, DU

47

transkribus-mcp-users

Auth, Users, Crowdsourcing, eLearning

29

transkribus-mcp-models

Auth, Models

26

transkribus-mcp-jobs

Auth, Jobs, Actions

19

transkribus-mcp-search

Auth, Search, KWS

16

transkribus-mcp-processing

Processing — no legacy auth tools

4 (6 with v2)

Use split servers to reduce context size — pick only the splits you need.

Uploading a document

To ingest a document, use this three-step flow:

  1. transkribus_upload_create_structure — give it collId, a title, and a pages array of { fileName, pageNr } (one entry per page image you are about to send). Returns an upload with an uploadId.

  2. transkribus_upload_page — call once per page with the uploadId and imagePath (a path to a local image file), optionally pageXmlPath for an existing PAGE XML transcript.

  3. transkribus_upload_get_status — poll with the uploadId until the document appears in the collection.

These upload tools ship in the full transkribus-mcp-server and in the transkribus-mcp-admin split — not in transkribus-mcp-collections.

Uploading a PDF

transkribus_coll_create_doc_from_pdf creates a document from a local PDF in one call. Give it collId and pdfFilePath (a path to a local PDF file), and optionally a title and doDeleteImportSource. The file must start with the %PDF- header; anything else is refused before a request is sent. The tool returns the API's response unchanged. It ships in the full transkribus-mcp-server and in the transkribus-mcp-collections split — not in transkribus-mcp-admin.

You can still convert the PDF to page images yourself and use the three-step flow above, for example to control the image format or resolution.

Claude Code

Add to ~/.claude/settings.json. With the credentials in the OS keyring under the default service name (recommended), no env key is needed:

{
  "mcpServers": {
    "transkribus": {
      "command": "npx",
      "args": ["-y", "@lazyants/transkribus-mcp-server"]
    }
  }
}

Or use split servers (pick the splits you need):

{
  "mcpServers": {
    "transkribus-collections": {
      "command": "npx",
      "args": ["-y", "-p", "@lazyants/transkribus-mcp-server", "transkribus-mcp-collections"]
    },
    "transkribus-transcription": {
      "command": "npx",
      "args": ["-y", "-p", "@lazyants/transkribus-mcp-server", "transkribus-mcp-transcription"]
    }
  }
}

Two Transkribus accounts at once — one instance per account, each pointed at its own keyring service name:

{
  "mcpServers": {
    "transkribus-team-a": {
      "command": "npx",
      "args": ["-y", "@lazyants/transkribus-mcp-server"],
      "env": { "TRANSKRIBUS_KEYRING_SERVICE": "transkribus-team-a" }
    },
    "transkribus-team-b": {
      "command": "npx",
      "args": ["-y", "@lazyants/transkribus-mcp-server"],
      "env": { "TRANSKRIBUS_KEYRING_SERVICE": "transkribus-team-b" }
    }
  }
}

Without a keyring, pass the credentials in env instead:

{
  "mcpServers": {
    "transkribus": {
      "command": "npx",
      "args": ["-y", "@lazyants/transkribus-mcp-server"],
      "env": {
        "TRANSKRIBUS_USER": "your-email@example.com",
        "TRANSKRIBUS_PASSWORD": "your-password"
      }
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json. With the credentials in the OS keyring (recommended — assumes the default service name transkribus-mcp):

{
  "mcpServers": {
    "transkribus": {
      "command": "npx",
      "args": ["-y", "@lazyants/transkribus-mcp-server"]
    }
  }
}

Without a keyring:

{
  "mcpServers": {
    "transkribus": {
      "command": "npx",
      "args": ["-y", "@lazyants/transkribus-mcp-server"],
      "env": {
        "TRANSKRIBUS_USER": "your-email@example.com",
        "TRANSKRIBUS_PASSWORD": "your-password"
      }
    }
  }
}

Security

  • Use the OS keyring to keep your password out of config files and shell history entirely (see Configuration)

  • Never commit your credentials to version control

  • Session IDs expire — prefer a user name and password for long-running setups; a session id alone cannot be renewed after a 401

Disclaimer

This is an unofficial MCP server for Transkribus. The authors are not affiliated with READ-COOP SCE. Use at your own risk.

Releasing

Releases ship via the GitHub Release event. Maintainer flow:

  1. Bump the version in package.json, package-lock.json, and server.json (npm version <x.y.z> --no-git-tag-version updates the first two together). npm run check-versions hard-fails unless package.json#/version and server.json#/packages[0].version agree. server.json#/version is checked loosely: it must be present, and it only fails when it regresses below packages[0].version — a value left behind at the previous release passes with a WARN: line and exit 0. The script does not look at package-lock.json or CHANGELOG.md at all, so read its output rather than trusting its exit code.

  2. Update CHANGELOG.md.

  3. Commit, and merge the version bump to main before creating the release. Then create the tag yourself, on a SHA you have checked, and only then create the release from it:

    V=X.Y.Z && PR=<release-pr-number> &&
      SHA="$(gh pr view "$PR" --json mergeCommit -q .mergeCommit.oid)" && test -n "$SHA" &&
      git fetch origin main && git merge-base --is-ancestor "$SHA" origin/main &&
      PKG="$(git show "$SHA:package.json")" &&
      test "$(printf '%s' "$PKG" | node -pe 'JSON.parse(require("fs").readFileSync(0,"utf8")).version')" = "$V" &&
      CL="$(git show "$SHA:CHANGELOG.md")" &&
      printf '%s\n' "$CL" | awk -v v="$V" 'index($0,"## ["v"]")==1{f=1;next} /^## \[/{f=0} /^\[[0-9]+\.[0-9]+\.[0-9]+\]:/{f=0} f' > "/tmp/notes-v$V.md" &&
      grep -q '[^[:space:]]' "/tmp/notes-v$V.md" &&
      git tag -a "v$V" "$SHA" -m "v$V" &&
      git push origin "v$V" &&
      gh release create "v$V" --verify-tag --notes-file "/tmp/notes-v$V.md"

    The failure this prevents: with no existing tag, gh release create vX.Y.Z places one on the tip of the default branch. Run it while the bump is still on a release branch and it tags the previous release's commit; the workflow then publishes whatever version it finds in that commit's package.json, producing a vX.Y.Z GitHub Release that silently republishes the old version. The publish workflow now refuses to continue when GITHUB_REF_NAME is not v<package.json version>, so that exact scenario fails before npm publish rather than silently republishing. The sequence above is still required, and guards a case the workflow cannot: the workflow guard only runs once a release already exists, and it passes for any commit carrying the right version — so it catches a mis-tagged release, not the wrong commit being tagged.

    Each element is load-bearing:

    • gh pr view … .mergeCommit.oid names the release PR's own squash commit. Do not substitute git rev-parse origin/main: that is merely whatever sits on main at the moment you look, so an unrelated merge landing in the gap gets tagged and shipped instead. gh exits 0 and prints nothing for an unmerged PR, hence the explicit test -n.

    • The && chain stops at the first failure instead of falling through to the irreversible step. Both git show calls are assigned to a variable rather than piped directly, so their exit status is actually checked — a pipeline reports only its last command's status unless pipefail is set, which is not assumed here.

    • git merge-base --is-ancestor proves the commit is reachable from main. Mere existence is not enough: a commit can be present locally because another branch was fetched, and if its version files happen to match it would otherwise pass every remaining check.

    • The version test reads package.json out of the target commit, not the working tree — which would still show the right version while $SHA pointed elsewhere.

    • The awk lifts that version's section out of the commit's CHANGELOG.md for --notes-file. Without it the release body is whatever --notes-from-tag finds in the annotation — here the literal string vX.Y.Z, a poor release note for any version and a misleading one for a release carrying a breaking change. It stops at the next ## [ heading or at the first link-reference definition, because the oldest entry has no heading after it and would otherwise swallow the whole link-reference block. grep -q rather than test -s guards the result: a section empty apart from its blank line still produces a one-byte file, which test -s accepts.

    • --verify-tag makes gh abort rather than invent a tag if the push did not land — the guard against the tip-of-default-branch fallback described above.

    If gh release create fails after the tag is already pushed, do not rerun the whole block; it will stop at git tag, which is correct. Rerun only the final command.

  4. The Publish to npm + MCP Registry workflow runs automatically: it npm publishes with provenance, polls the registry until the tarball is available, then pushes the matching server.json to the MCP Registry via mcp-publisher.

The workflow skips npm publish cleanly if the version is already on npm (cutover guard for releases that were partially published manually).

npm authentication

Publishing uses npm Trusted Publishing: the workflow's GitHub OIDC token (id-token: write) is exchanged for a one-shot publish token at runtime. No NPM_TOKEN secret needs to live in the repo.

The binding is configured in the npm web UI (package → Trusted Publishers): provider GitHub Actions, organization lazyants, repository transkribus-mcp-server, workflow publish-registry.yml.

License

FSL-1.1-MIT — see LICENSE for the full terms. Versions 1.x remain MIT-licensed.

Available Tools

305 tools
transkribus_action_countCount ActionsA
Read-onlyIdempotent

Get the total count of actions, optionally filtered by collection or type.

Inputs: id, end, page, type, +8 more.

transkribus_action_infoGet Action InfoA
Read-onlyIdempotent

Retrieve detailed information about a specific action.

Inputs: id (required).

transkribus_action_listList ActionsB
Read-onlyIdempotent

List actions with optional filtering by collection, type, and pagination.

Inputs: id, end, page, type, +13 more.

transkribus_admin_authorize_users_for_jobAuthorize Users for JobC

Authorize specific users to run a job implementation.

Inputs: jobImpl (required), userIds (required).

transkribus_admin_get_job_logGet Job LogB
Read-onlyIdempotent

Retrieve the log output for a specific job.

Inputs: id (required), db.

transkribus_admin_get_job_usersGet Job Authorized UsersA
Read-onlyIdempotent

List users authorized to run a specific job implementation.

Inputs: jobImpl (required).

transkribus_admin_get_reportsGet Admin ReportsB
Read-onlyIdempotent

Retrieve administrative reports by type and time period.

Inputs: reportTime (required), reportType (required).

transkribus_admin_list_sessionsList Active SessionsA
Read-onlyIdempotent

List all currently active user sessions.

Inputs: no named parameters.

transkribus_admin_move_field_modelMove Field ModelB
Idempotent

Move a field recognition model to a different directory.

Inputs: modelName (required), path.

transkribus_admin_move_table_modelMove Table ModelA
Idempotent

Move a table recognition model to a different directory.

Inputs: modelName (required), path.

transkribus_admin_rebuild_models_indexRebuild Models IndexA

Rebuild the search index for all recognition models.

Inputs: no named parameters.

transkribus_auth_check_sessionCheck SessionA
Read-onlyIdempotent

Check if the current Transkribus session is valid.

Inputs: no named parameters.

transkribus_auth_get_detailsGet Auth DetailsA
Read-onlyIdempotent

Get details of the currently authenticated user.

Inputs: no named parameters.

transkribus_auth_invalidateInvalidate SessionB
DestructiveIdempotent

Invalidate the current authentication session.

Inputs: no named parameters.

transkribus_auth_logoutLogoutA
Idempotent

Log out of the current Transkribus session.

Inputs: no named parameters.

transkribus_auth_refreshRefresh SessionA
Idempotent

Refresh the current authentication session token.

Inputs: no named parameters.

transkribus_coll_activity_recognitionGet Recognition ActivityB
Read-onlyIdempotent

Get recognition activity records for a collection.

Inputs: collId (required), to, from.

transkribus_coll_activity_savesGet Save ActivityB
Read-onlyIdempotent

Get save activity records for a collection.

Inputs: collId (required), to, from.

transkribus_coll_add_docAdd Document to CollectionB

Add an existing document to a collection.

Inputs: docId (required), collId (required), id, moveTo.

transkribus_coll_add_docsAdd Documents to CollectionA

Add multiple existing documents to a collection.

Inputs: collId (required), docIds (required), moveTo.

transkribus_coll_add_favoriteAdd Collection to FavoritesC

Add a collection to the user favorites.

Inputs: collId (required).

transkribus_coll_can_manageCan Manage CollectionB
Read-onlyIdempotent

Check if the current user can manage the specified collection.

Inputs: collId (required).

transkribus_coll_countCount CollectionsA
Read-onlyIdempotent

Get the total number of collections accessible to the current user.

Inputs: empty, filter.

transkribus_coll_count_docsCount Documents in CollectionB
Read-onlyIdempotent

Get the number of documents in a collection.

Inputs: collId (required), labelId, isDeleted, uploaderId.

transkribus_coll_count_find_documentsCount Found DocumentsB
Read-onlyIdempotent

Count documents matching the given search criteria.

Inputs: id, descr, docId, title, +9 more.

transkribus_coll_createCreate CollectionB

Create a new collection with the given name.

Inputs: collName (required).

transkribus_coll_create_doc_from_ftpCreate Document from FTPB

Ingest a document into a collection from an FTP source.

Inputs: collId (required), fileName, doDeleteImportSource, checkForDuplicateTitle.

transkribus_coll_create_doc_from_iiifCreate Document from IIIF URLC

Create a document in a collection from an IIIF manifest URL.

Inputs: url (required), collId (required), canvasFilenameReference.

transkribus_coll_create_doc_from_metsCreate Document from METSA

Create a document in a collection from a METS XML document, uploaded as multipart form data. Provide exactly one of metsXml or metsFilePath.

Inputs: collId (required), metsXml, metsFilePath.

transkribus_coll_create_doc_from_mets_urlCreate Document from METS URLC

Create a document in a collection from a METS URL.

Inputs: url (required), collId (required).

transkribus_coll_create_doc_from_pdfCreate Document from PDFA

Create a document in a collection by uploading a local PDF file as multipart form data.

Inputs: collId (required), pdfFilePath (required), title, doDeleteImportSource.

transkribus_coll_create_iob_importIOB ImportA

Create documents from an IOB import.

Inputs: id, collId, fileName.

transkribus_coll_credit_add_packageAdd Credit PackageA

Add a credit package to a collection.

Inputs: id (required), collId (required).

transkribus_coll_credit_historyGet Credit HistoryB
Read-onlyIdempotent

Get the credit usage history for a collection.

Inputs: collId (required), index, nValues, sortColumn, +1 more.

transkribus_coll_credit_listList Collection CreditsC
Read-onlyIdempotent

List credit packages associated with a collection.

Inputs: collId (required), index, nValues, minBalance, +4 more.

transkribus_coll_credit_remove_packageRemove Credit PackageB
DestructiveIdempotent

Remove a credit package from a collection.

Inputs: id (required), collId (required).

transkribus_coll_credit_transactionsGet Credit TransactionsC
Read-onlyIdempotent

Get credit transaction records for a collection.

Inputs: collId (required), index, nValues, sortColumn, +1 more.

transkribus_coll_deleteDelete CollectionB
DestructiveIdempotent

Delete a collection by ID.

Inputs: collId (required), force.

transkribus_coll_delete_emptyDelete Empty CollectionA
DestructiveIdempotent

Delete a collection only if it is empty.

Inputs: collId (required).

transkribus_coll_duplicateDuplicate CollectionB

Duplicate an entire collection.

Inputs: collId (required).

transkribus_coll_duplicate_docDuplicate DocumentC

Duplicate a document within a collection.

Inputs: docId (required), collId (required), name, targetCollId.

transkribus_coll_ead_metadata_importEAD Metadata ImportC

Import EAD metadata into a collection.

Inputs: collId (required), fileName.

transkribus_coll_exportExport CollectionB
Read-onlyIdempotent

Start an export job for documents of a collection. Choose formats in commonPars and set format options in altoPars, pdfPars, teiPars or docxPars.

Inputs: collId (required), docs, pages, pdfPars, +4 more.

transkribus_coll_find_documentsFind DocumentsB
Read-onlyIdempotent

Search for documents across collections using filters.

Inputs: id, descr, docId, extId, +25 more.

transkribus_coll_find_documents_oldFind Documents (Legacy)C
Read-onlyIdempotent

Search for documents using the legacy endpoint.

Inputs: id, descr, docId, index, +10 more.

transkribus_coll_find_documents_postFind Documents (POST)B
Read-onlyIdempotent

Search for documents across collections using a POST request body.

Inputs: docId, index, title, author, +5 more.

transkribus_coll_get_metadataGet Collection MetadataB
Read-onlyIdempotent

Get metadata for a collection.

Inputs: collId (required), stats.

transkribus_coll_get_recentGet Recent in CollectionB
Read-onlyIdempotent

Get recently accessed items in a collection.

Inputs: collId (required), index, nValues, sortColumn, +1 more.

transkribus_coll_get_recent_collectionsGet Recent CollectionsB
Read-onlyIdempotent

Get recently accessed collections.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_coll_get_recent_documentsGet Recent DocumentsB
Read-onlyIdempotent

Get recently accessed documents.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_coll_get_tag_defsGet Collection Tag DefinitionsC
Read-onlyIdempotent

List tag definitions for a collection.

Inputs: collId (required), legacy.

transkribus_coll_label_listList Collection LabelsB
Read-onlyIdempotent

List all labels associated with a collection.

Inputs: collId (required), index, nValues, isDeleted, +2 more.

transkribus_coll_listList CollectionsB
Read-onlyIdempotent

List all collections accessible to the current user.

Inputs: role, index, collId, filter, +6 more.

transkribus_coll_list_by_nameList Collections By NameB
Read-onlyIdempotent

Search for collections by name.

Inputs: name (required), index, nValues, exactMatch, +2 more.

transkribus_coll_list_docsList Documents in CollectionC
Read-onlyIdempotent

List all documents in a collection with pagination.

Inputs: collId (required), extId, genre, index, +20 more.

transkribus_coll_list_docs_xmlList Documents in Collection (XML)B
Read-onlyIdempotent

List all documents in a collection in XML format.

Inputs: collId (required), index, nValues, isDeleted, +2 more.

transkribus_coll_list_for_userList Collections for UserB
Read-onlyIdempotent

List collections accessible to a specific user.

Inputs: userid (required), role, index, nValues, +3 more.

transkribus_coll_list_pagedList Collections (Paged)B
Read-onlyIdempotent

List collections with pagination support.

Inputs: empty, index, nValues, sortColumn, +1 more.

transkribus_coll_list_xmlList Collections (XML)B
Read-onlyIdempotent

List all collections in XML format.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_coll_modifyModify CollectionC
Idempotent

Modify the properties of a collection.

Inputs: collId (required), collName, description.

transkribus_coll_remove_docRemove Document from CollectionB
DestructiveIdempotent

Remove a document from a collection without deleting it.

Inputs: id (required), collId (required).

transkribus_coll_remove_favoriteRemove Collection from FavoritesB
DestructiveIdempotent

Remove a collection from the user favorites.

Inputs: collId (required).

transkribus_coll_remove_userRemove User from Collection (POST)B
DestructiveIdempotent

Remove a user from a collection using the POST endpoint.

Inputs: collId (required), userid (required).

transkribus_coll_subscribe_getGet Collection SubscriptionB
Read-onlyIdempotent

Get the subscription status for a collection.

Inputs: collId (required).

transkribus_coll_update_default_tag_defsUpdate Default Tag DefinitionsB
Idempotent

Update the default tag definitions across all collections.

Inputs: body (required).

transkribus_coll_update_metadataUpdate Collection MetadataC
Idempotent

Update the metadata for a collection.

Inputs: collId (required), title, language, description.

transkribus_coll_update_tag_defsUpdate Collection Tag DefinitionsC
Idempotent

Update tag definitions for a specific collection.

Inputs: body (required), collId (required).

transkribus_coll_user_addAdd User to CollectionB

Add a new user to a collection with an optional role.

Inputs: collId (required), userId (required), role, sendMail.

transkribus_coll_user_add_or_modifyAdd or Modify User in CollectionB
Idempotent

Add a user to a collection or modify their role if they already exist.

Inputs: role (required), collId (required), userId (required), userid, +1 more.

transkribus_coll_user_countCount Collection UsersB
Read-onlyIdempotent

Get the number of users in a collection.

Inputs: collId (required), role.

transkribus_coll_user_get_listGet Collection UsersC
Read-onlyIdempotent

Get the list of users with access to a collection.

Inputs: collId (required), role, index, nValues, +2 more.

transkribus_coll_user_listList Collection UsersC
Read-onlyIdempotent

List users of a collection with optional pagination.

Inputs: collId (required), role, index, nValues, +2 more.

transkribus_coll_user_removeRemove User from CollectionA
DestructiveIdempotent

Remove a user from a collection by their user ID.

Inputs: collId (required), userid (required).

transkribus_coll_user_statsGet User StatsC
Read-onlyIdempotent

Get user statistics for a collection.

Inputs: collId (required), index, nValues, sortColumn, +1 more.

transkribus_coll_user_update_roleUpdate User RoleB
Idempotent

Update the role of a user in a collection.

Inputs: role (required), collId (required), userid (required), sendMail.

transkribus_credit_createCreate Credit PackageC

Create a new credit package.

Inputs: type, label, amount, sourcePackageId.

transkribus_credit_getGet Credit PackageA
Read-onlyIdempotent

Get details of a specific credit package by ID.

Inputs: id (required).

transkribus_credit_get_collectionsGet Credit Package CollectionsA
Read-onlyIdempotent

List collections associated with a specific credit package.

Inputs: id (required).

transkribus_credit_get_costsGet Credit CostsB
Read-onlyIdempotent

Get the credit cost information, optionally filtered by type.

Inputs: time, type.

transkribus_credit_get_historyGet Credit HistoryB
Read-onlyIdempotent

Get the credit usage history with pagination.

Inputs: index, userid, nValues, sortColumn, +1 more.

transkribus_credit_get_package_transactionsGet Credit Package TransactionsB
Read-onlyIdempotent

List credit transactions for a specific credit package.

Inputs: id (required), index, nValues, sortColumn, +1 more.

transkribus_credit_get_productsGet Credit ProductsC
Read-onlyIdempotent

List available credit products for purchase.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_credit_get_transactionsGet Credit TransactionsB
Read-onlyIdempotent

List credit transactions with pagination.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_credit_handle_orderHandle Credit OrderC
Idempotent

Process a credit order by ID.

Inputs: id (required), status, paymentMethod.

transkribus_credit_list_by_userList Credits by UserC
Read-onlyIdempotent

List credit packages for the current user.

Inputs: index, userid, nValues, isShared, +6 more.

transkribus_credit_manageManage Credit HistoryD
Idempotent

Create or update credit history entries.

Inputs: index, nValues, sortColumn, sourceUserId, +1 more.

transkribus_credit_updateUpdate Credit PackageB
Idempotent

Update an existing credit package by ID.

Inputs: id (required), label, amount.

transkribus_crowd_delete_messagesDelete Crowd Project MessagesB
DestructiveIdempotent

Delete messages from the crowd project of a collection.

Inputs: collId (required), id.

transkribus_crowd_delete_milestonesDelete Crowd Project MilestonesA
DestructiveIdempotent

Delete milestones from the crowd project of a collection.

Inputs: collId (required), id.

transkribus_crowd_get_projectGet Crowd ProjectA
Read-onlyIdempotent

Get the crowd project details for a collection.

Inputs: collId (required).

transkribus_crowd_post_messagePost Crowd Project MessageB

Store a new message in the crowd project of a collection.

Inputs: collId (required), message (required).

transkribus_crowd_post_milestonePost Crowd Project MilestoneC

Store a new milestone in the crowd project of a collection.

Inputs: title (required), collId (required), date.

transkribus_crowd_post_projectCreate or Update Crowd ProjectC
Idempotent

Create or update the crowd project configuration for a collection.

Inputs: body (required), collId (required).

transkribus_crowdsource_countCount Crowdsourcing ProjectsA
Read-onlyIdempotent

Get the total count of crowdsourcing projects.

Inputs: no named parameters.

transkribus_crowdsource_get_detailsGet Crowdsourcing DetailsB
Read-onlyIdempotent

Get crowdsourcing details for a collection.

Inputs: collId (required).

transkribus_crowdsource_listList Crowdsourcing ProjectsA
Read-onlyIdempotent

List available crowdsourcing projects.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_crowdsource_subscribeSubscribe to CrowdsourcingC

Subscribe to a crowdsourcing project for a collection.

Inputs: collId (required).

transkribus_crowdsource_unsubscribeUnsubscribe from CrowdsourcingB
DestructiveIdempotent

Unsubscribe from a crowdsourcing project for a collection.

Inputs: collId (required).

transkribus_doc_deleteDelete DocumentC
DestructiveIdempotent

Delete a document from a collection.

Inputs: id (required), collId (required), delete.

transkribus_doc_exportExport DocumentA

Start an export job for a document. Choose formats in commonPars and set format options in altoPars, pdfPars, teiPars or docxPars.

Inputs: id (required), collId (required), pages, pdfPars, +4 more.

transkribus_doc_get_costsGet Document CostsB
Read-onlyIdempotent

Get the processing costs for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_editorial_declarationGet Editorial DeclarationB
Read-onlyIdempotent

Get the editorial declaration for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_fulldocGet Full DocumentA
Read-onlyIdempotent

Get the full document including all pages and transcripts.

Inputs: id (required), collId (required), stats, status, +1 more.

transkribus_doc_get_fulldoc_xmlGet Full Document XMLB
Read-onlyIdempotent

Get the full document in XML format.

Inputs: id (required), collId (required), nrOfTranscripts.

transkribus_doc_get_image_namesGet Image NamesB
Read-onlyIdempotent

Get the image file names for all pages in a document.

Inputs: id (required), collId (required).

transkribus_doc_get_metadataGet Document MetadataB
Read-onlyIdempotent

Get metadata for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_metsGet Document METSB
Read-onlyIdempotent

Get the METS metadata for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_page_idsGet Page IDsB
Read-onlyIdempotent

Get the page IDs for all pages in a document.

Inputs: id (required), collId (required), pages.

transkribus_doc_get_pagesGet Document PagesC
Read-onlyIdempotent

Get all pages for a document.

Inputs: id (required), collId (required), index, pages, +18 more.

transkribus_doc_get_plaintextGet Document PlaintextA
Read-onlyIdempotent

Get the transcribed text of a whole document in one call, with "--- page N ---" separators. Fetches at most 100 pages and 100000 characters per call; when more remain, the result carries nextStartPage.

Inputs: id (required), collId (required), endPage, maxChars, +1 more.

transkribus_doc_get_statGet Document StatC
Read-onlyIdempotent

Get document statistics summary.

Inputs: id (required), collId (required).

transkribus_doc_get_statsGet Document StatsC
Read-onlyIdempotent

Get detailed statistics for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_test_setGet Test SetB
Read-onlyIdempotent

Get the test set data for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_train_dataGet Training DataC
Read-onlyIdempotent

Get the training data for a document.

Inputs: id (required), collId (required).

transkribus_doc_get_transcript_idsGet Transcript IDsB
Read-onlyIdempotent

Get all transcript IDs for a document.

Inputs: id (required), collId (required), index, pages, +3 more.

transkribus_doc_get_validation_dataGet Validation DataC
Read-onlyIdempotent

Get the validation data for a document.

Inputs: id (required), collId (required).

transkribus_doc_has_affiliationCheck Document AffiliationB
Read-onlyIdempotent

Check if a document has an affiliation.

Inputs: id (required), collId (required).

transkribus_doc_list_collectionsList Document CollectionsB
Read-onlyIdempotent

List all collections a document belongs to.

Inputs: id (required), collId (required), index, nValues, +2 more.

transkribus_doc_list_collections_pagedList Document Collections (Paged)A
Read-onlyIdempotent

List all collections a document belongs to with pagination.

Inputs: id (required), collId (required), index, nValues, +2 more.

transkribus_doc_list_pagesList Document PagesB
Read-onlyIdempotent

List pages in a document with pagination.

Inputs: id (required), collId (required), index, nValues, +2 more.

transkribus_doc_move_pages_by_image_namesMove Pages by Image NamesB

Move pages within a document based on image names.

Inputs: id (required), body (required), collId (required).

transkribus_doc_post_editorial_declarationPost Editorial DeclarationB
Idempotent

Create or update the editorial declaration for a document.

Inputs: id (required), collId (required), body.

transkribus_doc_remove_from_collectionRemove Document from CollectionA
DestructiveIdempotent

Remove a document from a collection without deleting it.

Inputs: id (required), collId (required).

transkribus_doc_update_metadataUpdate Document MetadataC
Idempotent

Update metadata for a document.

Inputs: id (required), collId (required), title, author, +1 more.

transkribus_doc_update_metadata_v2Update Document Metadata v2C
Idempotent

Update document metadata using the v2 endpoint.

Inputs: id (required), body (required), collId (required).

transkribus_doc_update_transcriptUpdate Document TranscriptB
Idempotent

Update a transcript for a specific page in a document.

Inputs: id (required), page (required), collId (required), status, +1 more.

transkribus_du_recognizeRun DU RecognitionC

Run Document Understanding recognition on a document using a specific model.

Inputs: docId (required), collId (required), modelId (required), pages.

transkribus_editdecl_delete_featureDelete Edit Declaration FeatureB
DestructiveIdempotent

Delete an editorial declaration feature from a collection.

Inputs: collId (required), featId (required), id.

transkribus_editdecl_delete_optionDelete Edit Declaration OptionA
DestructiveIdempotent

Delete an option from an editorial declaration feature.

Inputs: collId (required), optionId (required), id.

transkribus_editdecl_list_featuresList Edit Declaration FeaturesB
Read-onlyIdempotent

List all editorial declaration features for a collection.

Inputs: collId (required).

transkribus_editdecl_post_featureCreate Edit Declaration FeatureB

Store a new editorial declaration feature in a collection.

Inputs: title (required), collId (required), description.

transkribus_editdecl_post_optionCreate Edit Declaration OptionC

Store a new option for an editorial declaration feature.

Inputs: collId (required), featId (required), option (required).

transkribus_elearning_countCount E-Learning CoursesA
Read-onlyIdempotent

Get the total count of e-learning courses.

Inputs: no named parameters.

transkribus_elearning_listList E-Learning CoursesB
Read-onlyIdempotent

List available e-learning courses.

Inputs: index, nValues, sortColumn, sortDirection.

transkribus_elearning_subscribeSubscribe to E-LearningB

Subscribe to an e-learning course for a collection.

Inputs: collId (required).

transkribus_elearning_unsubscribeUnsubscribe from E-LearningA
DestructiveIdempotent

Unsubscribe from an e-learning course for a collection.

Inputs: collId (required).

transkribus_file_checkCheck FileB
Read-onlyIdempotent

Check the status or existence of a file at a given path.

Inputs: path, fileName.

transkribus_file_list_dirsList DirectoriesA
Read-onlyIdempotent

List directories at a given path on the server.

Inputs: path.

transkribus_file_list_filesList FilesA
Read-onlyIdempotent

List files at a given path on the server.

Inputs: path.

transkribus_job_countCount JobsB
Read-onlyIdempotent

Get the total number of jobs, optionally filtered by status or type.

Inputs: id, type, collId, status, +3 more.

transkribus_job_createCreate JobC

Create a new processing job.

Inputs: type (required), docId, collId.

transkribus_job_getGet JobC
Read-onlyIdempotent

Get details of a specific job by ID.

Inputs: id (required).

transkribus_job_get_credit_transactionsGet Job Credit TransactionsC
Read-onlyIdempotent

Get credit transactions associated with a specific job.

Inputs: jobId (required), index, nValues, sortColumn, +1 more.

transkribus_job_get_errorsGet Job ErrorsB
Read-onlyIdempotent

Get error details for a specific job.

Inputs: id (required), index, nValues, sortColumn, +1 more.

transkribus_job_killKill JobA
DestructiveIdempotent

Kill a running job by ID.

Inputs: id (required).

transkribus_job_listList JobsB
Read-onlyIdempotent

List jobs with pagination, optionally filtered by status or type.

Inputs: id, type, index, collId, +7 more.

transkribus_job_restart_all_by_userRestart All Jobs by UserB
Idempotent

Restart all jobs for a specific user.

Inputs: userid (required).

transkribus_job_undoUndo JobB
DestructiveIdempotent

Undo the results of a completed job.

Inputs: jobId (required).

transkribus_job_updateUpdate JobB
Idempotent

Update properties of an existing job.

Inputs: id (required), status, description.

transkribus_job_waitWait for JobA
Read-onlyIdempotent

Poll a job until it reaches FINISHED, FAILED or CANCELED, or until the wait budget runs out. Defaults: poll every 5s, wait up to 30s; a timed-out result is not an error — call again to keep waiting.

Inputs: id (required), maxWaitSeconds, pollIntervalSeconds.

transkribus_kws_create_queryCreate KWS QueryB

Create a new keyword spotting query.

Inputs: query (required), collId (required), id.

transkribus_kws_get_hitsGet KWS Query HitsC
Read-onlyIdempotent

Get hits for a keyword spotting query.

Inputs: id (required), index, keyword, nValues.

transkribus_kws_get_keywordsGet KWS Query KeywordsA
Read-onlyIdempotent

Get keywords for a keyword spotting query.

Inputs: id (required).

transkribus_kws_get_result_dataGet KWS Result DataB
Read-onlyIdempotent

Get result data for a keyword spotting query.

Inputs: id (required).

transkribus_kws_list_queriesList KWS QueriesB
Read-onlyIdempotent

List keyword spotting queries.

Inputs: id, index, collId, status, +3 more.

transkribus_la_analyzeRun Layout AnalysisC

Run layout analysis on document pages.

Inputs: docId (required), collId (required), pages, credits, +6 more.

transkribus_la_analyze_advancedRun Advanced Layout AnalysisB

Run advanced layout analysis with additional parameters.

Inputs: docId (required), collId (required), pages, credits, +7 more.

transkribus_label_assign_documentsAssign Documents to LabelC

Assign documents to a label.

Inputs: labelId (required), documentIds (required).

transkribus_label_assign_pagesAssign Pages to LabelC

Assign pages to a label.

Inputs: labelId (required), pageIds (required).

transkribus_label_createCreate LabelC

Create a new label.

Inputs: name (required), color.

transkribus_label_deleteDelete LabelB
DestructiveIdempotent

Delete a label by ID.

Inputs: id (required), force.

transkribus_label_getGet LabelA
Read-onlyIdempotent

Get a label by ID.

Inputs: id (required).

transkribus_label_listList LabelsC
Read-onlyIdempotent

List all labels.

Inputs: id, type, index, collId, +6 more.

transkribus_label_remove_all_documentsRemove All Documents from LabelA
DestructiveIdempotent

Remove all documents from a label.

Inputs: labelId (required).

transkribus_label_remove_all_pagesRemove All Pages from LabelC
DestructiveIdempotent

Remove all pages from a label.

Inputs: labelId (required).

transkribus_label_remove_documentsRemove Documents from LabelC
DestructiveIdempotent

Remove documents from a label.

Inputs: labelId (required), documentIds (required).

transkribus_label_remove_pagesRemove Pages from LabelC
DestructiveIdempotent

Remove pages from a label.

Inputs: labelId (required), pageIds (required).

transkribus_label_replace_document_assignmentsReplace Document Label AssignmentsC
Idempotent

Replace label assignments for a specific document.

Inputs: id (required), labelId (required), labelIds.

transkribus_label_replace_page_assignmentsReplace Page Label AssignmentsC
Idempotent

Replace label assignments for a specific page.

Inputs: id (required), labelId (required), labelIds.

transkribus_label_updateUpdate LabelB
Idempotent

Update an existing label by ID.

Inputs: id (required), name, color.

transkribus_la_get_costsGet Layout Analysis CostsA
Read-onlyIdempotent

Get the cost estimate for layout analysis on a document.

Inputs: docId (required), collId (required), credits, modelId, +1 more.

transkribus_la_la2_inferenceLA2 InferenceB

Run LA2 model inference on document pages.

Inputs: docId (required), collId (required), pages, credits, +9 more.

transkribus_la_table_inferenceTable InferenceB

Run table structure inference on document pages.

Inputs: docId (required), collId (required), pages, credits, +1 more.

transkribus_model_add_collectionAdd Collection to ModelB

Add a collection to a model by type and model ID.

Inputs: type (required), collId (required), modelId (required).

transkribus_model_add_collection_by_idAdd Collection to Model by IDB

Add a collection to a model by model ID and collection ID.

Inputs: collId (required), modelId (required).

transkribus_model_deleteDelete ModelA
DestructiveIdempotent

Delete a model by its ID.

Inputs: modelId (required).

transkribus_model_delete_by_typeDelete Model by TypeB
DestructiveIdempotent

Delete a model by its type and ID.

Inputs: id (required), type (required).

transkribus_model_getGet ModelC
Read-onlyIdempotent

Get details of a model by its ID.

Inputs: modelId (required), prov, slug, index, +18 more.

transkribus_model_get_by_typeGet Models by TypeC
Read-onlyIdempotent

Get models filtered by type with optional query parameters.

Inputs: type (required), prov, slug, index, +23 more.

transkribus_model_get_detailsGet Model DetailsC
Read-onlyIdempotent

Get detailed information about a model by type and ID.

Inputs: id (required), type (required).

transkribus_model_get_field_paramsGet Model Field ParametersC
Read-onlyIdempotent

Get the field parameters for a model by type and ID.

Inputs: id (required), type (required).

transkribus_model_get_train_dataGet Model Training DataB
Read-onlyIdempotent

Get the training data for a model by type and ID.

Inputs: id (required), type (required), index, nValues.

transkribus_model_get_train_data_docsGet Training Data DocumentsB
Read-onlyIdempotent

Get the documents used as training data for a model.

Inputs: id (required), type (required), index, nValues.

transkribus_model_get_train_data_statsGet Training Data StatisticsC
Read-onlyIdempotent

Get statistics about the training data for a model.

Inputs: id (required), type (required).

transkribus_model_get_validation_dataGet Validation DataC
Read-onlyIdempotent

Get the validation data for a model by type and ID.

Inputs: id (required), type (required), index, nValues.

transkribus_model_get_validation_data_docsGet Validation Data DocumentsB
Read-onlyIdempotent

Get the documents used as validation data for a model.

Inputs: id (required), type (required), index, nValues.

transkribus_model_get_validation_data_statsGet Validation Data StatisticsC
Read-onlyIdempotent

Get statistics about the validation data for a model.

Inputs: id (required), type (required).

transkribus_model_listList ModelsB
Read-onlyIdempotent

List available models with optional pagination and filtering.

Inputs: all, prov, type, index, +8 more.

transkribus_model_list_collectionsList Model CollectionsC
Read-onlyIdempotent

List collections associated with a model by type and ID.

Inputs: id (required), type (required).

transkribus_model_list_collections_by_idList Model Collections by IDC
Read-onlyIdempotent

List collections associated with a model by its ID.

Inputs: modelId (required), transcriptIds.

transkribus_model_remove_collectionRemove Collection from ModelC
DestructiveIdempotent

Remove a collection from a model by type, model ID, and collection ID.

Inputs: type (required), collId (required), modelId (required).

transkribus_model_remove_collection_by_idRemove Collection from Model by IDA
DestructiveIdempotent

Remove a collection from a model by model ID and collection ID.

Inputs: collId (required), modelId (required).

transkribus_model_updateUpdate ModelC
Idempotent

Update a model by posting updated model data.

Inputs: body (required).

transkribus_model_update_by_typeUpdate Model by TypeC
Idempotent

Update a model by its type and ID.

Inputs: id (required), body (required), type (required).

transkribus_p2pala_trainTrain P2PaLA ModelB

Start P2PaLA layout analysis model training for a collection.

Inputs: collId (required), modelName, description.

transkribus_page_addAdd PageA

Add a new page to a document at the specified position.

Inputs: id (required), page (required), collId (required), imgUrl, +1 more.

transkribus_page_assign_plaintextAssign Plaintext to PageB
Idempotent

Assign plain text content to a page as a new transcript.

Inputs: id (required), page (required), text (required), collId (required), +6 more.

transkribus_page_count_transcriptsCount Page TranscriptsA
Read-onlyIdempotent

Get the number of transcripts for a page.

Inputs: id (required), page (required), collId (required).

transkribus_page_deleteDelete PageB
DestructiveIdempotent

Delete a page from a document.

Inputs: id (required), page (required), collId (required).

transkribus_page_delete_transcriptDelete Page TranscriptB
DestructiveIdempotent

Delete a specific transcript version from a page.

Inputs: id (required), key (required), page (required), collId (required).

transkribus_page_getGet PageC
Read-onlyIdempotent

Get details of a specific page in a document.

Inputs: id (required), page (required), collId (required).

transkribus_page_get_curr_transcriptGet Current TranscriptB
Read-onlyIdempotent

Get the current transcript for a page.

Inputs: id (required), page (required), collId (required).

transkribus_page_get_imageGet Page ImageA
Read-onlyIdempotent

Return the scanned image of a page as an image content block, so a multimodal client can read the manuscript itself. Defaults to the thumbnail and a 5000000-byte cap; ask for size "full" to get the full-resolution scan.

Inputs: id (required), page (required), collId (required), size, +1 more.

transkribus_page_get_metadataGet Page MetadataB
Read-onlyIdempotent

Get metadata for a specific page.

Inputs: id (required), page (required), collId (required).

transkribus_page_get_plaintextGet Page PlaintextB
Read-onlyIdempotent

Get the plain text content of a page transcript.

Inputs: id (required), page (required), collId (required).

transkribus_page_get_textGet Page Text (Transcript)B
Read-onlyIdempotent

Get the transcript text for a specific page.

Inputs: id (required), page (required), collId (required).

transkribus_page_get_transcriptGet Page TranscriptC
Read-onlyIdempotent

Get a specific transcript version for a page.

Inputs: id (required), page (required), collId (required), transcriptId (required).

transkribus_page_is_lockedCheck Page LockB
Read-onlyIdempotent

Check if a page is currently locked.

Inputs: id (required), page (required), collId (required).

transkribus_page_list_locksList Page LocksA
Read-onlyIdempotent

List all locks on a page.

Inputs: id (required), page (required), collId (required).

transkribus_page_list_transcriptsList Page TranscriptsB
Read-onlyIdempotent

List all transcript versions for a page.

Inputs: id (required), page (required), collId (required), index, +3 more.

transkribus_page_lockLock/Unlock PageB
Idempotent

Lock or unlock a page for editing.

Inputs: id (required), page (required), collId (required), type.

transkribus_page_moveMove PageB
Idempotent

Move a page to a different position within the document or to another document.

Inputs: id (required), page (required), collId (required), moveTo (required), +2 more.

transkribus_page_post_transcriptPost Page TranscriptC

Post a new transcript for a page.

Inputs: id (required), page (required), collId (required), body, +5 more.

transkribus_page_replaceReplace PageB
Idempotent

Replace a page image in a document.

Inputs: id (required), page (required), collId (required).

transkribus_page_update_hide_on_sitesUpdate Page VisibilityB
Idempotent

Set whether a page is hidden on public sites.

Inputs: id (required), hide (required), page (required), collId (required), +2 more.

transkribus_page_update_status_v2Update Page Status v2C
Idempotent

Update page status using transcript ID (alternative endpoint).

Inputs: id (required), page (required), collId (required), transcriptId (required), +4 more.

transkribus_page_update_transcript_statusUpdate Transcript StatusB
Idempotent

Update the status of a specific transcript version.

Inputs: id (required), page (required), collId (required), status (required), +3 more.

transkribus_processing_get_alto_xmlGet Processing Result as ALTO XMLA
Read-onlyIdempotent

Get a finished Processing API result as ALTO v4 XML. Returns 404 while the job is still running.

Inputs: processId (required).

transkribus_processing_get_page_xmlGet Processing Result as PAGE XMLA
Read-onlyIdempotent

Get a finished Processing API result as PAGE XML (version 2013-07-15). Returns 404 while the job is still running.

Inputs: processId (required).

transkribus_processing_get_statusGet Processing StatusA
Read-onlyIdempotent

Get the status of a Processing API job, including the recognised text once it has finished. Status is one of CREATED, WAITING, RUNNING, FINISHED or FAILED; results are kept for two days.

Inputs: processId (required).

transkribus_processing_submit_imageSubmit Image for ProcessingA

Submit a single image to the Transkribus Processing API for text recognition and get back a process ID. Supply exactly one of imageUrl or base64 (JPEG, TIFF or PNG, up to 20 MB).

Inputs: image (required), config (required), content.

transkribus_pylaia_recognizeRun PyLaia RecognitionB

Run PyLaia HTR recognition on a document using a specific model.

Inputs: docId (required), collId (required), modelId (required), nBest, +18 more.

transkribus_pylaia_trainTrain PyLaia ModelA

Start PyLaia HTR model training for a collection. By default, sends training parameters matching the Transkribus UI defaults (textFeatsCfg with TextFeats preprocessing, use_masked_conv=True, max_epochs=100). Without these defaults, the server uses different preprocessing (trpPreprocPars) which produces significantly worse models. Set noTrainingDefaults=true to send no training parameters (server defaults).

Inputs: collId (required), imgType, language, provider, +20 more.

transkribus_recog_add_to_collectionAdd Model to CollectionC

Add a recognition model to another collection.

Inputs: id (required), collId (required), targetCollId (required).

transkribus_recog_compute_error_rateCompute Error RateC

Compute the error rate for a model in a collection.

Inputs: collId (required), modelId (required), body.

transkribus_recog_compute_sampleCompute SampleC

Compute a recognition sample for a document in a collection.

Inputs: docId (required), collId (required).

transkribus_recog_compute_werCompute WERC
Read-onlyIdempotent

Compute the Word Error Rate for a document.

Inputs: docId (required), collId (required), hyp, key, +2 more.

transkribus_recog_compute_wer_tasasCompute WER (TASAS)B
Read-onlyIdempotent

Compute the Word Error Rate using TASAS method for a document.

Inputs: docId (required), collId (required), hyp, key, +2 more.

transkribus_recog_deleteDelete Recognition ModelC
DestructiveIdempotent

Delete a recognition model from a collection.

Inputs: id (required), collId (required).

transkribus_recog_getGet Recognition ModelA
Read-onlyIdempotent

Get details of a recognition model in a collection.

Inputs: id (required), collId (required).

transkribus_recog_get_add_infoGet Add InfoC
Read-onlyIdempotent

Get information about adding a recognition model to collections.

Inputs: id (required), collId (required).

transkribus_recog_get_atrGet ATR InfoA
Read-onlyIdempotent

Retrieve information about available ATR (Automatic Text Recognition) models.

Inputs: no named parameters.

transkribus_recog_get_costsGet Model CostsC
Read-onlyIdempotent

Get the cost information for a recognition model.

Inputs: id (required), collId (required), credits, nrOfPages, +1 more.

transkribus_recog_get_error_rateGet Error RateB
Read-onlyIdempotent

Get the error rate for a collection or model.

Inputs: key, ref, collId, modelId.

transkribus_recog_get_ocr_costsGet OCR CostsC
Read-onlyIdempotent

Get the estimated OCR costs for a document.

Inputs: docId (required), collId (required), id, type, +3 more.

transkribus_recog_get_test_setGet Test SetC
Read-onlyIdempotent

Get the test set data for a recognition model.

Inputs: id (required), collId (required), nrOfTranscripts.

transkribus_recog_get_train_dataGet Training DataC
Read-onlyIdempotent

Get the training data for a recognition model.

Inputs: id (required), collId (required), index, nValues.

transkribus_recog_get_train_setGet Training SetB
Read-onlyIdempotent

Get the training set for a recognition model.

Inputs: id (required), collId (required), nrOfTranscripts.

transkribus_recog_get_validation_gt_by_htrGet Validation GT by HTR IDC
Read-onlyIdempotent

Get validation ground truth data for a recognition model.

Inputs: id (required), collId (required), index, nValues.

transkribus_recog_list_by_collectionList Models by CollectionA
Read-onlyIdempotent

List recognition models available in a specific collection.

Inputs: collId (required), prov, index, nValues, +2 more.

transkribus_recog_list_collectionsList Model CollectionsA
Read-onlyIdempotent

List collections that have access to a recognition model.

Inputs: id (required), collId (required).

transkribus_recog_list_dictsList DictionariesA
Read-onlyIdempotent

List available dictionaries for recognition.

Inputs: no named parameters.

transkribus_recog_list_modelsList Recognition ModelsC
Read-onlyIdempotent

List available recognition models with optional filtering.

Inputs: prov, index, collId, filter, +5 more.

transkribus_recog_remove_from_collectionRemove Model from CollectionA
DestructiveIdempotent

Remove a recognition model from a collection.

Inputs: id (required), collId (required).

transkribus_recog_run_atrRun ATRA

Run Automatic Text Recognition on one page or a whole document. Omitting pageNr recognizes every page and uses credits for each page.

Inputs: docId (required), collId (required), pageNr, modelId.

transkribus_recog_run_htr_citlabRun HTR (CITlab)B

Run CITlab HTR recognition on a document using a specific model.

Inputs: docId (required), collId (required), modelId (required), dict, +8 more.

transkribus_recog_run_ocrRun OCRC

Run OCR on a document or specific pages in a collection.

Inputs: docId (required), collId (required), id, pages, +4 more.

transkribus_recog_run_trhtrRun TRHTRB

Run TRHTR recognition using a specific model in a collection.

Inputs: collId (required), modelId (required), id, pages, +7 more.

transkribus_recog_text2imageRun Text2ImageC

Run Text2Image alignment using a specific model in a collection.

Inputs: body (required), collId (required), modelId (required), credits, +1 more.

transkribus_recog_text2image_citlabText2Image (CITlab)C

Run CITlab Text2Image alignment for a collection.

Inputs: body (required), collId (required).

transkribus_recog_text2image_matchingRun Text2Image MatchingC

Run Text2Image matching using a specific model in a collection.

Inputs: docId (required), collId (required), modelId (required), pages, +11 more.

transkribus_recog_train_htr_citlabTrain HTR (CITlab)B

Start CITlab HTR model training for a collection.

Inputs: collId (required), config (required).

transkribus_recog_train_la2Train Layout Analysis 2B

Start Layout Analysis 2 model training for a collection.

Inputs: collId (required), config (required).

transkribus_recog_train_la_citlabTrain Layout Analysis (CITlab)B

Start CITlab Layout Analysis model training for a collection.

Inputs: collId (required), config (required).

transkribus_recog_train_tableTrain Table RecognitionC

Start table recognition model training for a collection.

Inputs: collId (required), config (required).

transkribus_recog_updateUpdate Recognition ModelB
Idempotent

Update a recognition model in a collection.

Inputs: id (required), body (required), collId (required).

transkribus_search_fulltextFulltext SearchB
Read-onlyIdempotent

Search across document transcriptions using a fulltext query.

Inputs: query (required), rows, type, start, +3 more.

transkribus_search_keywordKeyword SearchC
Read-onlyIdempotent

Search for documents matching a keyword.

Inputs: query (required), rows, fuzzy, probH, +5 more.

transkribus_search_replaceSearch and ReplaceC
Idempotent

Search for a term and replace it across documents.

Inputs: searchTerm (required), replaceTerm (required), docId, collId.

transkribus_search_replace_in_collectionSearch and Replace in CollectionB
Idempotent

Search for a term and replace it within a specific collection.

Inputs: collId (required), searchTerm (required), replaceTerm (required), rows, +6 more.

transkribus_search_reset_indexReset Search IndexC
Idempotent

Reset the search index, optionally for a specific collection.

Inputs: id, collId, pageId.

transkribus_search_tagsSearch TagsB
Read-onlyIdempotent

Search for tags, optionally filtered by collection or tag name.

Inputs: id, rows, start, collId, +8 more.

transkribus_server_available_filesAvailable Client FilesB
Read-onlyIdempotent

List available client files on the server.

Inputs: isRelease.

transkribus_server_bug_reportSubmit Bug ReportB

Submit a bug report to the Transkribus server.

Inputs: subject (required), description (required).

transkribus_server_client_versionGet Client VersionB
Read-onlyIdempotent

Get the current Transkribus client version.

Inputs: isRelease, packageType.

transkribus_server_download_client_fileDownload Client FileB
Read-onlyIdempotent

Download a specific client file by name.

Inputs: fileName (required), libsMap, isRelease.

transkribus_server_download_client_file_newDownload Client File (New)C

Download a specific client file using the new endpoint.

Inputs: fileName (required), isRelease.

transkribus_server_download_guiDownload Latest GUIB
Read-onlyIdempotent

Download the latest Transkribus GUI version.

Inputs: isRelease, packageType.

transkribus_server_get_eventsGet EventsC
Read-onlyIdempotent

Retrieve server events and notifications.

Inputs: no named parameters.

transkribus_server_versionGet Server VersionA
Read-onlyIdempotent

Get the current Transkribus server version.

Inputs: no named parameters.

transkribus_stat_get_collGet Collection StatisticsC
Read-onlyIdempotent

Get statistics for a collection.

Inputs: collId (required).

transkribus_stat_get_coll_statsGet Collection Stats (New)B
Read-onlyIdempotent

Get collection statistics using the new stats endpoint.

Inputs: collId (required).

transkribus_stat_get_pages_filteredGet Collection Pages (Filtered)B
Read-onlyIdempotent

Get collection pages with filtering via POST body.

Inputs: collId (required), body.

transkribus_stat_get_page_statusGet Page StatusC
Read-onlyIdempotent

Get the page status overview for a collection.

Inputs: collId (required), index, nValues, sortColumn, +1 more.

transkribus_stat_get_storage_usageGet Storage Usage DetailsC
Read-onlyIdempotent

Get storage usage details for a collection.

Inputs: collId (required).

transkribus_stat_update_page_statusUpdate Page StatusC
Idempotent

Update the status of pages in a collection.

Inputs: collId (required), status (required), pageId.

transkribus_system_db_statusDatabase StatusA
Read-onlyIdempotent

Check the status of the Transkribus database.

Inputs: no named parameters.

transkribus_system_fimagestoreImage Store StatusB
Read-onlyIdempotent

Check the status of the Transkribus image store.

Inputs: no named parameters.

transkribus_upload_bulk_update_doc_metadataBulk Update Document MetadataC
Idempotent

Bulk update document metadata for uploads from a CSV payload.

Inputs: csv, csvFilePath.

transkribus_upload_bulk_update_isad_metadataBulk Update ISAD MetadataB
Idempotent

Bulk update ISAD(G) metadata for uploads from a CSV payload.

Inputs: csv, csvFilePath.

transkribus_upload_create_from_metsCreate Upload from METSC

Create an upload from a METS XML document.

Inputs: collId (required), metsXml, metsFilePath.

transkribus_upload_create_s3Create S3 UploadB

Create an upload from an S3 source.

Inputs: collId (required), id, s3Key, title, +1 more.

transkribus_upload_create_structureCreate Upload StructureC

Create an upload document structure describing pages to be uploaded.

Inputs: pages (required), title (required), collId (required), author, +2 more.

transkribus_upload_deleteDelete UploadB
DestructiveIdempotent

Delete an upload by ID.

Inputs: uploadId (required).

transkribus_upload_get_bulk_doc_metadataGet Bulk Document MetadataB
Read-onlyIdempotent

Retrieve bulk document metadata for uploads.

Inputs: collId.

transkribus_upload_get_bulk_isad_metadataGet Bulk ISAD MetadataB
Read-onlyIdempotent

Retrieve bulk ISAD(G) metadata for uploads.

Inputs: collId.

transkribus_upload_get_statusGet Upload StatusB
Read-onlyIdempotent

Get the status of an upload by ID.

Inputs: uploadId (required).

transkribus_upload_pageUpload PageB
Idempotent

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

Inputs: uploadId (required), imagePath (required), fileName, pageXmlPath.

transkribus_upload_update_metadataUpdate Upload MetadataC
Idempotent

Update metadata for an existing upload.

Inputs: uploadId (required), collId, metadata.

transkribus_user_activity_recognitionGet User Recognition ActivityA
Read-onlyIdempotent

Get recognition activity history for a specific user.

Inputs: id (required), to, from.

transkribus_user_activity_savesGet User Save ActivityB
Read-onlyIdempotent

Get save activity history for a specific user.

Inputs: id (required), to, from.

transkribus_user_count_my_docsCount My DocumentsB
Read-onlyIdempotent

Get the total number of documents owned by the current user.

Inputs: index, nValues, getAllDocsIfAdmin.

transkribus_user_deleteDelete UserB
DestructiveIdempotent

Delete a user by ID.

Inputs: id (required).

transkribus_user_findFind UserB
Read-onlyIdempotent

Search for users by username/email.

Inputs: user, lastName, firstName, exactMatch, +1 more.

transkribus_user_getGet UserA
Read-onlyIdempotent

Get details of a specific user by ID.

Inputs: id (required).

transkribus_user_get_job_aclGet Job ACLA
Read-onlyIdempotent

Get the job access control list for the current user.

Inputs: no named parameters.

transkribus_user_get_statsGet User StatsA
Read-onlyIdempotent

Get usage statistics for the current user.

Inputs: no named parameters.

transkribus_user_get_storageGet User StorageB
Read-onlyIdempotent

Get storage usage information for a specific user.

Inputs: id (required).

transkribus_user_initInitialize UserB
Idempotent

Initialize or set up a user account by ID.

Inputs: id (required), email, lastName, username, +1 more.

transkribus_user_is_allowed_for_jobIs User Allowed for JobB
Read-onlyIdempotent

Check if the current user is allowed to run a specific job type.

Inputs: jobImpl (required).

transkribus_user_listList UsersB
Read-onlyIdempotent

List all users with pagination.

Inputs: user, index, nValues, lastName, +6 more.

transkribus_user_list_my_docsList My DocumentsA
Read-onlyIdempotent

List documents owned by the current user with pagination.

Inputs: index, collId, filter, isStray, +7 more.

transkribus_user_list_tag_defsList Tag DefinitionsA
Read-onlyIdempotent

List all tag definitions for the current user.

Inputs: no named parameters.

transkribus_user_update_tag_defsUpdate Tag DefinitionsA
Idempotent

Create or update tag definitions for the current user.

Inputs: tagDefs.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 305 tools

    Disambiguation2/5

    The domain prefixes help, but there are many near-duplicate or overlapping tools: coll_find_documents vs coll_find_documents_post vs coll_find_documents_old; coll_list vs coll_list_paged vs coll_list_xml vs coll_list_for_user; coll_remove_doc vs doc_remove_from_collection; doc_update_metadata vs doc_update_metadata_v2; and several page transcript/text getters. An agent can easily choose the wrong variant despite distinct descriptions.

    Naming Consistency3/5

    Most names follow a transkribus_domain_action snake_case convention, but there are frequent inconsistent suffixes such as _v2, _old, _new, _by_id, and multiple verb orders like coll_user_add vs coll_remove_user. The pattern is readable but not fully predictable.

    Tool Count1/5

    305 tools is an extreme mismatch for a single MCP server; most agents cannot reliably select among them and the surface is heavily redundant. The server would benefit from consolidation and exposing a much smaller core set.

    Completeness4/5

    The surface covers a very broad domain: collections, documents, pages, transcripts, recognition, models, jobs, credits, uploads, users, search, keywords, crowdsourcing, and processing APIs. Coverage is extensive, though duplicate legacy variants and some unclear boundaries make the lifecycle harder to navigate than it should be.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A server implementation of the Model Context Protocol (MCP) that provides REST API endpoints for managing and interacting with MCP resources.
      -
    • A
      license
      B
      quality
      B
      maintenance
      An MCP (Model Context Protocol) server for interacting with a Paperless-NGX API server. This server provides tools for managing documents, tags, correspondents, and document types in your Paperless-NGX instance.
      47
      1,048 npm
      151
      TypeScript
      ISC
    • A
      license
      Not graded
      quality
      C
      maintenance
      This MCP server provides access to DEVONthink functionality via the Model Context Protocol (MCP). It enables listing, searching, creating, modifying, and managing records and databases in DEVONthink Pro on macOS.
      52 npm
      104
      GPL 3.0