microsoft
sharepoint.
A SharePoint site of the organization, and its document libraries.
setup & usage
le connecteur lit les fichiers de ton organisation avec une app Entra qu'un administrateur Microsoft 365 enregistre une fois, au nom de l'organisation (pas d'un collaborateur). Dans le centre d'administration Entra :
1. Inscriptions d'applications → Nouvelle inscription : un nom (ex. « oto »), « comptes de cet annuaire uniquement », sans URI de redirection
2. Autorisations des API → Ajouter → Microsoft Graph → Autorisations d'application (pas « déléguées ») :
- lecture : Sites.Read.All (tous les sites SharePoint) et Files.Read.All (les OneDrive)
- lecture et dépôt : Sites.ReadWrite.All et Files.ReadWrite.All à la place
- ou Sites.Selected, pour n'ouvrir que les sites qu'un admin accorde un par un à l'app : le plus restreint
3. Accorder le consentement administrateur pour l'organisation : sans lui, chaque appel est refusé (403)
4. Certificats et secrets → Nouveau secret client : copie sa valeur tout de suite, elle n'est montrée qu'une fois
puis renseigne dans oto, sur la carte SharePoint de ton org : directory_id (ID de locataire, page « Vue d'ensemble »), client_id (ID d'application) et client_secret (la valeur du secret).
Sites.Selected, en conséquenceSites.Selected, une app saine ne voit encore aucun site)sharepoint_site(query="Marketing"), ou par son adresse : sharepoint_site(op="get", url="https://contoso.sharepoint.com/sites/Marketing")sharepoint_site(op="drives", site_id="…") ; chaque id rendu est un drive_idsharepoint_file(drive_id="…", path="Contrats/2026")sharepoint_file(user="marie@contoso.com"), puis path= pour descendresharepoint_file(op="search", drive_id="…", query="Dupont contrat")sharepoint_file(op="download", drive_id="…", item_id="…") : un Word ou un PowerPoint revient en texte (converti en PDF par Microsoft), un Excel en CSV, un PDF en textefull=true rend l'objet Microsoft Graph completsharepoint_file(op="upload", drive_id="…", path="Comptes rendus", name="cr-2026-10-01.md", content_text="…") ; un fichier binaire en content_base64Sites.Selected) ce site ne lui a pas été accordéconflict="fail", le défaut) : conflict="rename" garde les deux, conflict="replace" écraseop="search") ne trouve que les sites que l'app voit, et pas les OneDrive personnels : pour ceux-là, user=fichiers seulement : sites, bibliothèques, OneDrive ; lister, chercher, lire (jusqu'à 50 Mo), déposer (jusqu'à 25 Mo), créer un dossier. Rien ne supprime, ne déplace ni ne partage un fichier. Le courrier Outlook, le calendrier et Teams ne passent pas par ce connecteur.
ce connecteur accepte plusieurs comptes : chaque credential posé devient un compte nommé (un nom par compte), à ton niveau, à celui de ton équipe ou de ton org.
_account="<nom>" sur l'outil ; les lister : oto_identity(op='list', connector='sharepoint') (scope='org' ou scope='group' pour ceux de l'org ou de l'équipe)oto_identity(op='set', connector='sharepoint', identity_id='<nom>') ; renommer : op='rename' avec new_name_account) et en additionnantoutils
utilisation
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.pipx install oto-cli puis oto sharepoint …