Aller au contenu principal

Serveur MCP PDFCheck

Examinez les métadonnées PDF et accédez à l'historique de vos analyses depuis un assistant compatible avec le serveur HTTP distant ou le pont MCP local.

Gérer les jetons API

Connexion via HTTP

Add this URL to a client that supports remote HTTP MCP servers. For account access, configure a bearer Authorization header.

Use the MCP endpoint
https://pdfcheck.online/api/mcp

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Anonymous metadata analysis: 10 checks per day per IP. Free account: 100 checks per day. Individual tools can have different limits.

Sans jeton (10 vérifications gratuites/jour)

To analyze a PDF, your assistant needs a file-reading tool that can send its base64 contents. Connecting MCP alone does not provide access to your files.

.cursor/mcp.json
{
    "mcpServers": {
        "pdfcheck": {
            "url": "https://pdfcheck.online/api/mcp"
        }
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Configuration du client

Connect your app

Remplacez YOUR_API_TOKEN dans la configuration du client. Supprimez l’en-tête Authorization pour un accès anonyme.

Cursor
.cursor/mcp.json
{
    "mcpServers": {
        "pdfcheck": {
            "url": "https://pdfcheck.online/api/mcp",
            "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN"
            }
        }
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Official setup docs
VS Code
.vscode/mcp.json
{
    "servers": {
        "pdfcheck": {
            "type": "http",
            "url": "https://pdfcheck.online/api/mcp",
            "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN"
            }
        }
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

VS Code uses a servers object and an explicit HTTP transport. Store your token through your client’s supported secret settings.

Official setup docs
Windsurf / Cascade
~/.codeium/windsurf/mcp_config.json
{
    "mcpServers": {
        "pdfcheck": {
            "serverUrl": "https://pdfcheck.online/api/mcp",
            "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN"
            }
        }
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

These steps apply to the legacy Cascade client, now documented under Devin Desktop. Devin Local uses a different configuration; follow its current client documentation.

Official setup docs

Vérifier la connexion

Demandez d’abord à votre assistant d’appeler check_usage. Analysez ensuite un PDF avec un client capable de lire le fichier et de l’encoder en base64. Un chemin de fichier local seul ne fonctionne pas avec HTTP distant.

Exemple de requête
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "check_usage",
        "arguments": {}
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Outils MCP disponibles

Ces outils MCP couvrent l'analyse des métadonnées et l'historique du compte. La compression, la validation structurelle, la signature et les autres outils du navigateur ne sont pas accessibles par ces méthodes.

Outil Paramètres Accès
analyze_pdf file_base64, filename Aucun jeton requis
get_analysis token Résultat public ou jeton du compte
list_analyses {} Jeton du compte
check_usage {} Aucun jeton requis

analyze_pdf

Examine les métadonnées, les dates, les champs logiciels et le nombre de pages. L'outil distant prend file_base64 et filename ; le pont local prend filePath. Les métadonnées ne prouvent ni l'authenticité ni la rédaction par une IA.

get_analysis

Utilisez la valeur data.id renvoyée comme token pour récupérer une analyse de votre compte ou un résultat public. Le serveur distant permet de récupérer anonymement un résultat public ; le pont local exige un jeton. Les nouvelles analyses anonymes sont privées et ne peuvent pas être récupérées plus tard.

list_analyses

Nécessite un jeton API. Le serveur distant renvoie jusqu'à 50 analyses récentes du compte ; le pont local renvoie la première page REST. Chaque entrée comprend le nom du fichier, la date et l'identifiant de l'analyse.

check_usage

Consultez le quota quotidien restant pour l'analyse des métadonnées. Le HTTP distant permet un usage anonyme ; les détails du compte et le pont local nécessitent un jeton API.

Send the PDF contents

The analyze_pdf tool accepts file_base64 and filename. Your client must read the PDF and encode it as base64; a local file path alone will not work.

Example tools/call payload
{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "analyze_pdf",
        "arguments": {
            "file_base64": "BASE64_PDF_CONTENT",
            "filename": "document.pdf"
        }
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Lire la réponse

Les résultats des outils contiennent du texte JSON dans result.content[0].text. Analysez ce texte pour lire success, data et remaining_checks ; les échecs peuvent également renvoyer isError.

Lire la réponse
if (response.error) throw new Error(response.error.message);
const payload = JSON.parse(response.result.content[0].text);
if (response.result.isError || payload.success === false) {
  throw new Error(payload.message || payload.error);
}
console.log(payload.data, payload.remaining_checks);

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Utiliser le pont local

Enregistrez le fichier suivant sous le nom pdfcheck-mcp-server.mjs n'importe où sur votre machine. Ce script léger fait le lien entre votre outil IA et l'API PDFCheck.

Le script local facultatif nécessite Node.js 18 ou une version ultérieure. Les connexions HTTP distantes ne nécessitent ni Node.js ni script téléchargé.

Enregistrez le script dans un répertoire dédié, installez-y ses dépendances et utilisez son chemin complet dans la configuration du client.

Configuration unique :
mkdir pdfcheck-mcp
cd pdfcheck-mcp
npm init -y
npm install @modelcontextprotocol/sdk@1 zod

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Script du serveur MCP
pdfcheck-mcp-server.mjs
#!/usr/bin/env node
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import { readFileSync } from "node:fs";
import { basename } from "node:path";

const API_BASE = "https://pdfcheck.online/api/v1";
const TOKEN = process.env.PDFCHECK_API_TOKEN || null;
const headers = TOKEN
  ? { Authorization: `Bearer ${TOKEN}`, Accept: "application/json" }
  : { Accept: "application/json" };

const server = new McpServer({ name: "pdfcheck", version: "1.0.0" });
const result = (data) => ({
  content: [{ type: "text", text: JSON.stringify(data, null, 2) }],
});

server.tool(
  "analyze_pdf",
  "Inspect PDF metadata, dates, software fields, and page count.",
  { filePath: z.string().describe("Absolute path to the PDF file") },
  async ({ filePath }) => {
    const file = new Blob([readFileSync(filePath)], { type: "application/pdf" });
    const body = new FormData();
    body.append("file", file, basename(filePath));
    const response = await fetch(`${API_BASE}/pdf/analyze`, {
      method: "POST", headers, body,
    });
    return result(await response.json());
  }
);

server.tool(
  "get_analysis",
  "Retrieve an accessible analysis by its share token.",
  { token: z.string().describe("Analysis share token") },
  async ({ token }) => {
    const response = await fetch(`${API_BASE}/pdf/${encodeURIComponent(token)}`, { headers });
    return result(await response.json());
  }
);

server.tool("list_analyses", "List your account analyses.", {}, async () => {
  const response = await fetch(`${API_BASE}/pdf`, { headers });
  return result(await response.json());
});

server.tool("check_usage", "Check your account allowance.", {}, async () => {
  const response = await fetch(`${API_BASE}/user`, { headers });
  return result(await response.json());
});

await server.connect(new StdioServerTransport());

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Claude / Cursor

Remplacez le chemin du script par son chemin absolu. Définissez PDFCHECK_API_TOKEN avec le jeton de votre compte ou omettez env pour une analyse anonyme.

claude_desktop_config.json / .cursor/mcp.json
{
    "mcpServers": {
        "pdfcheck": {
            "command": "node",
            "args": [
                "/absolute/path/pdfcheck-mcp-server.mjs"
            ],
            "env": {
                "PDFCHECK_API_TOKEN": "YOUR_API_TOKEN"
            }
        }
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Une fois connecté, utilisez ces demandes avec un client capable de lire les fichiers concernés. L'outil distant analyze_pdf nécessite file_base64 et filename ; un chemin local seul ne suffit pas. Le pont local accepte filePath.

Analyser un PDF
{
    "name": "analyze_pdf",
    "arguments": {
        "filePath": "/absolute/path/document.pdf"
    }
}

La copie a échoué. Sélectionnez le code et copiez-le manuellement.

Exemples d'utilisation

Une fois connecté, utilisez ces demandes avec un client capable de lire les fichiers concernés. L'outil distant analyze_pdf nécessite file_base64 et filename ; un chemin local seul ne suffit pas. Le pont local accepte filePath.

Analyser un PDF
Analyse le fichier /Users/me/Documents/contract.pdf et dis-moi quand il a été créé et quel logiciel a été utilisé.
Examiner les indicateurs logiciels
Examine les champs créateur et producteur de /Users/me/Downloads/report.pdf. Explique les indicateurs logiciels sans les considérer comme une preuve de rédaction par une IA.
Analyse par lots
Analyse un par un les PDF que je sélectionne dans mon dossier Téléchargements. Compare leurs dates de création et de modification indiquées, et explique les métadonnées manquantes ou incohérentes.
Vérifier le quota
Combien de vérifications PDF me reste-t-il aujourd'hui sur PDFCheck ?

Utilisation et limites

Anonymous metadata analysis: 10 checks per day per IP. Free account: 100 checks per day. Individual tools can have different limits.

Pour analyser les métadonnées : sans compte et avec Free, la limite est de 50 Mo par fichier. Avec Pro et AI, elle est de 100 Mo.

L’analyse des métadonnées de l’API utilise un mode léger et limité. L’analyse détaillée des polices, des images et des couleurs est ignorée ; metadata.basic.partial_analysis vaut true.

Les métadonnées et les indicateurs logiciels ne prouvent ni la paternité du contenu, ni son authenticité, ni sa conformité aux normes.

Générer un jeton API Facultatif

Gardez vos jetons secrets. Utilisez une variable d’environnement et révoquez les jetons inutilisés depuis votre compte.

L'accès anonyme permet 10 analyses de métadonnées par jour et par adresse IP. Un compte gratuit avec jeton API offre 100 vérifications par jour. Utilisez le jeton lors de l'analyse si vous souhaitez retrouver le résultat plus tard dans votre compte.

Qu'est-ce que le Model Context Protocol ?

Le Model Context Protocol (MCP) est un standard ouvert qui permet aux assistants IA de se connecter à des outils externes et des sources de données. Considérez-le comme un connecteur universel qui permet à votre assistant IA de communiquer avec des services comme PDFCheck — directement depuis votre fenêtre de chat.

Le serveur HTTP distant reçoit de votre client le contenu du PDF encodé en base64. Le pont local facultatif lit un PDF sur votre machine et l'importe via l'API REST. Tous deux renvoient l'analyse des métadonnées au format JSON dans content[0].text.

Choisissez votre transport

Utilisez un client compatible avec MCP en HTTP distant et les en-têtes bearer, ou un client capable d'exécuter le pont stdio local. Les connexions uniquement OAuth ne sont pas prises en charge par cette configuration.

Le PDF est envoyé à PDFCheck via HTTPS. Selon sa conception, votre client MCP ou votre fournisseur d'IA peut aussi traiter le fichier ou les arguments de l'outil. Consultez sa politique de données et la Politique de confidentialité de PDFCheck avant d'envoyer des documents sensibles.

Politique de confidentialité

Questions fréquentes

Ai-je besoin d'un jeton API ?

L'accès anonyme permet 10 analyses de métadonnées par jour et par adresse IP. Un compte gratuit avec jeton API offre 100 vérifications par jour. Utilisez le jeton lors de l'analyse si vous souhaitez retrouver le résultat plus tard dans votre compte.

Mes fichiers PDF sont-ils stockés sur vos serveurs ?

L’API ne conserve pas le fichier d’origine après la requête. Les métadonnées extraites et le résultat sont conservés selon le statut du compte et notre Politique de confidentialité.

Le serveur MCP envoie-t-il mes fichiers à un tiers ?

Le PDF est envoyé à PDFCheck via HTTPS. Selon sa conception, votre client MCP ou votre fournisseur d'IA peut aussi traiter le fichier ou les arguments de l'outil. Consultez sa politique de données et la Politique de confidentialité de PDFCheck avant d'envoyer des documents sensibles.

Que faire si mon outil IA n'est pas listé ici ?

Vérifiez si votre client prend en charge MCP en HTTP distant avec des en-têtes bearer, ou s'il peut exécuter un serveur stdio local via « command » et « args ». Les formats de configuration varient. Les connexions distantes uniquement OAuth ne sont pas prises en charge par cette configuration.

Puis-je utiliser cela avec ma propre instance PDFCheck auto-hébergée ?

Oui. Modifiez la constante API_BASE dans le script serveur pour pointer vers l'URL de votre propre instance.