transkribus-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@transkribus-mcp-server show me the documents in my collection 'Manuscripts'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
transkribus-mcp-server
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— 4transkribus_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-serverOr run directly:
npx @lazyants/transkribus-mcp-serverRelated MCP server: paperless-mcp
Configuration
Transkribus uses session-based authentication. Credentials are resolved in this order, per value:
OS keyring (recommended — nothing is written to a config file in clear text)
Environment variable (
TRANSKRIBUS_USER+TRANSKRIBUS_PASSWORD, orTRANSKRIBUS_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).
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" -wA 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_SECRETRepeat 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)? SetTargetNametouser.acme/password.acmeto 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-passwordOr, with a session you already hold:
export TRANSKRIBUS_SESSION_ID=your-session-idEnvironment variables
Variable | Default | Description |
| — | Account e-mail; used when the keyring has no |
| — | Account password; used when the keyring has no |
| — | An existing session id; used when the keyring has no |
|
| 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 clientOptional 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 |
| Positive integers, including numeric strings |
| Two days | Submit, status, PAGE XML, ALTO XML |
| Positive integers, numeric strings, UUIDs |
| 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: passprocessIdand optionallyinterval(an int32 number of milliseconds). The call returns the observed job withtimedOut: false; inspectterminalbecause 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: passprocessIdto download a finished job's archive. The result includesfilename,mimeType: "application/zip",encoding: "base64",byteLength, anddata; decodedataas base64 and save it underfilename. 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 |
| All 23 domains | 305 (307 with v2) |
| Auth, Collections (core/docs/pages/users/crowd/editdecl/credits/stats/labels/activity/tags) | 132 |
| Auth, Admin, Credits, Uploads, Labels, Files, System, Root | 62 |
| Auth, Recognition, Layout Analysis, PyLaia, P2PaLA, DU | 47 |
| Auth, Users, Crowdsourcing, eLearning | 29 |
| Auth, Models | 26 |
| Auth, Jobs, Actions | 19 |
| Auth, Search, KWS | 16 |
| 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:
transkribus_upload_create_structure— give itcollId, atitle, and apagesarray of{ fileName, pageNr }(one entry per page image you are about to send). Returns an upload with anuploadId.transkribus_upload_page— call once per page with theuploadIdandimagePath(a path to a local image file), optionallypageXmlPathfor an existing PAGE XML transcript.transkribus_upload_get_status— poll with theuploadIduntil 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:
Bump the version in
package.json,package-lock.json, andserver.json(npm version <x.y.z> --no-git-tag-versionupdates the first two together).npm run check-versionshard-fails unlesspackage.json#/versionandserver.json#/packages[0].versionagree.server.json#/versionis checked loosely: it must be present, and it only fails when it regresses belowpackages[0].version— a value left behind at the previous release passes with aWARN:line and exit 0. The script does not look atpackage-lock.jsonorCHANGELOG.mdat all, so read its output rather than trusting its exit code.Update
CHANGELOG.md.Commit, and merge the version bump to
mainbefore 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.Zplaces 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'spackage.json, producing avX.Y.ZGitHub Release that silently republishes the old version. The publish workflow now refuses to continue whenGITHUB_REF_NAMEis notv<package.json version>, so that exact scenario fails beforenpm publishrather 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.oidnames the release PR's own squash commit. Do not substitutegit rev-parse origin/main: that is merely whatever sits onmainat the moment you look, so an unrelated merge landing in the gap gets tagged and shipped instead.ghexits 0 and prints nothing for an unmerged PR, hence the explicittest -n.The
&&chain stops at the first failure instead of falling through to the irreversible step. Bothgit showcalls 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 unlesspipefailis set, which is not assumed here.git merge-base --is-ancestorproves the commit is reachable frommain. 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.jsonout of the target commit, not the working tree — which would still show the right version while$SHApointed elsewhere.The
awklifts that version's section out of the commit'sCHANGELOG.mdfor--notes-file. Without it the release body is whatever--notes-from-tagfinds in the annotation — here the literal stringvX.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 -qrather thantest -sguards the result: a section empty apart from its blank line still produces a one-byte file, whichtest -saccepts.--verify-tagmakesghabort 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 createfails after the tag is already pushed, do not rerun the whole block; it will stop atgit tag, which is correct. Rerun only the final command.The
Publish to npm + MCP Registryworkflow runs automatically: itnpm publishes with provenance, polls the registry until the tarball is available, then pushes the matchingserver.jsonto the MCP Registry viamcp-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 toolstranskribus_action_countCount ActionsARead-onlyIdempotent
Get the total count of actions, optionally filtered by collection or type.
Inputs: id, end, page, type, +8 more.
transkribus_action_infoGet Action InfoARead-onlyIdempotent
Retrieve detailed information about a specific action.
Inputs: id (required).
transkribus_action_listList ActionsBRead-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 LogBRead-onlyIdempotent
Retrieve the log output for a specific job.
Inputs: id (required), db.
transkribus_admin_get_job_usersGet Job Authorized UsersARead-onlyIdempotent
List users authorized to run a specific job implementation.
Inputs: jobImpl (required).
transkribus_admin_get_reportsGet Admin ReportsBRead-onlyIdempotent
Retrieve administrative reports by type and time period.
Inputs: reportTime (required), reportType (required).
transkribus_admin_list_sessionsList Active SessionsARead-onlyIdempotent
List all currently active user sessions.
Inputs: no named parameters.
transkribus_admin_move_field_modelMove Field ModelBIdempotent
Move a field recognition model to a different directory.
Inputs: modelName (required), path.
transkribus_admin_move_table_modelMove Table ModelAIdempotent
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 SessionARead-onlyIdempotent
Check if the current Transkribus session is valid.
Inputs: no named parameters.
transkribus_auth_get_detailsGet Auth DetailsARead-onlyIdempotent
Get details of the currently authenticated user.
Inputs: no named parameters.
transkribus_auth_invalidateInvalidate SessionBDestructiveIdempotent
Invalidate the current authentication session.
Inputs: no named parameters.
transkribus_auth_logoutLogoutAIdempotent
Log out of the current Transkribus session.
Inputs: no named parameters.
transkribus_auth_refreshRefresh SessionAIdempotent
Refresh the current authentication session token.
Inputs: no named parameters.
transkribus_coll_activity_recognitionGet Recognition ActivityBRead-onlyIdempotent
Get recognition activity records for a collection.
Inputs: collId (required), to, from.
transkribus_coll_activity_savesGet Save ActivityBRead-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 CollectionBRead-onlyIdempotent
Check if the current user can manage the specified collection.
Inputs: collId (required).
transkribus_coll_countCount CollectionsARead-onlyIdempotent
Get the total number of collections accessible to the current user.
Inputs: empty, filter.
transkribus_coll_count_docsCount Documents in CollectionBRead-onlyIdempotent
Get the number of documents in a collection.
Inputs: collId (required), labelId, isDeleted, uploaderId.
transkribus_coll_count_find_documentsCount Found DocumentsBRead-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 HistoryBRead-onlyIdempotent
Get the credit usage history for a collection.
Inputs: collId (required), index, nValues, sortColumn, +1 more.
transkribus_coll_credit_listList Collection CreditsCRead-onlyIdempotent
List credit packages associated with a collection.
Inputs: collId (required), index, nValues, minBalance, +4 more.
transkribus_coll_credit_remove_packageRemove Credit PackageBDestructiveIdempotent
Remove a credit package from a collection.
Inputs: id (required), collId (required).
transkribus_coll_credit_transactionsGet Credit TransactionsCRead-onlyIdempotent
Get credit transaction records for a collection.
Inputs: collId (required), index, nValues, sortColumn, +1 more.
transkribus_coll_deleteDelete CollectionBDestructiveIdempotent
Delete a collection by ID.
Inputs: collId (required), force.
transkribus_coll_delete_emptyDelete Empty CollectionADestructiveIdempotent
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 CollectionBRead-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 DocumentsBRead-onlyIdempotent
Search for documents across collections using filters.
Inputs: id, descr, docId, extId, +25 more.
transkribus_coll_find_documents_oldFind Documents (Legacy)CRead-onlyIdempotent
Search for documents using the legacy endpoint.
Inputs: id, descr, docId, index, +10 more.
transkribus_coll_find_documents_postFind Documents (POST)BRead-onlyIdempotent
Search for documents across collections using a POST request body.
Inputs: docId, index, title, author, +5 more.
transkribus_coll_get_metadataGet Collection MetadataBRead-onlyIdempotent
Get metadata for a collection.
Inputs: collId (required), stats.
transkribus_coll_get_recentGet Recent in CollectionBRead-onlyIdempotent
Get recently accessed items in a collection.
Inputs: collId (required), index, nValues, sortColumn, +1 more.
transkribus_coll_get_recent_collectionsGet Recent CollectionsBRead-onlyIdempotent
Get recently accessed collections.
Inputs: index, nValues, sortColumn, sortDirection.
transkribus_coll_get_recent_documentsGet Recent DocumentsBRead-onlyIdempotent
Get recently accessed documents.
Inputs: index, nValues, sortColumn, sortDirection.
transkribus_coll_get_tag_defsGet Collection Tag DefinitionsCRead-onlyIdempotent
List tag definitions for a collection.
Inputs: collId (required), legacy.
transkribus_coll_label_listList Collection LabelsBRead-onlyIdempotent
List all labels associated with a collection.
Inputs: collId (required), index, nValues, isDeleted, +2 more.
transkribus_coll_listList CollectionsBRead-onlyIdempotent
List all collections accessible to the current user.
Inputs: role, index, collId, filter, +6 more.
transkribus_coll_list_by_nameList Collections By NameBRead-onlyIdempotent
Search for collections by name.
Inputs: name (required), index, nValues, exactMatch, +2 more.
transkribus_coll_list_docsList Documents in CollectionCRead-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)BRead-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 UserBRead-onlyIdempotent
List collections accessible to a specific user.
Inputs: userid (required), role, index, nValues, +3 more.
transkribus_coll_list_pagedList Collections (Paged)BRead-onlyIdempotent
List collections with pagination support.
Inputs: empty, index, nValues, sortColumn, +1 more.
transkribus_coll_list_xmlList Collections (XML)BRead-onlyIdempotent
List all collections in XML format.
Inputs: index, nValues, sortColumn, sortDirection.
transkribus_coll_modifyModify CollectionCIdempotent
Modify the properties of a collection.
Inputs: collId (required), collName, description.
transkribus_coll_remove_docRemove Document from CollectionBDestructiveIdempotent
Remove a document from a collection without deleting it.
Inputs: id (required), collId (required).
transkribus_coll_remove_favoriteRemove Collection from FavoritesBDestructiveIdempotent
Remove a collection from the user favorites.
Inputs: collId (required).
transkribus_coll_remove_userRemove User from Collection (POST)BDestructiveIdempotent
Remove a user from a collection using the POST endpoint.
Inputs: collId (required), userid (required).
transkribus_coll_subscribe_getGet Collection SubscriptionBRead-onlyIdempotent
Get the subscription status for a collection.
Inputs: collId (required).
transkribus_coll_update_default_tag_defsUpdate Default Tag DefinitionsBIdempotent
Update the default tag definitions across all collections.
Inputs: body (required).
transkribus_coll_update_metadataUpdate Collection MetadataCIdempotent
Update the metadata for a collection.
Inputs: collId (required), title, language, description.
transkribus_coll_update_tag_defsUpdate Collection Tag DefinitionsCIdempotent
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 CollectionBIdempotent
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 UsersBRead-onlyIdempotent
Get the number of users in a collection.
Inputs: collId (required), role.
transkribus_coll_user_get_listGet Collection UsersCRead-onlyIdempotent
Get the list of users with access to a collection.
Inputs: collId (required), role, index, nValues, +2 more.
transkribus_coll_user_listList Collection UsersCRead-onlyIdempotent
List users of a collection with optional pagination.
Inputs: collId (required), role, index, nValues, +2 more.
transkribus_coll_user_removeRemove User from CollectionADestructiveIdempotent
Remove a user from a collection by their user ID.
Inputs: collId (required), userid (required).
transkribus_coll_user_statsGet User StatsCRead-onlyIdempotent
Get user statistics for a collection.
Inputs: collId (required), index, nValues, sortColumn, +1 more.
transkribus_coll_user_update_roleUpdate User RoleBIdempotent
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 PackageARead-onlyIdempotent
Get details of a specific credit package by ID.
Inputs: id (required).
transkribus_credit_get_collectionsGet Credit Package CollectionsARead-onlyIdempotent
List collections associated with a specific credit package.
Inputs: id (required).
transkribus_credit_get_costsGet Credit CostsBRead-onlyIdempotent
Get the credit cost information, optionally filtered by type.
Inputs: time, type.
transkribus_credit_get_historyGet Credit HistoryBRead-onlyIdempotent
Get the credit usage history with pagination.
Inputs: index, userid, nValues, sortColumn, +1 more.
transkribus_credit_get_package_transactionsGet Credit Package TransactionsBRead-onlyIdempotent
List credit transactions for a specific credit package.
Inputs: id (required), index, nValues, sortColumn, +1 more.
transkribus_credit_get_productsGet Credit ProductsCRead-onlyIdempotent
List available credit products for purchase.
Inputs: index, nValues, sortColumn, sortDirection.
transkribus_credit_get_transactionsGet Credit TransactionsBRead-onlyIdempotent
List credit transactions with pagination.
Inputs: index, nValues, sortColumn, sortDirection.
transkribus_credit_handle_orderHandle Credit OrderCIdempotent
Process a credit order by ID.
Inputs: id (required), status, paymentMethod.
transkribus_credit_list_by_userList Credits by UserCRead-onlyIdempotent
List credit packages for the current user.
Inputs: index, userid, nValues, isShared, +6 more.
transkribus_credit_manageManage Credit HistoryDIdempotent
Create or update credit history entries.
Inputs: index, nValues, sortColumn, sourceUserId, +1 more.
transkribus_credit_updateUpdate Credit PackageBIdempotent
Update an existing credit package by ID.
Inputs: id (required), label, amount.
transkribus_crowd_delete_messagesDelete Crowd Project MessagesBDestructiveIdempotent
Delete messages from the crowd project of a collection.
Inputs: collId (required), id.
transkribus_crowd_delete_milestonesDelete Crowd Project MilestonesADestructiveIdempotent
Delete milestones from the crowd project of a collection.
Inputs: collId (required), id.
transkribus_crowd_get_projectGet Crowd ProjectARead-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 ProjectCIdempotent
Create or update the crowd project configuration for a collection.
Inputs: body (required), collId (required).
transkribus_crowdsource_countCount Crowdsourcing ProjectsARead-onlyIdempotent
Get the total count of crowdsourcing projects.
Inputs: no named parameters.
transkribus_crowdsource_get_detailsGet Crowdsourcing DetailsBRead-onlyIdempotent
Get crowdsourcing details for a collection.
Inputs: collId (required).
transkribus_crowdsource_listList Crowdsourcing ProjectsARead-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 CrowdsourcingBDestructiveIdempotent
Unsubscribe from a crowdsourcing project for a collection.
Inputs: collId (required).
transkribus_doc_deleteDelete DocumentCDestructiveIdempotent
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 CostsBRead-onlyIdempotent
Get the processing costs for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_editorial_declarationGet Editorial DeclarationBRead-onlyIdempotent
Get the editorial declaration for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_fulldocGet Full DocumentARead-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 XMLBRead-onlyIdempotent
Get the full document in XML format.
Inputs: id (required), collId (required), nrOfTranscripts.
transkribus_doc_get_image_namesGet Image NamesBRead-onlyIdempotent
Get the image file names for all pages in a document.
Inputs: id (required), collId (required).
transkribus_doc_get_metadataGet Document MetadataBRead-onlyIdempotent
Get metadata for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_metsGet Document METSBRead-onlyIdempotent
Get the METS metadata for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_page_idsGet Page IDsBRead-onlyIdempotent
Get the page IDs for all pages in a document.
Inputs: id (required), collId (required), pages.
transkribus_doc_get_pagesGet Document PagesCRead-onlyIdempotent
Get all pages for a document.
Inputs: id (required), collId (required), index, pages, +18 more.
transkribus_doc_get_plaintextGet Document PlaintextARead-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 StatCRead-onlyIdempotent
Get document statistics summary.
Inputs: id (required), collId (required).
transkribus_doc_get_statsGet Document StatsCRead-onlyIdempotent
Get detailed statistics for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_test_setGet Test SetBRead-onlyIdempotent
Get the test set data for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_train_dataGet Training DataCRead-onlyIdempotent
Get the training data for a document.
Inputs: id (required), collId (required).
transkribus_doc_get_transcript_idsGet Transcript IDsBRead-onlyIdempotent
Get all transcript IDs for a document.
Inputs: id (required), collId (required), index, pages, +3 more.
transkribus_doc_get_validation_dataGet Validation DataCRead-onlyIdempotent
Get the validation data for a document.
Inputs: id (required), collId (required).
transkribus_doc_has_affiliationCheck Document AffiliationBRead-onlyIdempotent
Check if a document has an affiliation.
Inputs: id (required), collId (required).
transkribus_doc_kws_searchKeyword Search in DocumentBRead-onlyIdempotent
Search for keywords within a document.
Inputs: id (required), query (required), collId (required).
transkribus_doc_list_collectionsList Document CollectionsBRead-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)ARead-onlyIdempotent
List all collections a document belongs to with pagination.
Inputs: id (required), collId (required), index, nValues, +2 more.
transkribus_doc_list_pagesList Document PagesBRead-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 DeclarationBIdempotent
Create or update the editorial declaration for a document.
Inputs: id (required), collId (required), body.
transkribus_doc_remove_from_collectionRemove Document from CollectionADestructiveIdempotent
Remove a document from a collection without deleting it.
Inputs: id (required), collId (required).
transkribus_doc_update_metadataUpdate Document MetadataCIdempotent
Update metadata for a document.
Inputs: id (required), collId (required), title, author, +1 more.
transkribus_doc_update_metadata_v2Update Document Metadata v2CIdempotent
Update document metadata using the v2 endpoint.
Inputs: id (required), body (required), collId (required).
transkribus_doc_update_transcriptUpdate Document TranscriptBIdempotent
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 FeatureBDestructiveIdempotent
Delete an editorial declaration feature from a collection.
Inputs: collId (required), featId (required), id.
transkribus_editdecl_delete_optionDelete Edit Declaration OptionADestructiveIdempotent
Delete an option from an editorial declaration feature.
Inputs: collId (required), optionId (required), id.
transkribus_editdecl_list_featuresList Edit Declaration FeaturesBRead-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 CoursesARead-onlyIdempotent
Get the total count of e-learning courses.
Inputs: no named parameters.
transkribus_elearning_listList E-Learning CoursesBRead-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-LearningADestructiveIdempotent
Unsubscribe from an e-learning course for a collection.
Inputs: collId (required).
transkribus_file_checkCheck FileBRead-onlyIdempotent
Check the status or existence of a file at a given path.
Inputs: path, fileName.
transkribus_file_list_dirsList DirectoriesARead-onlyIdempotent
List directories at a given path on the server.
Inputs: path.
transkribus_file_list_filesList FilesARead-onlyIdempotent
List files at a given path on the server.
Inputs: path.
transkribus_job_countCount JobsBRead-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 JobCRead-onlyIdempotent
Get details of a specific job by ID.
Inputs: id (required).
transkribus_job_get_credit_transactionsGet Job Credit TransactionsCRead-onlyIdempotent
Get credit transactions associated with a specific job.
Inputs: jobId (required), index, nValues, sortColumn, +1 more.
transkribus_job_get_errorsGet Job ErrorsBRead-onlyIdempotent
Get error details for a specific job.
Inputs: id (required), index, nValues, sortColumn, +1 more.
transkribus_job_killKill JobADestructiveIdempotent
Kill a running job by ID.
Inputs: id (required).
transkribus_job_listList JobsBRead-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 UserBIdempotent
Restart all jobs for a specific user.
Inputs: userid (required).
transkribus_job_undoUndo JobBDestructiveIdempotent
Undo the results of a completed job.
Inputs: jobId (required).
transkribus_job_updateUpdate JobBIdempotent
Update properties of an existing job.
Inputs: id (required), status, description.
transkribus_job_waitWait for JobARead-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 HitsCRead-onlyIdempotent
Get hits for a keyword spotting query.
Inputs: id (required), index, keyword, nValues.
transkribus_kws_get_keywordsGet KWS Query KeywordsARead-onlyIdempotent
Get keywords for a keyword spotting query.
Inputs: id (required).
transkribus_kws_get_result_dataGet KWS Result DataBRead-onlyIdempotent
Get result data for a keyword spotting query.
Inputs: id (required).
transkribus_kws_list_queriesList KWS QueriesBRead-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 LabelBDestructiveIdempotent
Delete a label by ID.
Inputs: id (required), force.
transkribus_label_getGet LabelARead-onlyIdempotent
Get a label by ID.
Inputs: id (required).
transkribus_label_listList LabelsCRead-onlyIdempotent
List all labels.
Inputs: id, type, index, collId, +6 more.
transkribus_label_remove_all_documentsRemove All Documents from LabelADestructiveIdempotent
Remove all documents from a label.
Inputs: labelId (required).
transkribus_label_remove_all_pagesRemove All Pages from LabelCDestructiveIdempotent
Remove all pages from a label.
Inputs: labelId (required).
transkribus_label_remove_documentsRemove Documents from LabelCDestructiveIdempotent
Remove documents from a label.
Inputs: labelId (required), documentIds (required).
transkribus_label_remove_pagesRemove Pages from LabelCDestructiveIdempotent
Remove pages from a label.
Inputs: labelId (required), pageIds (required).
transkribus_label_replace_document_assignmentsReplace Document Label AssignmentsCIdempotent
Replace label assignments for a specific document.
Inputs: id (required), labelId (required), labelIds.
transkribus_label_replace_page_assignmentsReplace Page Label AssignmentsCIdempotent
Replace label assignments for a specific page.
Inputs: id (required), labelId (required), labelIds.
transkribus_label_updateUpdate LabelBIdempotent
Update an existing label by ID.
Inputs: id (required), name, color.
transkribus_la_get_costsGet Layout Analysis CostsARead-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 ModelADestructiveIdempotent
Delete a model by its ID.
Inputs: modelId (required).
transkribus_model_delete_by_typeDelete Model by TypeBDestructiveIdempotent
Delete a model by its type and ID.
Inputs: id (required), type (required).
transkribus_model_getGet ModelCRead-onlyIdempotent
Get details of a model by its ID.
Inputs: modelId (required), prov, slug, index, +18 more.
transkribus_model_get_by_typeGet Models by TypeCRead-onlyIdempotent
Get models filtered by type with optional query parameters.
Inputs: type (required), prov, slug, index, +23 more.
transkribus_model_get_detailsGet Model DetailsCRead-onlyIdempotent
Get detailed information about a model by type and ID.
Inputs: id (required), type (required).
transkribus_model_get_field_paramsGet Model Field ParametersCRead-onlyIdempotent
Get the field parameters for a model by type and ID.
Inputs: id (required), type (required).
transkribus_model_get_train_dataGet Model Training DataBRead-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 DocumentsBRead-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 StatisticsCRead-onlyIdempotent
Get statistics about the training data for a model.
Inputs: id (required), type (required).
transkribus_model_get_validation_dataGet Validation DataCRead-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 DocumentsBRead-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 StatisticsCRead-onlyIdempotent
Get statistics about the validation data for a model.
Inputs: id (required), type (required).
transkribus_model_listList ModelsBRead-onlyIdempotent
List available models with optional pagination and filtering.
Inputs: all, prov, type, index, +8 more.
transkribus_model_list_collectionsList Model CollectionsCRead-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 IDCRead-onlyIdempotent
List collections associated with a model by its ID.
Inputs: modelId (required), transcriptIds.
transkribus_model_remove_collectionRemove Collection from ModelCDestructiveIdempotent
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 IDADestructiveIdempotent
Remove a collection from a model by model ID and collection ID.
Inputs: collId (required), modelId (required).
transkribus_model_updateUpdate ModelCIdempotent
Update a model by posting updated model data.
Inputs: body (required).
transkribus_model_update_by_typeUpdate Model by TypeCIdempotent
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 PageBIdempotent
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 TranscriptsARead-onlyIdempotent
Get the number of transcripts for a page.
Inputs: id (required), page (required), collId (required).
transkribus_page_deleteDelete PageBDestructiveIdempotent
Delete a page from a document.
Inputs: id (required), page (required), collId (required).
transkribus_page_delete_transcriptDelete Page TranscriptBDestructiveIdempotent
Delete a specific transcript version from a page.
Inputs: id (required), key (required), page (required), collId (required).
transkribus_page_getGet PageCRead-onlyIdempotent
Get details of a specific page in a document.
Inputs: id (required), page (required), collId (required).
transkribus_page_get_curr_transcriptGet Current TranscriptBRead-onlyIdempotent
Get the current transcript for a page.
Inputs: id (required), page (required), collId (required).
transkribus_page_get_imageGet Page ImageARead-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 MetadataBRead-onlyIdempotent
Get metadata for a specific page.
Inputs: id (required), page (required), collId (required).
transkribus_page_get_plaintextGet Page PlaintextBRead-onlyIdempotent
Get the plain text content of a page transcript.
Inputs: id (required), page (required), collId (required).
transkribus_page_get_textGet Page Text (Transcript)BRead-onlyIdempotent
Get the transcript text for a specific page.
Inputs: id (required), page (required), collId (required).
transkribus_page_get_transcriptGet Page TranscriptCRead-onlyIdempotent
Get a specific transcript version for a page.
Inputs: id (required), page (required), collId (required), transcriptId (required).
transkribus_page_is_lockedCheck Page LockBRead-onlyIdempotent
Check if a page is currently locked.
Inputs: id (required), page (required), collId (required).
transkribus_page_list_locksList Page LocksARead-onlyIdempotent
List all locks on a page.
Inputs: id (required), page (required), collId (required).
transkribus_page_list_transcriptsList Page TranscriptsBRead-onlyIdempotent
List all transcript versions for a page.
Inputs: id (required), page (required), collId (required), index, +3 more.
transkribus_page_lockLock/Unlock PageBIdempotent
Lock or unlock a page for editing.
Inputs: id (required), page (required), collId (required), type.
transkribus_page_moveMove PageBIdempotent
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 PageBIdempotent
Replace a page image in a document.
Inputs: id (required), page (required), collId (required).
transkribus_page_update_hide_on_sitesUpdate Page VisibilityBIdempotent
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 v2CIdempotent
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 StatusBIdempotent
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 XMLARead-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 XMLARead-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 StatusARead-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 WERCRead-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)BRead-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 ModelCDestructiveIdempotent
Delete a recognition model from a collection.
Inputs: id (required), collId (required).
transkribus_recog_getGet Recognition ModelARead-onlyIdempotent
Get details of a recognition model in a collection.
Inputs: id (required), collId (required).
transkribus_recog_get_add_infoGet Add InfoCRead-onlyIdempotent
Get information about adding a recognition model to collections.
Inputs: id (required), collId (required).
transkribus_recog_get_atrGet ATR InfoARead-onlyIdempotent
Retrieve information about available ATR (Automatic Text Recognition) models.
Inputs: no named parameters.
transkribus_recog_get_costsGet Model CostsCRead-onlyIdempotent
Get the cost information for a recognition model.
Inputs: id (required), collId (required), credits, nrOfPages, +1 more.
transkribus_recog_get_error_rateGet Error RateBRead-onlyIdempotent
Get the error rate for a collection or model.
Inputs: key, ref, collId, modelId.
transkribus_recog_get_ocr_costsGet OCR CostsCRead-onlyIdempotent
Get the estimated OCR costs for a document.
Inputs: docId (required), collId (required), id, type, +3 more.
transkribus_recog_get_test_setGet Test SetCRead-onlyIdempotent
Get the test set data for a recognition model.
Inputs: id (required), collId (required), nrOfTranscripts.
transkribus_recog_get_train_dataGet Training DataCRead-onlyIdempotent
Get the training data for a recognition model.
Inputs: id (required), collId (required), index, nValues.
transkribus_recog_get_train_setGet Training SetBRead-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 IDCRead-onlyIdempotent
Get validation ground truth data for a recognition model.
Inputs: id (required), collId (required), index, nValues.
transkribus_recog_list_by_collectionList Models by CollectionARead-onlyIdempotent
List recognition models available in a specific collection.
Inputs: collId (required), prov, index, nValues, +2 more.
transkribus_recog_list_collectionsList Model CollectionsARead-onlyIdempotent
List collections that have access to a recognition model.
Inputs: id (required), collId (required).
transkribus_recog_list_dictsList DictionariesARead-onlyIdempotent
List available dictionaries for recognition.
Inputs: no named parameters.
transkribus_recog_list_modelsList Recognition ModelsCRead-onlyIdempotent
List available recognition models with optional filtering.
Inputs: prov, index, collId, filter, +5 more.
transkribus_recog_remove_from_collectionRemove Model from CollectionADestructiveIdempotent
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 ModelBIdempotent
Update a recognition model in a collection.
Inputs: id (required), body (required), collId (required).
transkribus_search_fulltextFulltext SearchBRead-onlyIdempotent
Search across document transcriptions using a fulltext query.
Inputs: query (required), rows, type, start, +3 more.
transkribus_search_keywordKeyword SearchCRead-onlyIdempotent
Search for documents matching a keyword.
Inputs: query (required), rows, fuzzy, probH, +5 more.
transkribus_search_replaceSearch and ReplaceCIdempotent
Search for a term and replace it across documents.
Inputs: searchTerm (required), replaceTerm (required), docId, collId.
transkribus_search_replace_in_collectionSearch and Replace in CollectionBIdempotent
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 IndexCIdempotent
Reset the search index, optionally for a specific collection.
Inputs: id, collId, pageId.
transkribus_search_tagsSearch TagsBRead-onlyIdempotent
Search for tags, optionally filtered by collection or tag name.
Inputs: id, rows, start, collId, +8 more.
transkribus_server_available_filesAvailable Client FilesBRead-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 VersionBRead-onlyIdempotent
Get the current Transkribus client version.
Inputs: isRelease, packageType.
transkribus_server_download_client_fileDownload Client FileBRead-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 GUIBRead-onlyIdempotent
Download the latest Transkribus GUI version.
Inputs: isRelease, packageType.
transkribus_server_get_eventsGet EventsCRead-onlyIdempotent
Retrieve server events and notifications.
Inputs: no named parameters.
transkribus_server_versionGet Server VersionARead-onlyIdempotent
Get the current Transkribus server version.
Inputs: no named parameters.
transkribus_stat_get_collGet Collection StatisticsCRead-onlyIdempotent
Get statistics for a collection.
Inputs: collId (required).
transkribus_stat_get_coll_statsGet Collection Stats (New)BRead-onlyIdempotent
Get collection statistics using the new stats endpoint.
Inputs: collId (required).
transkribus_stat_get_pages_filteredGet Collection Pages (Filtered)BRead-onlyIdempotent
Get collection pages with filtering via POST body.
Inputs: collId (required), body.
transkribus_stat_get_page_statusGet Page StatusCRead-onlyIdempotent
Get the page status overview for a collection.
Inputs: collId (required), index, nValues, sortColumn, +1 more.
transkribus_stat_get_storage_usageGet Storage Usage DetailsCRead-onlyIdempotent
Get storage usage details for a collection.
Inputs: collId (required).
transkribus_stat_update_page_statusUpdate Page StatusCIdempotent
Update the status of pages in a collection.
Inputs: collId (required), status (required), pageId.
transkribus_system_db_statusDatabase StatusARead-onlyIdempotent
Check the status of the Transkribus database.
Inputs: no named parameters.
transkribus_system_fimagestoreImage Store StatusBRead-onlyIdempotent
Check the status of the Transkribus image store.
Inputs: no named parameters.
transkribus_upload_bulk_update_doc_metadataBulk Update Document MetadataCIdempotent
Bulk update document metadata for uploads from a CSV payload.
Inputs: csv, csvFilePath.
transkribus_upload_bulk_update_isad_metadataBulk Update ISAD MetadataBIdempotent
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 UploadBDestructiveIdempotent
Delete an upload by ID.
Inputs: uploadId (required).
transkribus_upload_get_bulk_doc_metadataGet Bulk Document MetadataBRead-onlyIdempotent
Retrieve bulk document metadata for uploads.
Inputs: collId.
transkribus_upload_get_bulk_isad_metadataGet Bulk ISAD MetadataBRead-onlyIdempotent
Retrieve bulk ISAD(G) metadata for uploads.
Inputs: collId.
transkribus_upload_get_statusGet Upload StatusBRead-onlyIdempotent
Get the status of an upload by ID.
Inputs: uploadId (required).
transkribus_upload_pageUpload PageBIdempotent
Upload a page image (and optional PAGE XML) to an existing upload.
Inputs: uploadId (required), imagePath (required), fileName, pageXmlPath.
transkribus_upload_update_metadataUpdate Upload MetadataCIdempotent
Update metadata for an existing upload.
Inputs: uploadId (required), collId, metadata.
transkribus_user_activity_recognitionGet User Recognition ActivityARead-onlyIdempotent
Get recognition activity history for a specific user.
Inputs: id (required), to, from.
transkribus_user_activity_savesGet User Save ActivityBRead-onlyIdempotent
Get save activity history for a specific user.
Inputs: id (required), to, from.
transkribus_user_count_my_docsCount My DocumentsBRead-onlyIdempotent
Get the total number of documents owned by the current user.
Inputs: index, nValues, getAllDocsIfAdmin.
transkribus_user_deleteDelete UserBDestructiveIdempotent
Delete a user by ID.
Inputs: id (required).
transkribus_user_findFind UserBRead-onlyIdempotent
Search for users by username/email.
Inputs: user, lastName, firstName, exactMatch, +1 more.
transkribus_user_getGet UserARead-onlyIdempotent
Get details of a specific user by ID.
Inputs: id (required).
transkribus_user_get_job_aclGet Job ACLARead-onlyIdempotent
Get the job access control list for the current user.
Inputs: no named parameters.
transkribus_user_get_statsGet User StatsARead-onlyIdempotent
Get usage statistics for the current user.
Inputs: no named parameters.
transkribus_user_get_storageGet User StorageBRead-onlyIdempotent
Get storage usage information for a specific user.
Inputs: id (required).
transkribus_user_initInitialize UserBIdempotent
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 JobBRead-onlyIdempotent
Check if the current user is allowed to run a specific job type.
Inputs: jobImpl (required).
transkribus_user_listList UsersBRead-onlyIdempotent
List all users with pagination.
Inputs: user, index, nValues, lastName, +6 more.
transkribus_user_list_my_docsList My DocumentsARead-onlyIdempotent
List documents owned by the current user with pagination.
Inputs: index, collId, filter, isStray, +7 more.
transkribus_user_list_tag_defsList Tag DefinitionsARead-onlyIdempotent
List all tag definitions for the current user.
Inputs: no named parameters.
transkribus_user_update_tag_defsUpdate Tag DefinitionsAIdempotent
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
Scored across 305 tools
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.
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.
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.
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
Related MCP Connectors
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
MCP server for progressive tool usage at any scale (see https://klavis.ai)
MCP server for Speech-to-Text
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA server implementation of the Model Context Protocol (MCP) that provides REST API endpoints for managing and interacting with MCP resources.-
- AlicenseBqualityBmaintenanceAn 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.471,048 npm151TypeScriptISC
- AlicenseNot gradedqualityCmaintenanceThis 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 npm104GPL 3.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables any MCP-compatible application to perform advanced multi-modal document processing and retrieval using RAG-Anything.MIT