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_kws_create_query ~53

Create a new keyword spotting query.

NameTypeReqDescription
collIdintegeryesCollection ID
idintegerLimit to a specific document ID
querystringyesKeyword query string

No output schema declared.

No examples provided.

transkribus_kws_get_hits ~67

Get hits for a keyword spotting query.

NameTypeReqDescription
idintegeryesResource ID
indexintegerStart index (0-based)
keywordstringFilter by keyword
nValuesintegerNumber of results (-1 for all)

No output schema declared.

No examples provided.

transkribus_kws_get_keywords ~30

Get keywords for a keyword spotting query.

NameTypeReqDescription
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_kws_get_result_data ~32

Get result data for a keyword spotting query.

NameTypeReqDescription
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_kws_list_queries ~105

List keyword spotting queries.

NameTypeReqDescription
collIdintegerFilter by collection ID
idintegerFilter by document ID
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)
sortColumnstringColumn to sort by
sortDirectionstringSort direction: asc or desc
statusstringFilter by query status

No output schema declared.

No examples provided.

transkribus_la_analyze ~150

Run layout analysis on document pages.

NameTypeReqDescription
collIdintegeryesCollection ID
creditsstringCredits parameter
doBaselineToPolygonbooleanConvert baselines to polygons
doBlockSegbooleanPerform block segmentation
doLineSegbooleanPerform line segmentation
doPolygonToBaselinebooleanConvert polygons to baselines
doWordSegbooleanPerform word segmentation
docIdintegeryesDocument ID
jobImplstringJob implementation class
pagesstringPage range (e.g. "1-5" or "1,3,5")

No output schema declared.

No examples provided.

transkribus_la_analyze_advanced ~166

Run advanced layout analysis with additional parameters.

NameTypeReqDescription
collIdintegeryesCollection ID
creditsstringCredits parameter
doBaselineToPolygonbooleanConvert baselines to polygons
doBlockSegbooleanPerform block segmentation
doLineSegbooleanPerform line segmentation
doPolygonToBaselinebooleanConvert polygons to baselines
doWordSegbooleanPerform word segmentation
docIdintegeryesDocument ID
jobImplstringJob implementation class
modelIdintegerModel/HTR ID
pagesstringPage range (e.g. "1-5" or "1,3,5")

No output schema declared.

No examples provided.

transkribus_la_get_costs ~78

Get the cost estimate for layout analysis on a document.

NameTypeReqDescription
collIdintegeryesCollection ID
creditsstringCredits parameter
docIdintegeryesDocument ID
modelIdintegerModel/HTR ID
nrOfPagesintegerNumber of pages

No output schema declared.

No examples provided.

transkribus_la_la2_inference ~207

Run LA2 model inference on document pages.

NameTypeReqDescription
addToPageXMLbooleanAdd results to PAGE XML
approxPolyFracnumberApproximate polygon fraction (default 0.7)
clusterLinesWithoutRegionsbooleanCluster lines without regions
collIdintegeryesCollection ID
combineWithBaseLayoutbooleanCombine with base layout
creditsstringCredits parameter
docIdintegeryesDocument ID
keepEmptyRegionsbooleanKeep empty regions
lineOverlapFractionnumberLine overlap fraction (default 0.05)
modelIdintegerModel/HTR ID
pagesstringPage range (e.g. "1-5" or "1,3,5")
splitLinesbooleanSplit lines
thresholdnumberDetection threshold (default 0.75)

No output schema declared.

No examples provided.

transkribus_la_table_inference ~88

Run table structure inference on document pages.

NameTypeReqDescription
collIdintegeryesCollection ID
creditsstringCredits parameter
docIdintegeryesDocument ID
modelIdintegerModel/HTR ID
pagesstringPage range (e.g. "1-5" or "1,3,5")

No output schema declared.

No examples provided.

transkribus_label_assign_documents ~42

Assign documents to a label.

NameTypeReqDescription
documentIdsarrayyesArray of document IDs to assign
labelIdintegeryesLabel ID

No output schema declared.

No examples provided.

transkribus_label_assign_pages ~42

Assign pages to a label.

NameTypeReqDescription
labelIdintegeryesLabel ID
pageIdsarrayyesArray of page IDs to assign

No output schema declared.

No examples provided.

transkribus_label_create ~37

Create a new label.

NameTypeReqDescription
colorstringLabel color (hex code)
namestringyesLabel name

No output schema declared.

No examples provided.

transkribus_label_delete ~42

Delete a label by ID.

NameTypeReqDescription
forcebooleanForce delete even if in use (default false)
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_label_get ~26

Get a label by ID.

NameTypeReqDescription
idintegeryesResource ID

No output schema declared.

No examples provided.

transkribus_label_list ~141

List all labels.

NameTypeReqDescription
assignedbyintegerFilter by assigner user ID
collIdintegerFilter by collection ID
idintegerFilter by label ID
indexintegerStart index (0-based)
labelIdintegerFilter by label ID (alias)
nValuesintegerNumber of results (-1 for all)
sortColumnstringColumn to sort by
sortDirectionstringSort direction: asc or desc
typestringFilter by label type
useridintegerFilter by user ID

No output schema declared.

No examples provided.

transkribus_label_remove_all_documents ~30

Remove all documents from a label.

NameTypeReqDescription
labelIdintegeryesLabel ID

No output schema declared.

No examples provided.

transkribus_label_remove_all_pages ~30

Remove all pages from a label.

NameTypeReqDescription
labelIdintegeryesLabel ID

No output schema declared.

No examples provided.

transkribus_label_remove_documents ~42

Remove documents from a label.

NameTypeReqDescription
documentIdsarrayyesArray of document IDs to remove
labelIdintegeryesLabel ID

No output schema declared.

No examples provided.

transkribus_label_remove_pages ~42

Remove pages from a label.

NameTypeReqDescription
labelIdintegeryesLabel ID
pageIdsarrayyesArray of page IDs to remove

No output schema declared.

No examples provided.

transkribus_label_replace_document_assignments ~55

Replace label assignments for a specific document.

NameTypeReqDescription
idintegeryesResource ID
labelIdintegeryesLabel ID
labelIdsarrayArray of label IDs to assign

No output schema declared.

No examples provided.

transkribus_label_replace_page_assignments ~55

Replace label assignments for a specific page.

NameTypeReqDescription
idintegeryesResource ID
labelIdintegeryesLabel ID
labelIdsarrayArray of label IDs to assign

No output schema declared.

No examples provided.

transkribus_label_update ~50

Update an existing label by ID.

NameTypeReqDescription
colorstringUpdated label color (hex code)
idintegeryesResource ID
namestringUpdated label name

No output schema declared.

No examples provided.

transkribus_model_add_collection ~69

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

NameTypeReqDescription
collIdintegeryesCollection ID to add
modelIdintegeryesModel/HTR ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_add_collection_by_id ~50

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

NameTypeReqDescription
collIdintegeryesCollection ID
modelIdintegeryesModel/HTR ID

No output schema declared.

No examples provided.

transkribus_model_delete ~31

Delete a model by its ID.

NameTypeReqDescription
modelIdintegeryesModel/HTR ID

No output schema declared.

No examples provided.

transkribus_model_delete_by_type ~51

Delete a model by its type and ID.

NameTypeReqDescription
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get ~269

Get details of a model by its ID.

NameTypeReqDescription
applicationstringFilter by application
centuriesstringFilter by centuries
collIdintegerFilter by collection ID
creatorstringFilter by creator
docTypestringFilter by document type
facetLimitintegerFacet limit
featuredbooleanFilter featured models
filterstringFilter string
indexintegerStart index (0-based)
isoLanguagesstringFilter by ISO languages
labelsstringFilter by labels
minFacetCountintegerMinimum facet count
modelIdintegeryesModel/HTR ID
nValuesintegerNumber of results (-1 for all)
provstringFilter by provider
publisherstringFilter by publisher
releaseLevelintegerFilter by release level
scriptTypesstringFilter by script types
slugstringFilter by slug
sortColumnstringColumn to sort by
sortDirectionstringSort direction (asc/desc)
useridintegerFilter by user ID

No output schema declared.

No examples provided.

transkribus_model_get_by_type ~279

Get models filtered by type with optional query parameters.

NameTypeReqDescription
applicationstringFilter by application
centuriesstringFilter by centuries
collIdintegerFilter by collection ID
creatorstringFilter by creator
docTypestringFilter by document type
facetLimitintegerFacet limit
featuredbooleanFilter featured models
filterstringFilter string
indexintegerStart index (0-based)
isoLanguagesstringFilter by ISO languages
labelsstringFilter by labels
minFacetCountintegerMinimum facet count
nValuesintegerNumber of results (-1 for all)
provstringFilter by provider
publisherstringFilter by publisher
releaseLevelintegerFilter by release level
scriptTypesstringFilter by script types
slugstringFilter by slug
sortColumnstringColumn to sort by
sortDirectionstringSort direction: asc or desc
typestringyesModel type (e.g. htr, la, ocr)
useridintegerFilter by user ID

No output schema declared.

No examples provided.

transkribus_model_get_details ~52

Get detailed information about a model by type and ID.

NameTypeReqDescription
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_field_params ~54

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

NameTypeReqDescription
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_train_data ~79

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

NameTypeReqDescription
idintegeryesResource ID
indexintegerStart index (0-based)
nValuesintegerNumber of values to return
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_train_data_docs ~81

Get the documents used as training data for a model.

NameTypeReqDescription
idintegeryesResource ID
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_train_data_stats ~53

Get statistics about the training data for a model.

NameTypeReqDescription
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_validation_data ~81

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

NameTypeReqDescription
idintegeryesResource ID
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_validation_data_docs ~81

Get the documents used as validation data for a model.

NameTypeReqDescription
idintegeryesResource ID
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_get_validation_data_stats ~53

Get statistics about the validation data for a model.

NameTypeReqDescription
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_list ~169

List available models with optional pagination and filtering.

NameTypeReqDescription
allbooleanReturn all models including inactive (default false)
collIdintegerFilter by collection ID
filterstringFilter string
indexintegerStart index (0-based)
nValuesintegerNumber of results (-1 for all)
onlyActivebooleanOnly return active models (default true)
provstringFilter by model provider
releaseLevelintegerFilter by release level
sortColumnstringColumn to sort by
sortDirectionstringSort direction: asc or desc
typestringFilter by model type
useridintegerFilter by user ID

No output schema declared.

No examples provided.

transkribus_model_list_collections ~53

List collections associated with a model by type and ID.

NameTypeReqDescription
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_list_collections_by_id ~49

List collections associated with a model by its ID.

NameTypeReqDescription
modelIdintegeryesModel/HTR ID
transcriptIdsbooleanInclude transcript IDs

No output schema declared.

No examples provided.

transkribus_model_remove_collection ~71

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

NameTypeReqDescription
collIdintegeryesCollection ID
modelIdintegeryesModel/HTR ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_model_remove_collection_by_id ~50

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

NameTypeReqDescription
collIdintegeryesCollection ID
modelIdintegeryesModel/HTR ID

No output schema declared.

No examples provided.

transkribus_model_update ~31

Update a model by posting updated model data.

NameTypeReqDescription
bodyobjectyesModel data to update

No output schema declared.

No examples provided.

transkribus_model_update_by_type ~61

Update a model by its type and ID.

NameTypeReqDescription
bodyobjectyesModel update data
idintegeryesResource ID
typestringyesModel type (e.g. htr, la, ocr)

No output schema declared.

No examples provided.

transkribus_p2pala_train ~61

Start P2PaLA layout analysis model training for a collection.

NameTypeReqDescription
collIdintegeryesCollection ID
descriptionstringDescription of the model
modelNamestringName for the new model

No output schema declared.

No examples provided.

transkribus_page_add ~78

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

NameTypeReqDescription
collIdintegeryesCollection ID
fileNamestringFile name for the page
idintegeryesDocument ID
imgUrlstringURL of the image to add
pageintegeryesPage number

No output schema declared.

No examples provided.

transkribus_page_assign_plaintext ~137

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

NameTypeReqDescription
collIdintegeryesCollection ID
idintegeryesDocument ID
notestringNote for the transcript
nrIsPageIdbooleanTreat page nr as page ID
pageintegeryesPage number
parentintegerParent transcript ID
statusstringTranscript status
textstringyesPlain text content to assign
toolNamestringTool name that created the transcript
useExistingLayoutbooleanUse existing layout

No output schema declared.

No examples provided.

transkribus_page_count_transcripts ~50

Get the number of transcripts for a page.

NameTypeReqDescription
collIdintegeryesCollection ID
idintegeryesDocument ID
pageintegeryesPage number

No output schema declared.

No examples provided.

transkribus_page_delete ~46

Delete a page from a document.

NameTypeReqDescription
collIdintegeryesCollection ID
idintegeryesDocument ID
pageintegeryesPage number

No output schema declared.

No examples provided.

transkribus_page_delete_transcript ~61

Delete a specific transcript version from a page.

NameTypeReqDescription
collIdintegeryesCollection ID
idintegeryesDocument ID
keystringyesTranscript key to delete
pageintegeryesPage number

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.