Zaungast
БесплатноНе проверенA read-only, offline MCP server for Microsoft Teams that searches chats, reads conversations, and finds people directly from the local on-disk cache with no clo
Описание
A read-only, offline MCP server for Microsoft Teams that searches chats, reads conversations, and finds people directly from the local on-disk cache with no cloud API.
README

CI Docs npm License: Apache 2.0
zaungast (German: someone who watches over the fence without joining in) is a read-only, offline MCP server for Teams — search chats, read conversations, surface trending topics, and find people straight from the local on-disk cache, with no Graph API, no cloud, and no credentials, and token-economical output for coding agents (Claude Code, Claude Desktop, …).
The new Teams client stores your chats in a local on-disk database; zaungast reads a copy of it directly and serves it over MCP, so your agent can pull in Teams context — "what was decided about the release date", "catch me up on a channel I muted", "what's my team been discussing this week" — without you copy-pasting, and without any cloud API.
- Local & offline — reads the on-disk Teams cache. No MS Graph API, no network calls.
- No credentials — nothing to log in to, no tokens, no permissions to grant.
- Read-only & safe — the Teams files are only ever read/copied, never written, locked, or modified. It cannot corrupt your Teams data.
- Token-economical — every tool returns compact, shaped output, never bulk dumps.
- Zero-config — auto-discovers the local Teams database; just register and go.
⚠️ Windows only (new Teams / WebView2), Node.js ≥ 22.5. Teams on macOS uses a different storage engine and isn't supported yet — see requirements. Not affiliated with or endorsed by Microsoft. It reads your own local data on your own machine.
Installation
npx -y zaungast fetches and runs the server, so registering it in your MCP client is the
whole install. No environment variables are needed in the common case — the local Teams
database is auto-discovered.
Claude Code
Normal case — the Teams database is auto-discovered, so no variables are needed:
claude mcp add zaungast -- npx -y zaungast
Add --scope user to make it available in every project. Verify with claude mcp list
(expect zaungast … ✓ Connected), then open a new session.
Only if auto-discovery fails or you have multiple profiles, set TEAMS_LEVELDB_DIR
explicitly (the -e flag goes before the --) — see
finding the Teams database folder:
claude mcp add zaungast \
-e TEAMS_LEVELDB_DIR="C:\Users\me\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\EBWebView\WV2Profile_tfw\IndexedDB\https_teams.microsoft.com_0.indexeddb.leveldb" \
-- npx -y zaungast
Codex
Add to ~/.codex/config.toml (or run codex mcp add zaungast -- npx -y zaungast):
[mcp_servers.zaungast]
command = "npx"
args = ["-y", "zaungast"]
# The Teams database is auto-discovered, so no path is needed. To set or override it,
# delete the "#" below and point it at your …indexeddb.leveldb folder:
# env = { TEAMS_LEVELDB_DIR = "/full/path/to/https_teams.microsoft.com_0.indexeddb.leveldb" }
Claude Desktop / other clients
Add to your client's MCP config (claude_desktop_config.json, .mcp.json, …):
{
"mcpServers": {
"zaungast": { "command": "npx", "args": ["-y", "zaungast"] }
}
}
If you want to set or override a variable, use this form instead:
{
"mcpServers": {
"zaungast": {
"command": "npx",
"args": ["-y", "zaungast"],
"env": {
"TEAMS_LEVELDB_DIR": "/full/path/to/https_teams.microsoft.com_0.indexeddb.leveldb"
}
}
}
}
TEAMS_LEVELDB_DIR is optional — the database is auto-discovered. Set it only if discovery
fails or to pin a specific profile. From-source setup and other clients are covered in the
installation docs.
Tools
| Tool | What it does |
|---|---|
list_conversations |
Your Teams sidebar — newest conversations, or filter by kind/participant/title/time. |
read_messages |
One conversation's messages in story order (window / cursor / around a hit). |
search |
Full-text search + filters (from, in, kind, mentions_me, has-attachment, date). |
list_events |
Calendar meetings & appointments (forward window by default); metadata-only, join-URLs never exposed. |
list_calls |
Call history — 1:1/group calls with direction, duration, missed, and recording pointers. |
top_topics |
Distinctive/trending topics over a window, vs your baseline, with an example each. |
find_person |
Resolve a name/nickname to a canonical person + handle, with contact stats. |
describe_schema |
Recovery tool: propose a field mapping when a Teams update changes the DB layout. |
Full reference: tools documentation.
Environment variables
All optional — zaungast works with no configuration. Pass them via your MCP client's env
block (as above).
| Var | Default | Notes |
|---|---|---|
TEAMS_LEVELDB_DIR |
auto-discovered | Path to the …\IndexedDB\https_teams.microsoft.com_0.indexeddb.leveldb directory. Set only if discovery fails or to pin a profile. |
ZAUNGAST_INCREMENTAL |
copy-reuse |
Refresh mode: copy-reuse (faster) or reparse (simpler). |
ZAUNGAST_DB_DIR |
unset | Read a static copy of the database directly (offline analysis); skips discovery and live refresh. |
Privacy & safety
- Stays local — no network calls; reads data already on your machine and serves it to your local agent over stdio.
- Cannot harm Teams — no code path writes to, locks, or memory-maps the Teams directory; only read-and-copy.
- Images/files are URL-only — chat images live in Teams' cloud behind auth; zaungast notes that an attachment exists but never fetches it and never handles credentials.
More in the privacy & safety docs.
Documentation
Full documentation — tools reference, how it works, configuration, privacy, troubleshooting, and development — lives at https://zaungast.readthedocs.io/.
License
Apache 2.0 © Mikael Beyene. Not affiliated with or endorsed by Microsoft. "Microsoft Teams" is a trademark of Microsoft Corporation; this project only reads your own local data.
Установка Zaungast
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/mbe24/zaungastFAQ
Zaungast MCP бесплатный?
Да, Zaungast MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Zaungast?
Нет, Zaungast работает без API-ключей и переменных окружения.
Zaungast — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Zaungast в Claude Desktop, Claude Code или Cursor?
Открой Zaungast на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Zaungast with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
