MCP server for the Transkribus REST API โ collections, documents, HTR/OCR, and models.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for the Transkribus REST API. Manage collections, documents, HTR/OCR recognition, models, and more through the Model Context Protocol.
304 tools 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 โ 300 tools;- the Metagrapho Processing API (
https://transkribus.eu/processing/v1), OIDC bearer auth viaaccount.readcoop.euโ the 4transkribus_processing_*tools.Mind the version. Some Transkribus material still shows
/processing/v2and aconfig.modelIdfield. That path returns 404; the live service is/processing/v1and takesconfig.textRecognition.htrId.
Or run directly:
Transkribus uses session-based authentication. Credentials are resolved in this order, per value:
TRANSKRIBUS_USER + TRANSKRIBUS_PASSWORD, or TRANSKRIBUS_SESSION_ID)Either a user name and password (the server logs in and manages the session) or a session id you already hold. A session id takes precedence when both are available; it expires, so a user name and password is the better choice for a long-running setup โ and is what lets the server re-authenticate after a 401.
The keyring is never required: if it is unavailable โ a headless Linux box with
no Secret Service, an unsupported platform, an install with --omit=optional โ
or if it does not answer within 5 seconds, the server falls back to the
environment.
Three entries under one service name, transkribus-mcp by default:
user, password and session-id (store only what you use).
[!IMPORTANT] The commands below read the value from an interactive prompt rather than taking it as an argument, so it never lands in your shell history, in a command line, or in the launch environment of another process. Avoid pasting a password directly onto the command line.
Omitting the value after -w makes security prompt for it:
[!NOTE] A login-keychain item belongs to the program that created it. The first time the server reads an item created by
security, 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 -Eshows those). The prompt below is plain POSIX, so it behaves the same inzshandbash:Repeat with
"user"in place of"password". A different Node.js installation later (anvmswitch, say) is a different program to the keychain, so the dialog can appear once more for it.
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:
Using a custom
TRANSKRIBUS_KEYRING_SERVICE(e.g.acme)? SetTargetNametouser.acme/password.acmeto match โ the server looks each value up under<account>.<service>.
Once stored, MCP config files need no credentials at all.
Or, with a session you already hold:
| Variable | Default | Description |
|---|---|---|
TRANSKRIBUS_USER | โ | Account e-mail; used when the keyring has no user entry for the configured service |
TRANSKRIBUS_PASSWORD | โ | Account password; used when the keyring has no password entry |
TRANSKRIBUS_SESSION_ID | โ | An existing session id; used when the keyring has no session-id entry |
TRANSKRIBUS_KEYRING_SERVICE | transkribus-mcp | Keyring service name. Override to connect to several Transkribus accounts at once โ run one server instance per account, each with its own service name |
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:
| Command | Domains | Tools |
|---|---|---|
transkribus-mcp-server | All 23 domains | 304 |
transkribus-mcp-collections | Auth, Collections (core/docs/pages/users/crowd/editdecl/credits/stats/labels/activity/tags) | 131 |
transkribus-mcp-admin | Auth, Admin, Credits, Uploads, Labels, Files, System, Root | 62 |
transkribus-mcp-transcription | Auth, Recognition, Layout Analysis, PyLaia, P2PaLA, DU | 47 |
transkribus-mcp-users | Auth, Users, Crowdsourcing, eLearning | 29 |
transkribus-mcp-models | Auth, Models | 26 |
transkribus-mcp-jobs | Auth, Jobs, Actions | 19 |
transkribus-mcp-search | Auth, Search, KWS | 16 |
transkribus-mcp-processing | Processing (Metagrapho) โ no legacy auth tools | 4 |
Use split servers to reduce context size โ pick only the splits you need.
To ingest a document, use this three-step flow:
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/transkribus)<a href="https://allmcps.com/mcp/transkribus"><img src="https://allmcps.com/api/badge/transkribus?style=directory" alt="Transkribus on AllMCPs" /></a>