Microsoft Teams-berichten lezen en verzenden met Claude op de Mac — zonder Graph API
Claude, ChatGPT, Cursor of VS Code kunnen Microsoft Teams-berichten op je Mac lezen én verzenden — zonder OAuth, Graph API of goedkeuring van een beheerder.
Installeer LMCP om Claude je Microsoft Teams-chats op een Mac te laten lezen — een gratis, lokale MCP-server die de eigen lokale database van de Teams-desktopapp op je computer leest. Omdat Microsoft Graph nooit wordt aangeroepen, zijn geen Azure-appregistratie, beheerderstoestemming of API-sleutel nodig — de gebruikelijke obstakels wanneer IT de tenant beheert. Je AI kan chats en kanalen doorzoeken, geschiedenis lezen en berichten verzenden.
Als de geselecteerde AI-client een cloud-AI-provider gebruikt, kan die provider de voor de taak gevraagde berichtinhoud ontvangen en verwerken onder zijn eigen voorwaarden.
Wat je kunt benaderen
Via LMCP kan je AI-assistent:
- Je chats opsommen — bekijk al je 1-op-1- en groepsgesprekken met recente activiteit
- Chatberichten lezen — haal de volledige berichtgeschiedenis op van elk chatgesprek
- Je teams opsommen — bekijk tot welke Teams-werkruimtes je behoort
- Kanalen opsommen — blader door kanalen binnen een team
- Kanaalberichten lezen — haal berichten op uit elk kanaal waartoe je toegang hebt
- Chatberichten verzenden — antwoorden of een gesprek starten, met een voorbeeld voordat er iets wordt verzonden
Het gedrag van voorbeelden en bevestigingen hangt af van het hulpmiddel, het platform en de AI-client. Controleer de vereisten van het hulpmiddel en de voorgenomen actie voordat je een echte aanroep toestaat.
Hoe te installeren
Download LMCP en installeer het:
- Open het gedownloade bestand
LMCP-Installer.pkgvanuit je map Downloads - Volg het installatieprogramma — het installeert Local MCP voor je in Programma’s (bestanden handmatig verplaatsen is niet nodig)
- Open Local MCP vanuit je map Programma’s — het verschijnt in je menubalk
Duurt ongeveer 30 seconden. Je AI-clients worden automatisch geconfigureerd.
Start na de installatie je AI-client opnieuw op zodat deze de nieuwe MCP-tools oppikt:
- Claude Desktop — volledig afsluiten (Cmd+Q) en opnieuw openen
- Cursor — start de editor opnieuw
- VS Code — herlaad het venster (Cmd+Shift+P → “Reload Window”)
- ChatGPT / Windsurf — start de applicatie opnieuw
Zorg ervoor dat Microsoft Teams is geïnstalleerd en dat je bent ingelogd. LMCP detecteert automatisch je Teams-gegevens.
Er is geen extra configuratie nodig voor Teams — geen API-sleutels, geen machtigingen om te verlenen. Als je Teams-gegevens op schijf staan, vindt LMCP ze.
Voorbeeldprompts
Probeer eenmaal verbonden deze prompts met je AI-assistent:
- “Wat heeft het team vandaag besproken in het General-kanaal?” — leest recente kanaalberichten en vat de belangrijkste punten samen
- “Toon mijn gesprek met Marco” — somt recente berichten uit een specifieke chat op
- “Vind berichten over de deadline voor de uitrol” — doorzoekt je chats en kanalen
- “Vat samen wat ik vanochtend in Teams gemist heb” — bundelt berichten uit meerdere gesprekken
- “Welke kanalen hebben vandaag nieuwe berichten?” — scant je teams op recente activiteit
- “Wat zei het designteam over de nieuwe mockups?” — vindt en vat de relevante discussie samen
Je AI-assistent is vooral nuttig om bij te praten over drukke kanalen. In plaats van door honderden berichten te scrollen, kun je om een samenvatting vragen van wat ertoe doet.
Waarom andere oplossingen de Graph API vereisen
Microsoft Teams is een van de moeilijkste productiviteitsapps om te integreren met AI-assistenten. De officiële manier om Teams-gegevens programmatisch te benaderen is via de Microsoft Graph API, die het volgende vereist:
- Azure AD app-registratie — je moet een app aanmaken in Microsoft Entra (voorheen Azure AD) met de juiste machtigingen
- Admin-toestemming — een tenantbeheerder moet de toegang van je app tot Teams-gegevens goedkeuren, iets wat de meeste IT-afdelingen niet graag verlenen
- OAuth-tokenbeheer — access tokens verlopen, moeten vernieuwd worden en moeten veilig worden opgeslagen
- Gedelegeerde versus applicatiemachtigingen — het machtigingenmodel is complex, en de juiste scopes vinden is een kwestie van vallen en opstaan
- Rate limiting — de Graph API beperkt verzoeken agressief, zeker voor Teams-endpoints
Voor de meeste individuen en kleine teams is dit een onhaalbare zaak. Je kunt niet zomaar “je AI met Teams verbinden” zoals je dat misschien met een bestand of een database zou doen. De organisatorische overhead is enorm.
Hoe LMCP Teams op een andere manier leest
LMCP omzeilt de Graph API volledig. In plaats van netwerkverzoeken te doen naar de servers van Microsoft, leest het Teams-gegevens uit de lokale cache die de Teams-desktopapp op je Mac bijhoudt.
Microsoft Teams (de nieuwe versie, ook wel Teams 2.0 genoemd) is een op Electron gebaseerde app die zijn gegevens opslaat in een IndexedDB-database ondersteund door LevelDB op schijf. Deze database bevat je recente chats, kanaalberichten, teamlidmaatschappen en gespreksmetadata — allemaal lokaal opgeslagen als onderdeel van de normale werking van Teams.
LMCP leest deze LevelDB-database rechtstreeks met behulp van een gespecialiseerde parser. Geen netwerkverzoeken, geen API-tokens, geen admin-toestemming. Als Teams is geïnstalleerd en je bent ingelogd, staan je berichten al op je schijf, en kan LMCP ze lezen.
Technische verdieping: hoe het parsen van LevelDB werkt
Voor de technisch nieuwsgierigen: zo haalt LMCP Teams-gegevens uit de lokale cache.
Microsoft Teams (nieuwe versie) slaat zijn gegevens op in een IndexedDB-database op:
~/Library/Containers/com.microsoft.teams2/Data/Library/Application Support/Microsoft/Teams/Profiles/*/IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldb
Dit is een LevelDB-database in Chromium-stijl, hetzelfde formaat dat door Chrome, Electron-apps en andere op Chromium gebaseerde applicaties wordt gebruikt. De gegevens bevatten geserialiseerde JavaScript-objecten met berichtinhoud, metadata, tijdstempels en deelnemersinformatie.
LMCP gebruikt de ccl_chromium_reader-bibliotheek — een opensourcetool
oorspronkelijk ontwikkeld voor digitaal forensisch onderzoek — om dit LevelDB-formaat te parsen. De bibliotheek
verwerkt de complexiteit van de IndexedDB-implementatie van Chromium, waaronder:
- V8-serialisatieformaat voor JavaScript-objecten
- De append-only logstructuur en compactie van LevelDB
- De object store- en indexorganisatie van IndexedDB
- Het verwerken van verwijderde en overschreven records
De geparste gegevens worden vervolgens gefilterd en gestructureerd tot schone JSON waarmee je AI-assistent kan werken. Berichtinhoud, afzenderinformatie, tijdstempels en gespreksmetadata worden geëxtraheerd en beschikbaar gemaakt via MCP-tools.
Deze aanpak is alleen-lezen van opzet — LevelDB wordt in leesmodus geopend, en er worden geen gegevens teruggeschreven. LMCP kan je Teams-cache niet beschadigen of wijzigen.
Vergeleken met andere aanpakken
Er zijn een paar manieren om AI toegang te geven tot Teams-gegevens. Zo verhouden ze zich tot elkaar:
- Microsoft Graph API — volledige lees-/schrijftoegang maar vereist Azure AD, admin-toestemming en tokenbeheer. Het best voor enterprise-implementaties met IT-ondersteuning.
- Microsoft 365 Connector (officiëel van Anthropic) — gebruikt onder de motorkap de Graph API, vereist Entra-tenantbeheerderconfiguratie. Goed als je IT-afdeling meewerkt.
- LMCP (lokale cache) — leest direct zonder configuratie en kan ook berichten verzenden (eerst is bevestiging vereist). Het meest geschikt voor individuen en kleine teams die snel toegang nodig hebben.
Workflows uit de praktijk
Het lezen van losse berichten is nog maar het begin. De echte waarde ontstaat wanneer je je AI-assistent vraagt informatie samen te brengen over gesprekken heen en actie te ondernemen:
Samenvatting van de dagelijkse standup
Lees de berichten van vandaag in het engineering-kanaal, haal eruit waar iedereen aan werkt, identificeer blokkades en maak een samenvattingsnotitie.
In plaats van door een druk kanaal te scrollen, leest je AI alles, ordent het per persoon en licht blokkades uit. Perfect voor managers die op de hoogte willen blijven zonder elk bericht te lezen.
Vergaderingsvoorbereiding vanuit Teams
Controleer wat het team de afgelopen week over Project X heeft besproken in alle kanalen, vat de belangrijkste beslissingen samen en maak een lijst met openstaande vragen die ik moet aankaarten in de vergadering van morgen.
Je AI scant meerdere kanalen, vindt relevante discussies en bereidt een briefingdocument voor. Je stapt de vergadering volledig geïnformeerd binnen in plaats van te moeten haasten om bij te praten.
Taken aanmaken vanuit de chat
Ga mijn Teams-chats van vandaag door, vind alles wat lijkt op een taak of een toezegging die ik heb gedaan, en maak er een lijst van met wie het vroeg en wanneer.
Gesprekken in Teams bevatten vaak impliciete toezeggingen — “ik kijk er even naar” of “ik stuur je het document.” Je AI vindt deze en brengt ze naar boven zodat er niets door de mazen glipt.
Projectdocumentatie
Lees de laatste 50 berichten in het #architecture-kanaal, haal de beslissingen eruit die zijn genomen over het API-ontwerp, en maak een Word-document met het besluitenlogboek voor de architectuur.
Belangrijke beslissingen raken vaak begraven in de chatgeschiedenis. Je AI haalt ze eruit, structureert ze tot een degelijk document en slaat het op zodat je team een permanent verslag heeft.
LMCP verbindt je AI-assistent ook met e-mail, Outlook, Calendar, Contacts, OneDrive en lokale bestanden. Bekijk de volledige lijst met gidsen of lees meer op local-mcp.com.
Beperkingen
Omdat LMCP uit de lokale cache leest in plaats van uit een live API, zijn er enkele inherente beperkingen om rekening mee te houden:
- Alleen gecachte berichten zijn beschikbaar — Teams cachet recente gesprekken, maar zeer oude berichten staan mogelijk niet op schijf. Als je een chat al maanden niet hebt geopend, staan de berichten ervan misschien niet in de cache.
- Alleen verzenden, niet bewerken of verwijderen — LMCP kan nieuwe chatberichten verzenden (met een bevestigingsvoorbeeld), maar kan bestaande berichten niet via Teams bewerken of verwijderen
- Vereist de Teams-desktopapp — de webversie van Teams maakt geen lokale cache aan die LMCP kan lezen
- Versheid van de cache — de cache wordt bijgewerkt wanneer Teams synchroniseert, wat meestal vrijwel realtime gebeurt terwijl Teams draait. Als Teams gesloten is, weerspiegelt de cache de toestand van het laatste moment dat het open was.
- Multi-tenant — als je bij meerdere organisaties bent ingelogd, kan LMCP gegevens van allemaal lezen
Veelgestelde vragen
Kan ik Microsoft Teams lezen zonder de Graph API?
Ja. LMCP leest de lokale Teams-cache die de desktopapp al op je Mac bijhoudt — zonder Microsoft Graph API, OAuth-tokens of Azure AD-appregistratie.
Is goedkeuring van een beheerder nodig?
Nee. Omdat LMCP gegevens leest die al op je schijf staan, hoeft er geen toestemming van de tenantbeheerder te worden aangevraagd — het obstakel waardoor individuen hun AI meestal niet met Teams kunnen verbinden.
Kan Claude Teams-berichten verzenden?
Ja — zowel een rechtstreeks chatbericht als een kanaalbericht. LMCP toont een voorbeeld en vraagt om bevestiging voordat er daadwerkelijk iets wordt verzonden. Lezen en verzenden gebeuren via dezelfde lokale cache, dus zodra lezen werkt, is er geen aparte schrijfconfiguratie nodig.
Hoe zit het met Microsofts officiële Teams MCP-server (Work IQ)?
Microsoft biedt een preview van een Teams MCP-server als onderdeel van Work IQ — maar daarvoor is een Microsoft 365-Copilot-licentie nodig, deze draait via Copilot Studio en rekent gebruik af met Copilot Credits. Hij is gebouwd voor ondernemingen die agents op tenantniveau inrichten. LMCP heeft niets daarvan nodig: geen Copilot-licentie, geen Copilot Studio, geen tenantconfiguratie en geen afrekening per aanroep — het leest gratis de Teams-app die al op je Mac staat.
Kant-en-klare recepten
Workflows om te kopiëren en plakken die Teams samen met je andere apps gebruiken:
- Vind alle onbeantwoorde klantverzoeken in WhatsApp, Slack, Teams en e-mail
- Laat je AI je voorbereiden op je volgende vergadering
Gerelateerde gidsen
Reacties
Reacties worden vóór publicatie gecontroleerd.