How to Read Microsoft Teams in Cursor Without Graph API (Claude, VS Code, Windsurf)
Access Microsoft Teams messages directly from Cursor, Claude Desktop, VS Code, or any MCP client on Mac. No Graph API, no OAuth tokens, no Azure AD configuration. LMCP reads the local Teams cache so you can reference conversations while coding.
The Problem
You are deep in a coding session when someone mentions on Teams that the API endpoint schema changed. Or a teammate posted the new database credentials in a channel three hours ago. Normally, you would have to switch to Teams, scroll through conversations, find the relevant message, copy the information, and switch back to your editor.
The official way to access Teams programmatically is Microsoft Graph API, which requires registering an Azure AD app, configuring OAuth scopes, handling token refresh, and dealing with rate limits. For a developer who just wants to read a message while coding, that is an absurd amount of ceremony.
How LMCP Solves It
LMCP takes a completely different approach. Instead of going through Microsoft's cloud APIs, it reads Teams data directly from the local cache on your Mac. The Teams desktop app stores its messages in a LevelDB database (the IndexedDB backing store for its Chromium-based renderer). LMCP reads this database locally, which means:
- No Microsoft Graph API registration
- No OAuth tokens or Azure AD configuration
- No rate limits or API quotas
- No network requests to Microsoft servers
- Works even when your VPN or corporate proxy blocks Graph API
Once installed, you can ask your AI assistant things like:
Summarize unread messages in my Teams channels about the API migration
Your AI reads the messages through LMCP and gives you a summary right in your editor. No context switching, no copy-pasting.
How It Works
The Microsoft Teams desktop app on Mac (the new Teams, version 2.x) is built on Electron and stores its data in a Chromium-based LevelDB database at:
~/Library/Containers/com.microsoft.teams2/.../https_teams.microsoft.com_0.indexeddb.leveldbLMCP uses ccl_chromium_reader, an open-source library for reading Chromium IndexedDB stores, to parse this database. It extracts chat messages, channel posts, team names, and conversation metadata — all without making a single network request.
The data is read-only. LMCP cannot send messages, modify conversations, or write to the Teams database. It only reads what is already cached locally by the Teams app.
Step 1: Install LMCP on Your Mac
Download LMCP and install it:
- Open the downloaded
.dmgfile from your Downloads folder - Drag Local MCP to your Applications folder
- Open Local MCP from your Applications folder — it appears in your menu bar
Takes about 30 seconds. Your AI clients are configured automatically.
Step 2: Restart Your AI Client
After installing, restart your AI client so it picks up the new MCP tools:
- Cursor — restart the editor
- Claude Desktop — quit completely (Cmd+Q) and reopen
- VS Code — reload the window (Cmd+Shift+P → “Reload Window”)
- ChatGPT / Windsurf — restart the application
Step 3: Make Sure Teams Is Running
LMCP reads from the local Teams cache, so the Teams desktop app needs to be installed and you need to have logged in at least once. The app does not need to be running at the moment you query — the cached data persists on disk. But for the most recent messages, keep Teams running so it syncs new data.
Step 4: Query Teams from Your AI
Open your AI client and try prompts like these:
- “List my recent Teams chats” — see your 1:1 and group conversations.
- “What did the backend team post in the #deployments channel today?” — search specific channels.
- “Summarize unread messages in my Teams channels about the API migration” — get a focused summary.
- “Find the message where Sarah shared the new staging URL” — search across all conversations.
What Teams Data Is Available?
LMCP exposes these Teams tools to your AI assistant:
- List chats — browse your 1:1 conversations and group chats
- Read chat messages — get the content of any chat conversation
- List teams — see all the Teams you belong to
- List channels — browse channels within a team
- Read channel messages — get posts and replies from any channel
All operations are read-only. You cannot send messages through LMCP.
Developer Workflows
Code review context
Check my Teams messages for any discussion about the payment service refactor, then look at the open PR in this repo and summarize both together.
Your AI pulls context from Teams and your codebase simultaneously, giving you the full picture before you start reviewing.
Incident response
Read the latest messages in the #incidents channel on Teams and check the error logs in this project. What is likely causing the 500 errors?
During an incident, having Teams context right in your editor saves critical minutes.
Frequently Asked Questions
Does this work with the old Teams app (Teams Classic)?
No. The local LevelDB approach works with the new Microsoft Teams (version 2.x), which is the Electron-based app that Microsoft has been shipping since 2023. The old Teams Classic used a different storage format. If you are still on Teams Classic, update to the new version — Microsoft has been pushing this migration for over two years.
Can LMCP send messages on Teams?
No. Teams access is read-only. LMCP reads from the local cache but cannot write to it. Sending messages would require the Graph API, which defeats the purpose of the local-first approach. If you need to send messages, use Teams directly.
What if my Teams data is out of date?
LMCP reads whatever is in the local cache. If the Teams desktop app is running and connected, the cache stays current. If Teams has been closed for a while, the data will reflect the last time it synced. For the freshest data, make sure Teams is running in the background.
Works With All Major AI Clients
While this guide focuses on Cursor, LMCP works with any MCP-compatible client. You can also access Teams from Claude Desktop, VS Code with Copilot, Windsurf, ChatGPT, Zed, and others. The installation command is the same for all of them.
What Else Can LMCP Do?
Teams is just one of the apps LMCP connects to your AI assistant. You can also access Mail and email, Calendar without OAuth, Contacts, OneDrive, Outlook, and more. Check the full list of guides for all available integrations.