Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.lazyants/transkribus

NPM · @LAZYANTS/TRANSKRIBUS-MCP-SERVER · SCANNED SEP 21

MCP server for the Transkribus REST API — collections, documents, HTR/OCR, and models.

−2 this week 90 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security99
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 34 of 121 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency87
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to lazyants/transkribus-mcp-server). View diagnostics → Pass
  • License check failed: the license (FSL-1.1-MIT) isn't a recognized OSI-approved license. See how to fix → Fail
  • Actively maintained (last published 13 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability79
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 22100 tokens (~72/item across 305 items; 304 tools + 1 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management78
  • Stability check failed: the tool surface changed between 3.1.0 and 4.0.0: 3 tool removals, 5 breaking changes, 7 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 29 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 305 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.lazyants/transkribus MCP server?

io.github.lazyants/transkribus runs locally as an npm package, launched with npx -y @lazyants/transkribus-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @lazyants/transkribus-mcp-server

# add to Claude Code
claude mcp add lazyants-transkribus -- npx -y @lazyants/transkribus-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "lazyants-transkribus": {
      "command": "npx",
      "args": [
        "-y",
        "@lazyants/transkribus-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "lazyants-transkribus": {
      "command": "npx",
      "args": [
        "-y",
        "@lazyants/transkribus-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add lazyants-transkribus -- npx -y @lazyants/transkribus-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "lazyants-transkribus": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@lazyants/transkribus-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add lazyants-transkribus --command npx --arg -y --arg @lazyants/transkribus-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  lazyants-transkribus:
    command: "npx"
    args: ["-y", "@lazyants/transkribus-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "lazyants-transkribus": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@lazyants/transkribus-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add lazyants-transkribus -t stdio -c npx -a -y @lazyants/transkribus-mcp-server
// mcp.json
{
  "mcpServers": {
    "lazyants-transkribus": {
      "command": "npx",
      "args": [
        "-y",
        "@lazyants/transkribus-mcp-server"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 −3

    No change was recorded against any check on this day. Stability & Change Management went from 98 to 75.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 92 to 95.

  • 17 Sept 26 −1

    No change was recorded against any check on this day. Stability & Change Management went from 98 to 92.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 95 to 98. Other categories moved too: Supply Chain Security rose 1.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 88 to 92.

  • 13 Sept 26 +1
    • Security disclosure: unverified → pass functional
  • 12 Sept 26 −1
    • Security disclosure: pass → unverified functional
  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 78 to 82.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed npm/@lazyants/transkribus-mcp-server@4.0.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo lazyants/transkribus-mcp-server
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/lazyants/transkribus-mcp-server/.github/workflows/publish-registry.yml@refs/tags/v4.0.0
Rekor log index 2753144926
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:43f92d3b9bec78141b1426bda49500c4362390f20c165ee96cd614531b966bdef3c28e086fbefbdebb582ae8f9be9324e28faa65c18be0acb3272df5f

Background: How many MCP packages publish verified provenance →

Dependencies 121 packages
Packages resolved 121
Stale 34
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 304 exposed · ~22,073 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
transkribus_recog_text2image_matching ~216

Run Text2Image matching using a specific model in a collection.

NameTypeReqDescription
addNotMatchedTextInLastLinebooleanAdd unmatched text in last line
allowDoubleMatchingbooleanAllow double matching
blockThreshnumberBlock threshold
collIdintegeryesCollection ID
creditsstringCredits parameter
doNotDeleteWorkDirbooleanDo not delete work directory
docIdintegeryesDocument ID
keepUnmatchedLinesbooleanKeep unmatched lines
lineThreshnumberLine threshold
modelIdintegeryesModel/HTR ID
pagesstringPage range (e.g. "1-5")
preserveLineOrderbooleanPreserve line order
reductionMethodintegerReduction method
useCurrentTranskriptbooleanUse current transcript
useSourceLineFeedsbooleanUse source line feeds

No output schema declared.

No examples provided.

transkribus_recog_train_htr_citlab ~48

Start CITlab HTR model training for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
configobjectyesTraining configuration parameters

No output schema declared.

No examples provided.

transkribus_recog_train_la_citlab ~47

Start CITlab Layout Analysis model training for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
configobjectyesTraining configuration parameters

No output schema declared.

No examples provided.

transkribus_recog_train_la2 ~45

Start Layout Analysis 2 model training for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
configobjectyesTraining configuration parameters

No output schema declared.

No examples provided.

transkribus_recog_train_table ~42

Start table recognition model training for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
configobjectyesTraining configuration parameters

No output schema declared.

No examples provided.

transkribus_recog_update ~49

Update a recognition model in a collection.

NameTypeReqDescription
bodyobjectyesModel update data
collIdintegeryesCollection ID
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_search_fulltext ~106

Search across document transcriptions using a fulltext query.

NameTypeReqDescription
collIdintegerLimit search to a specific collection ID
filterstringFilter string
legacybooleanUse legacy search
querystringyesFulltext search query
rowsintegerNumber of results (default 10)
startintegerStart offset (default 0)
typestringFilter by document type

No output schema declared.

No examples provided.

transkribus_search_keyword ~113

Search for documents matching a keyword.

NameTypeReqDescription
collIdintegerLimit search to a specific collection ID
filterstringFilter string
fuzzyintegerFuzzy matching level
probHnumberUpper probability threshold
probLnumberLower probability threshold
querystringyesKeyword search query
rowsintegerNumber of results
sortingstringSorting mode
startintegerStart offset

No output schema declared.

No examples provided.

transkribus_search_replace ~71

Search for a term and replace it across documents.

NameTypeReqDescription
collIdintegerLimit to a specific collection ID
docIdintegerLimit to a specific document ID
replaceTermstringyesReplacement term
searchTermstringyesTerm to search for

No output schema declared.

No examples provided.

transkribus_search_replace_in_collection ~127

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

NameTypeReqDescription
collIdintegeryesCollection ID
docIdintegerLimit to a specific document ID
filterstringFilter string
legacybooleanUse legacy search
querystringSearch query
replaceTermstringyesReplacement term
rowsintegerNumber of results
searchTermstringyesTerm to search for
startintegerStart offset
typestringSearch type

No output schema declared.

No examples provided.

transkribus_search_reset_index ~56

Reset the search index, optionally for a specific collection.

NameTypeReqDescription
collIdintegerCollection ID to reset index for
idintegerDocument ID
pageIdintegerPage ID

No output schema declared.

No examples provided.

transkribus_search_tags ~173

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

NameTypeReqDescription
attributesstringAttributes filter
caseSensitivebooleanCase sensitive search (default false)
collIdintegerLimit search to a specific collection ID
exactMatchbooleanRequire exact match (default true)
idstringDocument ID
legacybooleanUse legacy search (default false)
pageIdstringPage ID
regionTypestringRegion type (default "Line")
rowsintegerNumber of results (default 20000)
startintegerStart offset (default 0)
tagNamestringFilter by tag name
tagValuestringFilter by tag value

No output schema declared.

No examples provided.

transkribus_server_available_files ~31

List available client files on the server.

NameTypeReqDescription
isReleasebooleanFilter release files

No output schema declared.

No examples provided.

transkribus_server_bug_report ~45

Submit a bug report to the Transkribus server.

NameTypeReqDescription
descriptionstringyesDetailed description of the bug
subjectstringyesBug report subject

No output schema declared.

No examples provided.

transkribus_server_client_version ~42

Get the current Transkribus client version.

NameTypeReqDescription
isReleasebooleanFilter release version
packageTypestringPackage type

No output schema declared.

No examples provided.

transkribus_server_download_client_file ~56

Download a specific client file by name.

NameTypeReqDescription
fileNamestringyesName of the file to download
isReleasebooleanFilter release files
libsMapstringLibraries map

No output schema declared.

No examples provided.

transkribus_server_download_client_file_new ~49

Download a specific client file using the new endpoint.

NameTypeReqDescription
fileNamestringyesName of the file to download
isReleasebooleanFilter release files

No output schema declared.

No examples provided.

transkribus_server_download_gui ~44

Download the latest Transkribus GUI version.

NameTypeReqDescription
isReleasebooleanDownload release version
packageTypestringPackage type to download

No output schema declared.

No examples provided.

transkribus_server_get_events ~18

Retrieve server events and notifications.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

transkribus_server_version ~20

Get the current Transkribus server version.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

transkribus_stat_get_coll ~28

Get statistics for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID

No output schema declared.

No examples provided.

transkribus_stat_get_coll_stats ~32

Get collection statistics using the new stats endpoint.

NameTypeReqDescription
collIdintegeryesCollection ID

No output schema declared.

No examples provided.

transkribus_stat_get_page_status ~85

Get the page status overview for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)
sortColumnstringColumn to sort by
sortDirectionstringSort direction: asc or desc

No output schema declared.

No examples provided.

transkribus_stat_get_pages_filtered ~43

Get collection pages with filtering via POST body.

NameTypeReqDescription
bodyobjectFilter criteria for pages
collIdintegeryesCollection ID

No output schema declared.

No examples provided.

transkribus_stat_get_storage_usage ~31

Get storage usage details for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID

No output schema declared.

No examples provided.

transkribus_stat_update_page_status ~56

Update the status of pages in a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
pageIdintegerSpecific page ID to update
statusstringyesNew page status value

No output schema declared.

No examples provided.

transkribus_system_db_status ~22

Check the status of the Transkribus database.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

transkribus_system_fimagestore ~24

Check the status of the Transkribus image store.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

transkribus_upload_bulk_update_doc_metadata ~81

Bulk update document metadata for uploads from a CSV payload.

NameTypeReqDescription
csvstringInline CSV content. Exactly one of "csv" or "csvFilePath" is required.
csvFilePathstringAbsolute path to a local CSV file. Exactly one of "csv" or "csvFilePath" is required.

No output schema declared.

No examples provided.

transkribus_upload_bulk_update_isad_metadata ~85

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

NameTypeReqDescription
csvstringInline CSV content. Exactly one of "csv" or "csvFilePath" is required.
csvFilePathstringAbsolute path to a local CSV file. Exactly one of "csv" or "csvFilePath" is required.

No output schema declared.

No examples provided.

transkribus_upload_create_from_mets ~98

Create an upload from a METS XML document.

NameTypeReqDescription
collIdintegeryesCollection ID
metsFilePathstringAbsolute path to a local METS XML file. Exactly one of "metsXml" or "metsFilePath" is required.
metsXmlstringInline METS XML document content. Exactly one of "metsXml" or "metsFilePath" is required.

No output schema declared.

No examples provided.

transkribus_upload_create_s3 ~76

Create an upload from an S3 source.

NameTypeReqDescription
collIdintegeryesCollection ID
idintegerUpload ID
s3BucketstringS3 bucket name
s3KeystringS3 object key
titlestringDocument title

No output schema declared.

No examples provided.

transkribus_upload_create_structure ~89

Create an upload document structure describing pages to be uploaded.

NameTypeReqDescription
authorstringDocument author
collIdintegeryesCollection ID
descriptionstringDocument description
pagesarrayyesOrdered list of pages in this upload structure
relatedUploadIdintegerID of a related upload
titlestringyesDocument title

No output schema declared.

No examples provided.

transkribus_upload_delete ~27

Delete an upload by ID.

NameTypeReqDescription
uploadIdintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_upload_get_bulk_doc_metadata ~31

Retrieve bulk document metadata for uploads.

NameTypeReqDescription
collIdintegerCollection ID

No output schema declared.

No examples provided.

transkribus_upload_get_bulk_isad_metadata ~35

Retrieve bulk ISAD(G) metadata for uploads.

NameTypeReqDescription
collIdintegerCollection ID

No output schema declared.

No examples provided.

transkribus_upload_get_status ~31

Get the status of an upload by ID.

NameTypeReqDescription
uploadIdintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_upload_page ~93

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

NameTypeReqDescription
fileNamestringFile name for the image part, overriding the local file's basename
imagePathstringyesAbsolute local path to the page image file
pageXmlPathstringAbsolute local path to a PAGE XML file for this page
uploadIdintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_upload_update_metadata ~52

Update metadata for an existing upload.

NameTypeReqDescription
collIdintegerCollection ID
metadataobjectMetadata key-value pairs to update
uploadIdintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_user_activity_recognition ~55

Get recognition activity history for a specific user.

NameTypeReqDescription
fromnumberStart timestamp (epoch ms)
idintegeryesResource ID
tonumberEnd timestamp (epoch ms)

No output schema declared.

No examples provided.

transkribus_user_activity_saves ~55

Get save activity history for a specific user.

NameTypeReqDescription
fromnumberStart timestamp (epoch ms)
idintegeryesResource ID
tonumberEnd timestamp (epoch ms)

No output schema declared.

No examples provided.

transkribus_user_count_my_docs ~68

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

NameTypeReqDescription
getAllDocsIfAdminbooleanGet all docs if admin
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)

No output schema declared.

No examples provided.

transkribus_user_delete ~26

Delete a user by ID.

NameTypeReqDescription
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_user_find ~83

Search for users by username/email.

NameTypeReqDescription
caseSensitivebooleanCase sensitive search (default false)
exactMatchbooleanRequire exact match (default true)
firstNamestringFilter by first name
lastNamestringFilter by last name
userstringUsername or email to search for

No output schema declared.

No examples provided.

transkribus_user_get ~29

Get details of a specific user by ID.

NameTypeReqDescription
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_user_get_job_acl ~24

Get the job access control list for the current user.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

transkribus_user_get_stats ~20

Get usage statistics for the current user.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

transkribus_user_get_storage ~30

Get storage usage information for a specific user.

NameTypeReqDescription
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_user_init ~67

Initialize or set up a user account by ID.

NameTypeReqDescription
emailstringEmail address
firstNamestringFirst name
idintegeryesResource ID
lastNamestringLast name
usernamestringUsername

No output schema declared.

No examples provided.

transkribus_user_is_allowed_for_job ~40

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

NameTypeReqDescription
jobImplstringyesJob implementation class name

No output schema declared.

No examples provided.

Common questions

What is the io.github.lazyants/transkribus MCP server?

io.github.lazyants/transkribus is an MCP server listed in the public MCP registry as io.github.lazyants/transkribus. MCP server for the Transkribus REST API, collections, documents, HTR/OCR, and models. This page covers its npm package (@lazyants/transkribus-mcp-server).

Is the io.github.lazyants/transkribus MCP server safe to use?

io.github.lazyants/transkribus scores 90 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.lazyants/transkribus MCP server expose?

io.github.lazyants/transkribus exposes 304 tools: transkribus_auth_check_session, transkribus_auth_get_details, transkribus_auth_invalidate, transkribus_auth_logout, transkribus_auth_refresh, and 299 more. Their descriptions and schemas cost roughly 22,073 tokens of context every time the server is loaded.

Is the io.github.lazyants/transkribus MCP server still maintained?

io.github.lazyants/transkribus is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.lazyants/transkribus MCP server under?

io.github.lazyants/transkribus declares the FSL-1.1-MIT licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.