PDF, photo, email, and file comparison evidence checks with plain-language reports.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer API key. Self-serve at https://docverdict.com/api-access. Optional: a keyless trial allows 3 calls per day per IP.
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.
Compare two PDFs: byte identity, whether one file derives from the other, and what changed (pages, metadata, signature events). Reports the relationship the bytes show; it does not decide which file is the right one.
File content, base64-encoded.
File content, base64-encoded.
Original filename, for the report header.
Original filename, for the report header.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Compare two PDFs: byte identity, whether one file derives from the other, and what changed (pages, metadata, signature events). Reports the relationship the bytes show; it does not decide which file is the right one.
| Argument | Type | Description |
|---|---|---|
| filename_a | string | Original filename, for the report header. |
| filename_b | string | Original filename, for the report header. |
| file_a_base64* | string | File content, base64-encoded. |
| file_b_base64* | string | File content, base64-encoded. |
{
"type": "object",
"required": [
"file_a_base64",
"file_b_base64"
],
"properties": {
"filename_a": {
"type": "string",
"description": "Original filename, for the report header."
},
"filename_b": {
"type": "string",
"description": "Original filename, for the report header."
},
"file_a_base64": {
"type": "string",
"description": "File content, base64-encoded."
},
"file_b_base64": {
"type": "string",
"description": "File content, base64-encoded."
}
}
}Check one email saved as .eml: sender alignment, authentication results as recorded by the receiving server, and the delivery route. Classifications only — a mismatch is evidence to weigh, not a conclusion.
| Argument | Type | Description |
|---|---|---|
| filename | string | Original filename, for the report header. |
| file_base64* | string | File content, base64-encoded. |
{
"type": "object",
"required": [
"file_base64"
],
"properties": {
"filename": {
"type": "string",
"description": "Original filename, for the report header."
},
"file_base64": {
"type": "string",
"description": "File content, base64-encoded."
}
}
}Check one PDF: digital signature status, whether content was added after signing, and metadata observations (creation dates, producing software, edit history). Returns findings JSON and a plain-language report. The result classifies evidence; it never determines fraud, authenticity, or legal validity.
| Argument | Type | Description |
|---|---|---|
| filename | string | Original filename, for the report header. |
| file_base64* | string | File content, base64-encoded. |
{
"type": "object",
"required": [
"file_base64"
],
"properties": {
"filename": {
"type": "string",
"description": "Original filename, for the report header."
},
"file_base64": {
"type": "string",
"description": "File content, base64-encoded."
}
}
}Check one photo (JPG, PNG, or HEIC): camera metadata, capture time, edit traces, and timestamp consistency. Observations suggest, never prove, how the image was made and handled.
| Argument | Type | Description |
|---|---|---|
| filename | string | Original filename, for the report header. |
| file_base64* | string | File content, base64-encoded. |
{
"type": "object",
"required": [
"file_base64"
],
"properties": {
"filename": {
"type": "string",
"description": "Original filename, for the report header."
},
"file_base64": {
"type": "string",
"description": "File content, base64-encoded."
}
}
}