Read Microsoft Teams Messages with AI (Claude, Cursor, VS Code) — No Tokens, No Graph API
The only way to give your AI assistant access to Microsoft Teams without OAuth tokens or admin approval. Works with Claude Desktop, Cursor, VS Code, ChatGPT, and Windsurf. LMCP reads directly from the local Teams cache on your Mac.
Why Other Solutions Require Graph API
Microsoft Teams is one of the hardest productivity apps to integrate with AI assistants. The official way to access Teams data programmatically is through the Microsoft Graph API, which requires:
- Azure AD app registration — you need to create an app in Microsoft Entra (formerly Azure AD) with the right permissions
- Admin consent — a tenant administrator must approve your app's access to Teams data, which most IT departments are reluctant to grant
- OAuth token management — access tokens expire, need refreshing, and must be stored securely
- Delegated vs application permissions — the permission model is complex, and getting the right scopes is trial and error
- Rate limiting — Graph API throttles requests aggressively, especially for Teams endpoints
For most individuals and small teams, this is a non-starter. You cannot just “connect your AI to Teams” the way you might connect it to a file or a database. The organizational overhead is enormous.
How LMCP Reads Teams Differently
LMCP completely bypasses the Graph API. Instead of making network requests to Microsoft's servers, it reads Teams data from the local cache that the Teams desktop app maintains on your Mac.
Microsoft Teams (the new version, also called Teams 2.0) is an Electron-based app that stores its data in an IndexedDB database backed by LevelDB on disk. This database contains your recent chats, channel messages, team memberships, and conversation metadata — all stored locally as part of Teams' normal operation.
LMCP reads this LevelDB database directly using a specialized parser. No network requests, no API tokens, no admin approval. If Teams is installed and you are signed in, your messages are already on your disk, and LMCP can read them.
What You Can Access
Through LMCP, your AI assistant can:
- List your chats — see all your 1:1 and group conversations with recent activity
- Read chat messages — get the full message history from any chat conversation
- List your teams — see which Teams workspaces you belong to
- List channels — browse channels within a team
- Read channel messages — get messages from any channel you have access to
This is read-only access. LMCP cannot send messages or modify anything in Teams — it only reads what is already cached on your machine.
How to Install
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.
After installation, restart your AI client so it picks up the new MCP tools:
- Claude Desktop — quit completely (Cmd+Q) and reopen
- Cursor — restart the editor
- VS Code — reload the window (Cmd+Shift+P → “Reload Window”)
- ChatGPT / Windsurf — restart the application
Make sure Microsoft Teams is installed and you are signed in. LMCP will automatically detect your Teams data.
There is no additional configuration needed for Teams — no API keys, no permissions to grant. If your Teams data is on disk, LMCP finds it.
Example Prompts
Once connected, try these prompts with your AI assistant:
- “What did the team discuss today in the General channel?” — reads recent channel messages and summarizes the key points
- “Show my conversation with Marco” — lists recent messages from a specific chat
- “Find any messages about the deployment deadline” — searches through your chats and channels
- “Summarize what I missed in Teams this morning” — aggregates messages across multiple conversations
- “Which channels have new messages today?” — scans your teams for recent activity
- “What did the design team say about the new mockups?” — finds and summarizes relevant discussion
Your AI assistant is especially useful for catching up on busy channels. Instead of scrolling through hundreds of messages, you can ask for a summary of what matters.
Limitations
Because LMCP reads from the local cache rather than a live API, there are some inherent limitations to be aware of:
- Only cached messages are available — Teams caches recent conversations, but very old messages may not be on disk. If you have not opened a chat in months, its messages might not be in the cache.
- Read-only — you can read messages but cannot send, edit, or delete them through LMCP
- Requires Teams desktop app — the web version of Teams does not create a local cache that LMCP can read
- Cache freshness — the cache updates when Teams syncs, which usually happens in near real-time while Teams is running. If Teams is closed, the cache reflects the state from when it was last open.
- Multi-tenant — if you are signed into multiple organizations, LMCP can read data from all of them
Technical Deep-Dive: How LevelDB Parsing Works
For the technically curious, here is how LMCP extracts Teams data from the local cache.
Microsoft Teams (new version) stores its data in an IndexedDB database at:
~/Library/Containers/com.microsoft.teams2/Data/Library/Application Support/Microsoft/Teams/Profiles/*/IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldbThis is a Chromium-style LevelDB database, the same format used by Chrome, Electron apps, and other Chromium-based applications. The data includes serialized JavaScript objects containing message content, metadata, timestamps, and participant information.
LMCP uses the ccl_chromium_reader library — an open-source tool originally developed for digital forensics — to parse this LevelDB format. The library handles the complexities of Chromium's IndexedDB implementation, including:
- V8 serialization format for JavaScript objects
- LevelDB's append-only log structure and compaction
- IndexedDB's object store and index organization
- Handling deleted and overwritten records
The parsed data is then filtered and structured into clean JSON that your AI assistant can work with. Message content, sender information, timestamps, and conversation metadata are extracted and made available through MCP tools.
This approach is read-only by design — LevelDB is opened in read mode, and no data is written back. LMCP cannot corrupt or modify your Teams cache.
Compared to Other Approaches
There are a few ways to get AI access to Teams data. Here is how they compare:
- Microsoft Graph API — full read/write access but requires Azure AD, admin consent, and token management. Best for enterprise deployments with IT support.
- Microsoft 365 Connector (official Anthropic) — uses Graph API under the hood, requires Entra tenant admin setup. Good if your IT department is on board.
- LMCP (local cache) — read-only, zero configuration, works immediately. Best for individuals and small teams who need quick access.
Real-World Workflows
Reading individual messages is just the start. The real value comes when you ask your AI assistant to synthesize information across conversations and take action:
Daily standup summary
Read the engineering channel messages from today, extract what each person is working on, identify blockers, and create a summary note.
Instead of scrolling through a busy channel, your AI reads everything, organizes it by person, and highlights blockers. Perfect for managers who need to stay informed without reading every message.
Meeting prep from Teams
Check what the team discussed about Project X in the last week across all channels, summarize the key decisions, and list open questions I should bring up in tomorrow's meeting.
Your AI scans multiple channels, finds relevant discussions, and prepares a briefing document. You walk into the meeting fully informed instead of scrambling to catch up.
Create tasks from chat
Go through my Teams chats from today, find anything that looks like a task or commitment I made, and list them with who asked and when.
Conversations in Teams often contain implicit commitments — “I'll look into that” or “let me send you the doc.” Your AI finds these and surfaces them so nothing slips through.
Project documentation
Read the last 50 messages in the #architecture channel, extract decisions made about the API design, and create a Word document with the architecture decisions log.
Important decisions often get buried in chat history. Your AI extracts them, structures them into a proper document, and saves it so your team has a permanent record.
LMCP also connects your AI assistant to email, Outlook, Calendar, Contacts, OneDrive, and local files. See the full list of guides or learn more at local-mcp.com.