Explains contracts, letters and tax notices clause by clause. Text, PDF or photos. Not legal advice.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Explains a contract, official letter, tax assessment or terms-and-conditions document in plain language, clause by clause. The document can be sent as plain text, as a base64-encoded PDF, or as base64-encoded photos of its pages — exactly one of the three. Scans and phone photos without a text layer are read by OCR, so a photographed letter works as well as a typed one. Returns every relevant clause with the original wording, a plain language version and why it matters, plus a short summary. It explains what the document says — it does not give legal advice, does not review the document and does not recommend a course of action. Plain text takes 20 to 60 seconds, a scan or photo longer because of OCR. If it is still running when this call returns, use get_explanation with the returned analysis_id.
The document as a base64-encoded PDF, for a file that has no usable text layer or whose layout matters. Up to 8 MB decoded.
The full text of the document to explain.
Photos or scans of the document pages, base64-encoded, in page order. JPEG, PNG, HEIC or WebP, up to 15 images and 8 MB decoded in total.
Language the explanation should be written in (ISO 639-1). Defaults to English. The document itself may be in any language.
Explains a contract, official letter, tax assessment or terms-and-conditions document in plain language, clause by clause. The document can be sent as plain text, as a base64-encoded PDF, or as base64-encoded photos of its pages — exactly one of the three. Scans and phone photos without a text layer are read by OCR, so a photographed letter works as well as a typed one. Returns every relevant clause with the original wording, a plain language version and why it matters, plus a short summary. It explains what the document says — it does not give legal advice, does not review the document and does not recommend a course of action. Plain text takes 20 to 60 seconds, a scan or photo longer because of OCR. If it is still running when this call returns, use get_explanation with the returned analysis_id.
| Argument | Type | Description |
|---|---|---|
| string | The document as a base64-encoded PDF, for a file that has no usable text layer or whose layout matters. Up to 8 MB decoded. | |
| text | string | The full text of the document to explain. |
| images | array | Photos or scans of the document pages, base64-encoded, in page order. JPEG, PNG, HEIC or WebP, up to 15 images and 8 MB decoded in total. |
| language | string | Language the explanation should be written in (ISO 639-1). Defaults to English. The document itself may be in any language. |
{
"type": "object",
"properties": {
"pdf": {
"type": "string",
"description": "The document as a base64-encoded PDF, for a file that has no usable text layer or whose layout matters. Up to 8 MB decoded."
},
"text": {
"type": "string",
"description": "The full text of the document to explain."
},
"images": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 15,
"description": "Photos or scans of the document pages, base64-encoded, in page order. JPEG, PNG, HEIC or WebP, up to 15 images and 8 MB decoded in total."
},
"language": {
"enum": [
"de",
"en",
"es",
"fr",
"it",
"pt"
],
"type": "string",
"description": "Language the explanation should be written in (ISO 639-1). Defaults to English. The document itself may be in any language."
}
}
}Fetches the result of an explain_document call that was still running. Pass the analysis_id it returned.
| Argument | Type | Description |
|---|---|---|
| analysis_id* | string | The analysis_id returned by explain_document. |
{
"type": "object",
"required": [
"analysis_id"
],
"properties": {
"analysis_id": {
"type": "string",
"description": "The analysis_id returned by explain_document."
}
}
}