Skip to main content

Vue d’ensemble des outils

Linkly AI expose neuf outils aux assistants IA via MCP (Model Context Protocol). Le cœur en est un flux de travail progressif d’accès aux documents :
Autour de lui gravitent trois outils de découvertelist_libraries (lister les bibliothèques de connaissances), explore (vue d’ensemble des collections de documents), find_paths (localiser des chemins de dossier par mot-clé pour alimenter le path_glob de search) — ainsi que deux outils de notes : list (lister les notes) et note_save (créer / modifier une note).

search

Rechercher des documents et trouver les résultats pertinents

outline

Consulter le sommaire du document pour comprendre sa structure

grep

Trouver des motifs de texte spécifiques par correspondance regex

read

Lire le contenu du document pour obtenir des informations détaillées

list_libraries

Lister les bibliothèques de connaissances et leurs nombres de documents

explore

Vue d’ensemble des thèmes et de la structure de la collection de documents

find_paths

Localiser des chemins de dossier par mot-clé pour alimenter le path_glob de search

list

Lister les entrées d’un conteneur ; prend actuellement en charge scope="notes"

note_save

Créer ou modifier une note, le seul outil d’écriture
À l’exception de note_save, tous ces outils sont en lecture seule : ils se contentent de lire vos documents, sans jamais rien y modifier. note_save n’écrit que dans le dossier des notes et il n’existe aucun outil de suppression : supprimer une note reste une action que vous seul pouvez faire depuis l’application. Recherche dans vos documents locaux indexés et retourne la liste des résultats les plus pertinents.

Paramètres

Si le modèle vectoriel est encore en cours de téléchargement, la recherche bascule automatiquement en mode mots-clés uniquement, sans impact sur l’utilisation.
À propos du filtrage et du tri par date :
  • Lorsque l’utilisateur fournit une fenêtre temporelle explicite (« le mois dernier », « en 2024 », « ces trois derniers mois »), utilisez modified_after / modified_before.
  • Lorsque l’utilisateur dit seulement « récent », « le plus récent », « le plus ancien » sans plage fixe, utilisez time_sort=newest ou oldest.
  • Les deux peuvent se combiner : « le plus ancien en 2024 » donne modified_after=2024-01-01 + modified_before=2024-12-31 + time_sort=oldest.
  • Pour une date relative (« le mois dernier »), lisez d’abord l’heure UTC actuelle depuis le champ [meta] now=... à la fin de toute réponse d’outil, puis calculez la date — voir Métadonnées de réponse ci-dessous.

Champs retournés

Chaque résultat de recherche contient les informations suivantes :

Exemples d’utilisation

Sommaire (outline)

Obtient le sommaire structuré et les métadonnées d’un ou plusieurs documents, permettant de comprendre rapidement la structure du document et de localiser les sections ciblées.

Paramètres

Quand utiliser le sommaire

La fonctionnalité de sommaire est optimale pour les PDF avec signets, les documents Markdown, DOCX, PowerPoint (PPTX) et EPUB. Elle est particulièrement efficace pour la lecture de documents volumineux et de livres. Le support du sommaire pour le texte brut et les PDF sans signets sera ajouté dans les itérations futures.

Exemples d’utilisation

Grep

Localise des lignes spécifiques au sein d’un seul document à l’aide d’un motif regex. Idéal pour les documents avec has_outline=false où le sommaire n’est pas disponible. Utilisez-le après search pour localiser les positions exactes de noms, dates, termes, identifiants ou tout motif, puis utilisez read avec offset pour voir le contexte complet. Fonctionne avec tous les types de documents (PDF, Markdown, DOCX, PPTX, EPUB, TXT, HTML). Pour rechercher dans plusieurs documents, appelez grep une fois par document.

Paramètres

Quand utiliser Grep vs Sommaire

Exemples d’utilisation

Lecture (read)

Lit le contenu d’un document avec positionnement par numéro de ligne et pagination, adapté à la lecture de sections spécifiques de documents longs. L’outil Read a un comportement cohérent avec celui du SDK Claude AI, garantissant des résultats optimaux avec divers modèles Agentic AI.

Paramètres

Lire des documents illustrés

Dans bien des documents — les notes Markdown et la documentation technique tout particulièrement — l’information décisive se trouve dans les illustrations. read résout les références d’images apparaissant dans la plage de lignes que vous êtes en train de lire vers les documents image correspondants déjà indexés, et les joint à la fin du résultat. image_text détermine ce qui est joint : full est soumis à un budget : 2 000 caractères au maximum par image, 20 000 caractères au total pour l’appel. Les images dépassant ce budget retombent automatiquement sur abstract, accompagnées de la marche à suivre pour les lire individuellement.
Repérez d’abord l’image utile avec le mode abstract par défaut, puis appelez read sur son seul doc_id : c’est nettement plus économe que de démarrer en full.

Format du contenu

L’outil Read retourne le contenu avec des numéros de ligne pour faciliter le référencement et le positionnement :

Stratégie de pagination

Pour les documents longs, il est recommandé de lire par blocs :
L’utilisation combinée avec le sommaire est encore plus efficace : localisez d’abord la plage de lignes de la section ciblée via le sommaire, puis utilisez read pour lire précisément cet intervalle.

Exemples d’utilisation

Lister les bibliothèques (list_libraries)

Liste toutes les bibliothèques de connaissances configurées par l’utilisateur, avec leurs descriptions et leurs nombres de documents.

Paramètres

Aucun paramètre requis.

Cas d’utilisation

  • Lorsque l’utilisateur demande « quelles bibliothèques ai-je ? »
  • Avant d’utiliser le paramètre library dans search, pour vérifier le nom d’une bibliothèque

Explorer (explore)

Obtient une vue d’ensemble de tous les documents indexés ou d’une bibliothèque spécifique. Retourne la distribution des types de documents, la structure des répertoires (avec le nombre de fichiers et la médiane du nombre de mots) et les mots-clés principaux (avec attribution de la source).

Paramètres

Cas d’utilisation

  • L’utilisateur souhaite savoir ce que contient sa base de connaissances ou sa collection de documents
  • L’utilisateur n’a pas de sujet de recherche spécifique et souhaite découvrir les thèmes et directions disponibles
  • L’assistant IA a besoin de comprendre l’échelle et la distribution thématique pour formuler des stratégies de recherche efficaces
Après l’exploration, utilisez les mots-clés et les noms de répertoires de la sortie comme pistes pour les requêtes search ultérieures.

Localisation de chemins (find_paths)

Effectue une correspondance approximative des mots-clés sur le champ chemin de fichier des documents indexés, agrège les correspondances au niveau du dossier et retourne les meilleurs candidats. Cet outil est positionné comme un complément de search : lorsque l’utilisateur nomme un conteneur (« dans mes notes Notion », « dans mon dossier de papiers Dropbox ») sans en connaître le chemin sur le disque, appelez d’abord find_paths pour découvrir le chemin réel, puis transmettez-le comme path_glob à search. Le nom réel du dossier sur le disque diffère souvent du nom utilisé par l’utilisateur (par exemple, un export peut résider sous Notion-Export-c58e430f... plutôt que simplement Notion), donc deviner directement un path_glob est fragile.

Paramètres

Champs retournés (mode JSON)

Comportement d’agrégation

  • Les fichiers dont les motifs ne correspondent qu’au segment du nom de fichier (sans correspondance dans un segment de répertoire) sont silencieusement écartés — c’est un outil de « recherche de dossiers », pas de « recherche de fichiers ». Si une requête ne renvoie aucun dossier candidat alors que des fichiers correspondants existent, repassez à un appel direct à search.
  • Chaque correspondance est regroupée par la position la moins profonde d’un motif dans le chemin, tronquée au prochain /. Ainsi local:///Users/me/Documents/Notion-Export-abc/workspace/page.md correspondant à Notion est agrégé sous .../Documents/Notion-Export-abc, peu importe la profondeur du fichier.

Quand l’utiliser

  • L’utilisateur nomme un conteneur avec un mot flou ou multilingue (« dans mes notes Notion », « dans mon dossier de papiers Dropbox », « dans ma sauvegarde de travail ») et vous ne connaissez pas le chemin réel
  • Avant search, pour déterminer la valeur de path_glob

Quand ne pas l’utiliser

  • Requêtes purement basées sur le contenu / le sujet (« trouve mes CV », « trouve les articles IA ») — appelez search directement ; sa recherche hybride couvre déjà titre, nom de fichier, contenu et chemin
  • Filtrage par type de fichier uniquement (« tous les PDF ») — appelez search avec path_glob="*.pdf" directement
  • Requêtes vagues sans intention de conteneur (« trouve les choses récentes ») — appelez search

Exemple d’utilisation

Lister (list)

Liste les entrées d’un conteneur, sans aucune correspondance plein texte — pour retrouver du contenu par mot-clé ou par le sens, utilisez search. Aujourd’hui, scope ne prend en charge que notes (les fiches de notes locales).

Paramètres

Champs retournés

Chaque note comporte : doc_id (transmissible à read / grep / outline), note_id et la version du moment (ces deux-là servent de jeton de verrou optimiste lors d’une modification via note_save), title, le chemin absolu, created_at / modified_at (millisecondes Unix), tags, les informations de source, ainsi que le snippet joint par défaut. La réponse comporte en outre un champ available_tags : les 50 tags les plus fréquents parmi l’ensemble des notes, directement réutilisables pour filtrer l’appel suivant via tags.
Le système de fichiers d’abord : une note tout juste écrite apparaît immédiatement dans la liste, mais son doc_id vaut alors null et indexed vaut false (le nombre de mots et de lignes restent vides également) ; tout cela se complète une fois l’indexation passée. « Une note tout juste écrite figure dans la liste mais reste introuvable à la recherche » est donc un comportement normal, elle n’est pas perdue.title peut lui aussi valoir null : les notes dont le nom de fichier est généré automatiquement n’ont pas de titre exploitable ; il faut alors s’appuyer sur l’extrait, les tags et la date.

Enregistrer une note (note_save)

Crée ou modifie une fiche de note Markdown locale. C’est le seul outil qui écrit, et il n’écrit que dans le dossier des notes ; les métadonnées YAML sont intégralement générées côté serveur, l’appelant n’a pas à s’en préoccuper.

Paramètres

Deux règles à connaître impérativement

Cette voie n’accepte que la part de Markdown que la barre d’outils de l’interface sait produire : paragraphes et sauts de ligne, gras, barré, listes ordonnées ou à puces, texte brut.Les titres, l’italique, les citations, le code, les liens, les tableaux, les listes de tâches, les images et le HTML brut sont rejetés, avec un NOTE_INVALID_INPUT en retour. Ce que vous écrivez vous-même dans l’interface n’est pas soumis à cette restriction.Par ailleurs, les #tag présents dans le corps sont traités comme du texte ordinaire : ils ne sont pas extraits en tant que tags — seul le paramètre tags fait foi.
La bonne séquence est la suivante :
  1. list (scope="notes") pour obtenir note_id et version
  2. read(doc_id) pour lire le corps intégral actuel
  3. note_save avec mode="edit", note_id, base_version (la version qui vient d’être lue), le corps complet révisé et la totalité des tags
Si base_version est périmé (la note a été modifiée entre-temps), un NOTE_VERSION_CONFLICT est retourné, accompagné du numéro de version réel — il faut alors relire, fusionner et réessayer, surtout pas écraser aveuglément.Une note pas encore indexée a un doc_id à null : il faut alors soit attendre la fin de l’indexation, soit modifier directement la note que l’on vient de créer, avec la version retournée à la création. Ne réécrivez jamais une note entière sur la seule foi de son extrait.
Il n’existe aucun outil de suppression. Une note ne se supprime que depuis l’interface de l’application, par l’utilisateur.

Métadonnées de réponse

Chaque réponse réussie d’outil contient l’heure UTC actuelle, ce qui permet aux appelants de calculer des dates relatives (« le mois dernier », « cette année », « ces 30 derniers jours ») sans dépendre de la date de coupure d’entraînement du modèle.
  • Sortie Markdown : un bloc de pied de page à la fin de la réponse, formaté comme :
  • Sortie JSON : un objet _meta au niveau supérieur :
Les réponses d’erreur (isError: true) n’incluent pas ces métadonnées — le corps d’erreur transmet déjà la cause, et ajouter un horodatage diluerait le signal. Lorsque l’utilisateur utilise une date relative, lisez now depuis la réponse d’outil la plus récente, calculez la date ISO 8601 correspondante, puis transmettez-la à modified_after / modified_before de search.

Exemples de flux de travail

Flux de travail complet : via CLI

L’exemple suivant illustre comment effectuer une recherche documentaire complète via le CLI :

Flux de travail complet : via MCP

Lorsque l’assistant IA appelle les outils via le protocole MCP, le format des requêtes est le suivant :

Questions fréquentes

Linkly AI prend actuellement en charge les formats suivants :La transcription vocale de l’audio et de la vidéo est désactivée par défaut : ces fichiers sont bien enregistrés dans l’index et se retrouvent par leur nom, mais pour chercher « ce qui s’y dit », il faut d’abord activer Transcription audio et Transcription vidéo dans Paramètres → Index. Voir Paramètres d’indexation.
Si le document n’a pas de sommaire disponible (has_outline: false), vous pouvez :
  1. Utiliser directement l’outil read pour parcourir le contenu du document page par page
  2. Lire d’abord le début du document (200 lignes par défaut) pour avoir un aperçu du contenu, puis décider si vous souhaitez poursuivre la lecture
Flux recommandé :
  1. Consulter d’abord la structure du document via outline (si un sommaire est disponible)
  2. En fonction de la plage de lignes indiquée dans le sommaire, utiliser les paramètres offset et limit de read pour lire précisément les sections ciblées
  3. Lire au maximum 500 lignes à la fois, en ajustant offset pour paginer
Le port par défaut est 60606. Si ce port est occupé, l’application essaie automatiquement d’autres ports. Vous pouvez vérifier le port réellement utilisé dans les paramètres de Linkly AI Desktop.
Vous pouvez essayer :
  • Utiliser des mots-clés plus précis
  • Utiliser des descriptions en langage naturel (en exploitant la correspondance sémantique vectorielle)
  • Combiner mots-clés et synonymes, par exemple "authentication auth login sign-in"
  • Utiliser --type pour filtrer des types de documents spécifiques et affiner le champ de recherche