Skip to main content
Glama
YONKOYNK
by YONKOYNK

Extracteur de documents — Collecte, IA, MCP

URL publique du serveur MCP

https://mcp-dernier-sofiane.onrender.com/mcp

  • Endpoint SSE (clients plus anciens) : https://mcp-dernier-sofiane.onrender.com/sse

  • Statut du service : https://mcp-dernier-sofiane.onrender.com/health

Hébergé sur le plan gratuit Render : l'instance s'endort après une période d'inactivité. Le premier appel peut prendre 30 à 50 secondes, les suivants sont immédiats.

Related MCP server: Wikipedia MCP Server

Tester le serveur

Option 1 — Connecter le serveur à Claude

Dans Claude : Settings → Connectors → + → Add custom connector.

Champ

Valeur

Name

Extracteur Documents

Server URL

https://mcp-dernier-sofiane.onrender.com/mcp

Laisser les Advanced settings vides (le serveur n'utilise pas OAuth), puis cliquer sur Add. Le connecteur s'active ensuite depuis le bouton + de l'interface de chat.

Option 2 — MCP Inspector

npx @modelcontextprotocol/inspector

Transport Streamable HTTP, URL https://mcp-dernier-sofiane.onrender.com/mcp, puis Connect → onglet Tools → List Tools.

Questions d'exemple

Une fois le connecteur actif, ces questions déclenchent les outils du serveur. Claude choisit lui-même l'outil approprié.

Vérifier la connexion

Quels documents as-tu à disposition ?

→ appelle lister_documents et renvoie le contenu du corpus.

Voir la structuration IA (partie 2)

Extrais les données structurées du fichier 1.txt et présente-les sous forme de tableau.

→ appelle extraire_donnees_fichier : titre, résumé, personnes, lieux, organisations, œuvres, dates, thèmes et sentiment.

Lire une source brute

Montre-moi le texte brut de 1.txt sans traitement IA.

→ appelle lire_document. Utile pour comparer l'entrée et la sortie.

Rechercher dans le corpus

Quels documents de mon corpus parlent de musique ? Résume les points communs.

→ appelle rechercher_documents sur les données déjà structurées.

Enchaîner plusieurs outils

Prends trois documents, extrais leurs données, puis dis-moi quelles personnes et quels lieux reviennent le plus souvent.

→ enchaîne lister_documents, plusieurs extraire_donnees_fichier, puis agrège.

Déclencher la collecte (partie 1)

Collecte les données des 2 derniers jours, puis liste ce qui a été ajouté.

→ appelle collecter_donnees (API Wikimedia) puis lister_documents. Les trois parties du projet dans une seule conversation.

Note : le système de fichiers de Render est éphémère. Les documents collectés en ligne disparaissent au redéploiement suivant ; le corpus versionné dans data/ est toujours restauré au démarrage.


Projet en trois parties, conformément à l'énoncé.

Partie

Fichier

Rôle

1. Collecte sans IA

src/collecte.ts

Récupère les articles mis en avant sur Wikipédia via l'API publique Wikimedia et les écrit en .txt dans data/

2. Structuration IA

src/extraction.ts

Envoie le texte brut à OpenAI, valide la réponse avec zod, met le résultat en cache dans data/extrait/

3. Serveur MCP

src/index.ts

Expose les outils MCP aux clients IA (Claude Desktop, etc.)

Source de données : https://api.wikimedia.org/feed/v1/wikipedia/en/featured/{AAAA}/{MM}/{JJ} (API publique, sans clé).

Installation

npm install
cp .env.example .env   # puis renseigner OPENAI_API_KEY

Utilisation

npm run collecte -- 7        # partie 1 : importe 7 jours d'articles dans data/
npm run extraction           # partie 2 : structure tous les .txt et affiche le JSON
npm run extraction -- 1.txt  # partie 2 : un seul fichier
npm run dev                  # partie 3 : serveur MCP en local

Vérification rapide : curl http://localhost:3000/health

Outils MCP exposés

Outil

Description

lister_documents

Liste les .txt du corpus

lire_document

Texte brut d'un fichier

extraire_donnees_fichier

Données structurées d'un fichier (via OpenAI)

extraire_tout

Données structurées de tout le corpus

rechercher_documents

Recherche un terme dans les données structurées

collecter_donnees

Relance la collecte Wikimedia

Schéma renvoyé par l'extraction :

{
  "titre": "…",
  "resume": "…",
  "langue_source": "anglais",
  "personnes": [], "lieux": [], "organisations": [],
  "oeuvres": [], "dates": [], "themes": [],
  "sentiment": "neutre"
}

Connexion d'un client IA

Endpoint principal (Streamable HTTP) : https://mcp-dernier-sofiane.onrender.com/mcp Endpoint SSE (clients plus anciens) : https://mcp-dernier-sofiane.onrender.com/sse

Configuration type pour un client local :

{
  "mcpServers": {
    "extracteur-documents": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp-dernier-sofiane.onrender.com/mcp"]
    }
  }
}

Déploiement

Le serveur écoute sur process.env.PORT, il fonctionne tel quel sur Render, Railway ou Fly.io.

  • Build : npm run build

  • Start : npm start

  • Variable d'environnement à définir : OPENAI_API_KEY

Le système de fichiers de ces plateformes est éphémère : commitez le dossier data/ dans le dépôt git pour que le corpus soit présent au démarrage. Les extractions générées en ligne (data/extrait/) seront perdues à chaque redéploiement, mais seront simplement recalculées à la demande.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI agents to search, read, and explore Wikipedia articles via tools like summaries, categories, and random articles, with no API keys required.
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access Wikipedia content, search articles, retrieve historical events, and fetch images through the Wikipedia API.
    4
    23 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides comprehensive Wikipedia access for AI assistants via MCP Streamable HTTP transport, enabling search, article retrieval, summaries, section analysis, link discovery, and multi-language support.
    2
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Wraps the Wikipedia REST API to allow AI agents to query Wikipedia content without authentication.
    160 npm
    MIT