heu-legal-mcp
This server integrates HEU Legal's e-signature API into MCP clients, enabling full lifecycle management of legally binding electronic signatures and documents in conversation.
Health Check: Verify API availability with
get_heu_health.Document Management: List, retrieve, and manage native HEU documents/templates and uploaded PDF documents/templates, including status, signers, and placeholders.
Create & Send for Signature: Create HEU documents from templates, upload PDFs, or use existing PDF templates; send them for signature via email, with AI-assisted placement of signature fields (
create_heu_document,create_pdf_document,create_pdf_document_from_upload).AI-Powered Field Mapping: Use
locate_pdf_textto find text positions in PDFs and automatically place signature/text fields.Template Management: Create, update, preview, and delete reusable PDF templates (
create_pdf_template,update_pdf_template,preview_pdf_template,delete_pdf_template).Reminders & Cancellation: Send signature reminders and cancel pending signature requests (
prompt_heu_document_signature,prompt_pdf_document_signature,cancel_pdf_document).Document Reading & Analysis: Extract text and structured party data (tax codes, VAT, PEC, addresses) without downloading, for summarization or clause comparison (
read_heu_document,read_pdf_document,extract_heu_document_parties,extract_pdf_document_parties).Download & Archiving: Download signed PDFs, audit trails, and complete legal bundles (signed PDF + audit trail + FES artifacts) (
download_heu_document_pdf,download_pdf_document,download_pdf_audit_trail,download_pdf_bundle).Placeholder Management: List and manage signature fields and placeholders in both native HEU documents and PDFs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@heu-legal-mcpList my HEU documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HEU Legal MCP Server
MCP server (Model Context Protocol) che collega l'API HEU Legal a Claude e a qualsiasi client MCP. Gestisce l'intero ciclo di vita dei documenti con firma elettronica (valida in 180+ paesi) direttamente in conversazione: dalla creazione all'invio in firma, dal sollecito al download del fascicolo legale completo.
Cosa puoi fare
Voglio... | Il server lo fa con... |
π Vedere i miei documenti e templates |
|
βοΈ Mandare un contratto in firma da un template |
|
π Mandare in firma un PDF che ho sul computer, senza passare dalla piattaforma |
|
π€ Far mappare i campi firma all'AI (analizza il PDF, posiziona i campi, invia) |
|
π Sollecitare chi non ha ancora firmato |
|
π Far leggere un contratto all'AI (riassunti, clausole, confronti) senza scaricarlo |
|
πͺͺ Estrarre i dati delle parti (P.IVA, codice fiscale, SDI, PEC, indirizzi) |
|
πΎ Scaricare il PDF firmato |
|
βοΈ Scaricare il fascicolo legale completo (documento + audit trail + artefatti FES) |
|
π§© Creare/modificare templates PDF riutilizzabili via API |
|
β Annullare una richiesta di firma inviata per errore |
|
π©Ί Controllare che l'API sia raggiungibile |
|
Due famiglie di oggetti:
Documenti nativi HEU β creati con l'editor in-app della piattaforma (ID a forma di UUID, es.
5135e7b2-196b-...).PDF caricati β file PDF con firmatari e campi firma posizionati sopra (ID numerici, es.
68).
Related MCP server: Google Docs MCP Server
Requisiti
Python β₯ 3.10
API key HEU Legal β nella UI: Profile β API Keys β Generate API Key (richiede subscription Enterprise; massimo 2 chiavi attive)
Per i flussi da template: almeno un template creato sulla piattaforma (oppure crealo via API con
create_pdf_template)
Installazione
Da PyPI:
pip install heu-mcpDa sorgenti:
git clone https://github.com/Lucav21/heu-mcp.git
cd heu-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtConfigurazione
Claude Desktop
Modifica ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"heu": {
"command": "heu-mcp",
"args": [],
"env": {
"HEU_API_KEY": "la_tua_api_key_qui"
}
}
}
}Se installato da sorgenti con venv:
{
"mcpServers": {
"heu": {
"command": "/path/assoluto/heu-mcp/venv/bin/python",
"args": ["/path/assoluto/heu-mcp/server.py"],
"env": {
"HEU_API_KEY": "la_tua_api_key_qui"
}
}
}
}Riavvia Claude Desktop dopo la modifica.
Claude Code (CLI)
claude mcp add heu heu-mcp -e HEU_API_KEY=la_tua_api_key_quiVariabili d'ambiente
Variabile | Descrizione | Default |
| API key HEU Legal (richiesta) | β |
| URL base dell'API |
|
| Cartella dove salvare i file scaricati |
|
Riferimento completo dei tool (28)
π©Ί Health
Tool | Parametri | Cosa ritorna |
| β |
|
π Documenti nativi HEU
Tool | Parametri | Cosa fa |
|
| Lista documenti/template con stato, membri, firme. β οΈ Le due date vanno passate sempre insieme, altrimenti l'API puΓ² restituire risultati incompleti |
|
| Dettaglio completo: nome, stato ( |
|
| Elenco delle chiavi placeholder sostituibili nel testo del template |
|
| Crea un documento da un template, sostituisce i placeholder e lo condivide via email ai destinatari |
|
| Invia il sollecito di firma. Limite: 1 ogni 24h per documento (429 con |
|
| Estrae il testo del documento e lo restituisce in conversazione, senza salvare nulla su disco. Max 100 pagine se |
|
| Dati delle parti: combina i firmatari registrati con l'estrazione dal testo di codici fiscali, P.IVA, codice univoco SDI, email, PEC, luogo+data di nascita, indirizzi, CAP. Pattern ottimizzati per contratti italiani |
|
| Genera e salva il PDF su disco; ritorna il path |
π PDF caricati
Tool | Parametri | Cosa fa |
|
| Lista PDF con stato ( |
|
| Dettaglio: nome, stato, |
|
| Firmatari del PDF: id, nome, email, ha letto, ha firmato |
|
| Campi (firma/testo/checkbox) assegnati a un firmatario specifico, con posizione e stato di compilazione |
|
| Tutti i campi del PDF |
|
| Crea un PDF firmabile da un template esistente e invia gli inviti. Con |
|
| Sollecito di firma per il PDF |
|
| Estrae il testo del PDF (incluso quello firmato) e lo restituisce in conversazione |
|
| Dati delle parti (come sopra) per i PDF caricati |
|
| Scarica il PDF β versione firmata se disponibile β e ritorna il path |
|
| Scarica l'audit trail: il registro PDF di chi ha letto/firmato e quando |
|
| Scarica lo ZIP del fascicolo legale: PDF firmato + audit trail + artefatti FES. Ideale per archiviazione a valore probatorio |
|
| Annulla una richiesta di firma inviata: il documento sparisce dagli elenchi e i link di firma vengono invalidati. Rifiutato con 409 se qualcuno ha giΓ firmato |
π§© Template PDF (gestione via API)
Tool | Parametri | Cosa fa |
|
| Crea un template riutilizzabile caricando un PDF dal computer. L'ID restituito si usa come |
|
| Scorciatoia completa: carica un PDF e lo manda subito in firma, senza creare prima il template. Il documento nasce |
|
| Trova le coordinate di testi nel PDF (in %, origine in basso a sinistra β lo stesso sistema dei placeholder). Γ il tool che permette all'AI di posizionare i campi da sola: cerca "Firma", i nomi delle parti o qualsiasi ancora, e ottiene pagina + posizione di ognuna |
|
| Scarica un'anteprima annotata: ogni campo Γ¨ disegnato come riquadro etichettato con tipo e firmatario. Per verificare le posizioni prima dell'invio |
|
| Sostituzione integrale di firmatari e campi di un template (l'ID resta invariato). Solo il proprietario |
|
| Elimina (nasconde) il template da tutti gli elenchi |
β = il tool ha effetti verso l'esterno (crea, invia email, elimina): Claude chiede sempre conferma prima di eseguirlo.
Come si posizionano i placeholder
position_x/position_y: percentuale della pagina (0β100 esclusi), origine in basso a sinistra (come nell'editor dell'app).page_number: parte da 1.Tipi:
signature,initials,text(richiedetext_label),checkbox_optional,checkbox_required.I firmatari si collegano ai campi tramite
source_idβsigner_source_id.I PDF ruotati (
/Rotate 90/180/270) vengono rifiutati dall'API.
Flussi di lavoro tipici
0. Invio in firma "intelligente": l'AI mappa i campi da sola
"Prendi
/Users/me/Desktop/Contratto.pdf, trova dove devono firmare le parti e mandalo a cliente@example.com e fornitore@example.com."
Cosa succede dietro le quinte:
locate_pdf_textanalizza il PDF e trova le ancore: le righe "Firma del Cliente" / "Firma del Fornitore" (o i nomi delle parti) con le loro coordinate esatte in percentuale.Claude propone la mappatura: "Metto il campo firma del cliente a pagina 4, sopra l'etichetta 'Firma del Cliente' (x 17%, y 14%), e quello del fornitore accanto (x 50%, y 14%). Confermi?"
Alla conferma,
create_pdf_document_from_uploadcarica il PDF con i placeholder posizionati e invia le email di firma.(Opzionale)
preview_pdf_templateper un controllo visivo se si Γ¨ passati da un template.
Le coordinate restituite da locate_pdf_text sono giΓ nel sistema dei placeholder HEU (percentuale, origine in basso a sinistra): nessuna conversione necessaria. Per layout complessi si puΓ² chiedere l'intera mappa della pagina con include_all_lines=true, o cercare termini specifici (search_terms=["Il Committente", "Il Prestatore"]).
β οΈ Limite: funziona sui PDF con testo. Le scansioni senza OCR non hanno testo estraibile β in quel caso indicare le posizioni manualmente.
1. Mandare in firma un PDF dal computer (tutto via chat)
"Prendi
/Users/me/Desktop/NDA.pdfe mandalo in firma a Mario Rossi (mario@example.com). Campo firma in basso a destra dell'ultima pagina, oggetto email 'NDA da firmare'."
Claude usa create_pdf_document_from_upload β il documento Γ¨ creato e Mario riceve subito l'email. Poi:
"Mario ha firmato?" β
get_pdf_document"Sollecitalo" βprompt_pdf_document_signature"Γ firmato, scaricami il fascicolo completo" βdownload_pdf_bundle
2. Contratti ricorrenti con template
"Crea un template dal file
Contratto-tipo.pdfcon due firmatari: cliente e fornitore. Firma del cliente a pagina 3 in basso." βcreate_pdf_template"Fammi vedere l'anteprima per controllare le posizioni" βpreview_pdf_template"Ora usalo per mandare il contratto ad ACME srl" βcreate_pdf_document
3. Analisi documentale (l'AI legge i contratti)
"Riassumi il contratto
abc-123e dimmi durata e condizioni di recesso" βread_heu_document"Confronta le clausole di responsabilitΓ dei contratti X e Y" β dueread_heu_document"Estrai i dati delle parti: ragione sociale, P.IVA, SDI, PEC" βextract_heu_document_parties
L'estrazione parti Γ¨ pensata per l'integrazione con flussi di fatturazione elettronica italiana: il codice univoco SDI e la P.IVA estratti dal contratto possono alimentare direttamente l'anagrafica del gestionale.
4. Monitoraggio e amministrazione
"Quali documenti di luglio non sono ancora stati firmati da tutti?" β
list_heu_documentscon date +have_editors_signed=false"Annulla la richiesta di firma del PDF 42, l'abbiamo mandata alla persona sbagliata" βcancel_pdf_document
Comportamenti e limiti da conoscere
Cosa | Limite / comportamento |
Rate limit API | 300 richieste / 5 minuti (header |
Solleciti firma | 1 ogni 24 ore per documento |
Upload PDF | Max 5 MB, |
Lettura testo | Max 100 pagine se |
Firma FEA | Richiede crediti FEA disponibili per ogni firmatario (422 se insufficienti) |
| Passare sempre entrambe |
Annullamento PDF | Possibile solo senza attivitΓ di firma (409 altrimenti) |
Download | I binari vengono salvati su disco ( |
Stati dei documenti
Stato | Significato |
| In attesa di firme |
| In preparazione/modifica |
| In revisione |
| Flusso completato (non firmato) |
| Completamente firmato |
Sicurezza
L'API key Γ¨ letta solo da variabile d'ambiente: mai nel codice, mai nelle risposte, mai nei log.
I tool con effetti esterni (β) sono istruiti per richiedere sempre conferma esplicita all'utente.
I file scaricati restano sul filesystem locale.
Sviluppo
git clone https://github.com/Lucav21/heu-mcp.git
cd heu-mcp
python3 -m venv venv
source venv/bin/activate
pip install -e .
# Avvio manuale per debug
HEU_API_KEY=... python server.pyLa spec OpenAPI di riferimento Γ¨ pubblicata su https://api.heulegal.com/v1/specs/v1.yaml (docs interattive: https://api.heulegal.com/v1/docs).
Licenza
MIT β vedi LICENSE.
Link
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables legal document analysis using Azure Blob Storage and Anthropic Claude API with streaming capabilities, prompt library management, and document retrieval for PDF files.
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to interact with Google Docs to list, read, create, search, and update documents in a user's Google Drive. It provides a suite of tools and prompts for document management and content analysis using OAuth 2.0 authentication.1,396
- FlicenseNot gradedqualityDmaintenanceEnables users to create, manage, and track electronic signing requests and templates through Claude Desktop and other MCP-compatible clients. Provides multi-tenant authentication with customer API keys for secure document workflow operations.66
- AlicenseNot gradedqualityDmaintenanceEnables AI tools to read and write HERO documents, projects, tables, and templates, with support for editing, clauses, and authentication.10ISC
Related MCP Connectors
Automate eSignature workflows and signing tasks via natural language commands.
Document API for AI-native software: render PDFs, e-sign, PAdES-seal, and verify.
Create signing requests, check status, send reminders, and manage Aoexl templates.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lucav21/heu-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server