Server definition
- Hash
- sha256:0f36c9fd77cd96bf04ada0d5ea2d3d3046a59da0063a292f31f9394d8ef89933
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "DocWand signs, fills, merges and splits PDFs ENTIRELY inside an interactive widget running in the user's browser. The document never leaves their device.\n\nHard rules:\n1. For ANY request to sign, fill, merge or split a PDF, call the matching DocWand tool. NEVER edit, fill, sign, convert or regenerate the PDF yourself (no code execution, no attaching files) — that destroys document integrity and violates the user's privacy expectations.\n2. The widget is the workspace: the user reviews everything, completes remaining fields, adjusts the signature and downloads the final file THERE. After a tool call, reply with one short sentence pointing the user to the widget. Do not produce a PDF, do not paste field contents into the chat.\n3. fill_pdf_form: after the document loads, the widget reports the available form field names in widget state. To pre-fill, call fill_pdf_form with `values` keyed by those EXACT names — but only values the user explicitly stated or confirmed. Leave everything else empty for the user; never invent data.\n4. sign_pdf: pass signature_name only when the user asked to sign with their name. The user can also draw or upload a signature in the widget.\n5. Never claim the document was signed or filled — the user finishes and downloads it in the widget.\n6. Follow-up calls in the same conversation may omit the file parameter — the widget reuses the most recently loaded document. Never pass invented file paths (like /mnt/data/...) as the file value.",
"tools": [
{
"description": "Fill out a PDF form in an interactive widget (AcroForm fields, checkboxes, dropdowns — or click-and-type on flat PDFs). Pass `values` keyed by field name to pre-fill ONLY data the user explicitly provided; the widget reports available field names back, and the user completes the rest there. ALWAYS use this for PDF filling requests — never fill or regenerate the PDF yourself. All processing happens locally in the user's browser. Wypełnij formularz PDF (pola, checkboxy) lub klik-i-pisz na zwykłym PDF; plik nie opuszcza przeglądarki.",
"inputSchema": {
"properties": {
"file": {
"description": "PDF form from the conversation to fill",
"type": "string"
},
"signature_name": {
"description": "Optional: the signer's full name as a handwritten-style signature",
"type": "string"
},
"values": {
"additionalProperties": {
"type": [
"string",
"boolean"
]
},
"description": "Field values keyed by AcroForm field name (string for text/dropdown, boolean for checkboxes). Field names are reported in the widget state after the document loads.",
"type": "object"
}
},
"required": [],
"type": "object"
},
"name": "fill_pdf_form",
"outputSchema": null
},
{
"description": "Merge multiple PDF files into one. The user can reorder files before downloading. All processing happens locally in the user's browser. Połącz kilka plików PDF w jeden; kolejność można zmienić przed pobraniem; pliki nie opuszczają przeglądarki.",
"inputSchema": {
"properties": {
"files": {
"description": "PDF files from the conversation to merge, in order",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [],
"type": "object"
},
"name": "merge_pdfs",
"outputSchema": null
},
{
"description": "Sign a PDF: opens an interactive widget where the user draws, types or uploads a signature and places it on the document. Optionally pass signature_name to pre-render a handwritten-style signature. ALWAYS use this for PDF signing requests — never sign or modify the PDF yourself; the user reviews and downloads in the widget. All processing happens locally in the user's browser — the file is never uploaded. Podpisz PDF: narysuj, wpisz lub wgraj podpis i umieść go na dokumencie; plik nie opuszcza przeglądarki.",
"inputSchema": {
"properties": {
"file": {
"description": "PDF file from the conversation to sign",
"type": "string"
},
"signature_name": {
"description": "Optional: the signer's full name, rendered as a handwritten-style signature the user can place and adjust",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "sign_pdf",
"outputSchema": null
},
{
"description": "Split a PDF / extract pages. Pass `ranges` like \"1-3, 5\" to pre-select pages; the user can adjust on thumbnails before downloading. All processing happens locally in the user's browser. Podziel PDF / wyodrębnij strony (zakresy np. \"1-3, 5\"); plik nie opuszcza przeglądarki.",
"inputSchema": {
"properties": {
"file": {
"description": "PDF file from the conversation to split",
"type": "string"
},
"ranges": {
"description": "Page ranges to extract, e.g. \"1-3, 5, 8-10\" (order matters)",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "split_pdf",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0f36c9fd77cd96bf04ada0d5ea2d3d3046a59da0063a292f31f9394d8ef89933 | sha256sum