{
  "markdown": "# LayerOne MCP — DocX + Sign\n\nServeur **MCP (Model Context Protocol)** qui expose les API **DocX** et **Sign** de\nLayerOne directement aux agents IA (Claude Desktop, ChatGPT, Cursor, Windsurf, etc.).\n\nUne fois branché, votre assistant IA peut, en langage naturel :\n\n- **DocX** — générer des documents (PDF / DOCX), des factures électroniques **Factur-X**\n  (réforme 2026), déposer / mettre à jour / télécharger des modèles Word, gérer leur\n  historique de versions, et consulter le quota d'usage.\n- **Sign** — envoyer un PDF à la signature électronique **eIDAS / PAdES**, suivre son\n  statut, vérifier l'identité du signataire par SMS (OTP), télécharger le document signé,\n  récupérer le certificat de preuve et valider l'intégrité cryptographique de la signature.\n\n---\n\n## Installation\n\nLe serveur se lance via `npx` — aucune installation manuelle requise. Ajoutez le bloc\nci-dessous à la configuration MCP de votre client, en renseignant vos deux clés API.\n\n### Claude Desktop\n\nFichier `claude_desktop_config.json` :\n\n```json\n{\n  \"mcpServers\": {\n    \"layerone\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"layerone-mcp\"],\n      \"env\": {\n        \"DOCX_API_KEY\": \"votre_cle_docx\",\n        \"SIGN_API_KEY\": \"votre_cle_sign\"\n      }\n    }\n  }\n}\n```\n\n### Cursor\n\nFichier `~/.cursor/mcp.json` (ou réglages MCP du projet) — même format :\n\n```json\n{\n  \"mcpServers\": {\n    \"layerone\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"layerone-mcp\"],\n      \"env\": {\n        \"DOCX_API_KEY\": \"votre_cle_docx\",\n        \"SIGN_API_KEY\": \"votre_cle_sign\"\n      }\n    }\n  }\n}\n```\n\n### ChatGPT / autres clients compatibles MCP\n\nLa plupart des clients MCP acceptent la même structure (`command` = `npx`,\n`args` = `[\"-y\", \"layerone-mcp\"]`, `env` = vos deux clés). Reportez-vous à la\ndocumentation MCP de votre client pour l'emplacement exact du fichier de configuration.\n\n---\n\n## Obtenir les clés API\n\nCréez un compte gratuit sur **https://dev.layerone.fr**, puis générez vos clés\ndans l'onglet **« Clés API »** :\n\n- une clé **DocX** → variable d'environnement `DOCX_API_KEY` ;\n- une clé **Sign** → variable d'environnement `SIGN_API_KEY`.\n\nLe compte gratuit offre 20 documents DocX et 10 signatures Sign par mois.\n\n> Les clés ne sont **jamais** écrites en dur dans le code : elles sont lues uniquement\n> depuis les variables d'environnement passées par votre client MCP.\n\n---\n\n## Outils exposés\n\n### DocX (`https://docx.layerone.fr`)\n\n| Outil | Description | Endpoint |\n|-------|-------------|----------|\n| `docx_render_facturx` | Générer une facture Factur-X (PDF/A-3) | `POST /render-facturx` |\n| `docx_render_document` | Générer un document PDF ou DOCX | `POST /render-document` |\n| `docx_list_templates` | Lister / filtrer les modèles | `GET /client/templates` |\n| `docx_upload_template` | Déposer un modèle Word | `POST /client/templates` |\n| `docx_update_template` | Mettre à jour un modèle (archive l'ancien) | `PUT /client/templates/{id}` |\n| `docx_download_template` | Télécharger un modèle | `GET /client/templates/{id}` |\n| `docx_delete_template` | Supprimer un modèle | `DELETE /client/templates/{id}` |\n| `docx_list_template_versions` | Lister les versions archivées | `GET /client/templates/{id}/versions` |\n| `docx_download_template_version` | Télécharger une version archivée | `GET /client/templates/{id}/versions/{version_id}` |\n| `docx_restore_template_version` | Restaurer une version archivée | `POST /client/templates/{id}/restore/{version_id}` |\n| `docx_get_usage_stats` | Consulter le quota et l'usage | `GET /usage-stats` |\n\n### Sign (`https://sign.layerone.fr`)\n\n| Outil | Description | Endpoint |\n|-------|-------------|----------|\n| `sign_send_for_signature` | Envoyer un PDF à signer | `POST /v1/documents/send` |\n| `sign_detect_fields` | Détecter les champs de signature ([[...]]) | `POST /v1/documents/detect-fields` |\n| `sign_get_document_status` | Consulter le statut d'une signature | `GET /v1/documents/{id}` |\n| `sign_download_signed_document` | Télécharger le PDF signé | `GET /v1/documents/{id}/download` |\n| `sign_send_otp` | Envoyer un code OTP par SMS | `POST /v1/otp/request` |\n| `sign_verify_otp` | Vérifier le code OTP | `POST /v1/otp/verify` |\n| `sign_validate_signature` | Vérifier l'intégrité de la signature | `GET /v1/documents/{id}/validate` |\n| `sign_get_audit_certificate` | Récupérer le certificat de preuve | `GET /v1/documents/{id}/audit` |\n| `sign_cancel_document` | Annuler une demande de signature | `DELETE /v1/documents/{id}` |\n\n> **Fichiers** : les modèles et PDF sont fournis aux outils **encodés en base64**\n> (`template_base64`, `pdf_base64`). Pour les téléchargements, le serveur renvoie un\n> **résumé** (taille + aperçu base64 tronqué) plutôt que le binaire complet, afin de ne\n> pas saturer la conversation.\n\n---\n\n## Développement local\n\n```bash\ncd integrations/mcp\nnpm install\nnpm run build          # compile src/ → dist/\nDOCX_API_KEY=... SIGN_API_KEY=... node dist/index.js\n```\n\nLe serveur communique sur **stdio** (entrée/sortie standard) selon le protocole MCP.\n\n---\n\n## Publication\n\n- **npm** : publication automatique avec provenance via\n  `.github/workflows/publish.yml` (déclenché par une release GitHub).\n- **MCP Registry** : le manifeste `server.json` (champ `name`\n  `io.github.GOLayerone/layerone`, identique au `mcpName` de `package.json`) permet la\n  publication au registre officiel via l'outil `mcp-publisher`.\n\n---\n\n## Licence\n\nMIT — © LayerOne.\n",
  "bytes": 5416,
  "sha": "a270c2f465591ba2868fa2e37fffc7618465b47b30a64858fe179ca918dc0c09",
  "repo_slug": "golayerone/layerone-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_golayerone_layerone_6a78d4d3/readme"
}