> ## Documentation Index
> Fetch the complete documentation index at: https://verifner.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Serveur MCP

> Vérifiez des identités depuis Claude, Cursor, Copilot, Gemini ou tout agent compatible MCP.

Le serveur MCP de VerifNer met l'API à disposition des agents d'IA : ils peuvent envoyer un lien de vérification à un client, vérifier un document, lire un verdict ou déboguer un webhook, avec **votre** clé et rien de plus.

<CardGroup cols={2}>
  <Card title="Opérations" icon="headset">
    « Envoie un lien de vérification à Aïssa pour le dossier 4821, puis dis-moi le verdict. »
  </Card>

  <Card title="Développement" icon="code">
    « Pourquoi mon endpoint webhook ne reçoit rien ? » L'agent lit les dernières livraisons et l'erreur.
  </Card>
</CardGroup>

## Clients compatibles

Le MCP est un protocole ouvert : le serveur VerifNer fonctionne avec tout outil qui sait lancer un serveur MCP local, quel que soit le modèle derrière (Claude, GPT, Gemini…).

| Client | Modèles | État |
| - | - | - |
| Claude Code, Claude Desktop | Claude | Disponible |
| Cursor | Claude, GPT, Gemini… | Disponible |
| VS Code avec GitHub Copilot | Claude, GPT, Gemini… | Disponible |
| Windsurf | Claude, GPT, Gemini… | Disponible |
| Codex CLI (OpenAI) | GPT | Disponible |
| Gemini CLI (Google) | Gemini | Disponible |
| ChatGPT, Claude.ai, Le Chat (web) | | Bientôt : ces assistants demandent un serveur distant avec connexion OAuth |

## Installation

Créez une clé dans la [console](https://console.verifner.com). Commencez par une clé **de test** : le traitement est complet, rien n'est conservé ni facturé. Node.js 20 ou plus récent doit être installé sur la machine.

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add verifner --scope user --env VERIFNER_API_KEY=vn_test_... -- npx -y @verifner/mcp
    ```

    `--scope user` le rend disponible dans tous vos projets. Vérifiez avec `claude mcp list`, puis ouvrez une nouvelle session.
  </Tab>

  <Tab title="Claude Desktop">
    Réglages → Développeur → Modifier la configuration :

    ```json claude_desktop_config.json theme={null}
    {
      "mcpServers": {
        "verifner": {
          "command": "npx",
          "args": ["-y", "@verifner/mcp"],
          "env": { "VERIFNER_API_KEY": "vn_test_..." }
        }
      }
    }
    ```

    Redémarrez Claude Desktop.
  </Tab>

  <Tab title="Cursor">
    Dans `~/.cursor/mcp.json` (tous les projets) ou `.cursor/mcp.json` (un seul projet) :

    ```json mcp.json theme={null}
    {
      "mcpServers": {
        "verifner": {
          "command": "npx",
          "args": ["-y", "@verifner/mcp"],
          "env": { "VERIFNER_API_KEY": "vn_test_..." }
        }
      }
    }
    ```

    Le serveur apparaît dans Réglages → MCP.
  </Tab>

  <Tab title="VS Code (Copilot)">
    Dans `.vscode/mcp.json`. La clé est demandée à la première utilisation et gardée par VS Code, pas écrite dans le fichier :

    ```json .vscode/mcp.json theme={null}
    {
      "inputs": [
        { "type": "promptString", "id": "verifner-key", "description": "Clé API VerifNer", "password": true }
      ],
      "servers": {
        "verifner": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "@verifner/mcp"],
          "env": { "VERIFNER_API_KEY": "${input:verifner-key}" }
        }
      }
    }
    ```

    Utilisez ensuite Copilot Chat en mode **Agent**.
  </Tab>

  <Tab title="Windsurf">
    Dans `~/.codeium/windsurf/mcp_config.json` :

    ```json mcp_config.json theme={null}
    {
      "mcpServers": {
        "verifner": {
          "command": "npx",
          "args": ["-y", "@verifner/mcp"],
          "env": { "VERIFNER_API_KEY": "vn_test_..." }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Codex CLI">
    Dans `~/.codex/config.toml` :

    ```toml config.toml theme={null}
    [mcp_servers.verifner]
    command = "npx"
    args = ["-y", "@verifner/mcp"]
    env = { VERIFNER_API_KEY = "vn_test_..." }
    ```
  </Tab>

  <Tab title="Gemini CLI">
    Dans `~/.gemini/settings.json` :

    ```json settings.json theme={null}
    {
      "mcpServers": {
        "verifner": {
          "command": "npx",
          "args": ["-y", "@verifner/mcp"],
          "env": { "VERIFNER_API_KEY": "vn_test_..." }
        }
      }
    }
    ```

    Tapez `/mcp` dans Gemini CLI pour voir les outils.
  </Tab>

  <Tab title="Autres">
    Tout client MCP qui lance un serveur en **stdio** :

    ```bash theme={null}
    VERIFNER_API_KEY=vn_test_... npx -y @verifner/mcp
    ```
  </Tab>
</Tabs>

Pour essayer : « Crée un lien de vérification VerifNer pour le dossier test-1 », puis, une fois la vérification faite sur le téléphone, « Quel est le verdict ? ».

<Warning>
  Avec une clé **live**, chaque vérification terminée est facturée et ses images sont conservées. Le serveur prévient l'agent de demander confirmation avant d'en lancer une, mais gardez une clé de test pour vos essais.
</Warning>

## Outils

| Outil | Ce qu'il fait | Lecture seule |
| - | - | :-: |
| `create_verification_link` | Ouvre une session et renvoie le **lien hébergé** à envoyer à la personne. Elle l'ouvre sur son téléphone, photographie son document et fait un selfie. | |
| `get_session` | État d'une session : en attente, terminée (avec le verdict) ou expirée | ✓ |
| `verify_document` | Vérifie un document à partir d'images : fichier local, URL ou `data:` | |
| `get_verification` | Relit une vérification : verdict, `final_verdict`, contrôles, champs | ✓ |
| `get_image_url` | Lien de 5 minutes vers une image d'une vérification live (journalisé) | ✓ |
| `list_webhooks` | Vos endpoints webhook | ✓ |
| `create_webhook` | Déclare un endpoint et renvoie son secret de signature, une seule fois | |
| `delete_webhook` | Supprime un endpoint | |
| `list_webhook_deliveries` | Les 50 dernières livraisons d'un endpoint, avec erreurs et tentatives | ✓ |

Le jeton client d'une session n'est jamais montré à l'agent : il n'apparaît que dans le lien.

## Variables d'environnement

| Variable | Obligatoire | Description |
| - | :-: | - |
| `VERIFNER_API_KEY` | ✓ | Votre clé `vn_test_…` ou `vn_live_…` |
| `VERIFNER_API_URL` | | `https://api.verifner.com` par défaut |

## Données personnelles

Les champs lus sur un document (nom, date de naissance, numéro) passent par l'agent, et donc par le fournisseur de son modèle. Pour des dossiers réels, préférez `create_verification_link` et `get_session`, qui ne renvoient que le verdict, ou vérifiez que votre usage de l'agent est compatible avec vos obligations de protection des données.
