Skip to content

Troubleshooting

"No Teams IndexedDB found"

Auto-discovery couldn't locate the database. Check that the new Teams desktop app is installed and has been signed in at least once, then set TEAMS_LEVELDB_DIR explicitly to the …\IndexedDB\https_teams.microsoft.com_0.indexeddb.leveldb directory (see Configuration).

"requires Node.js >= 22.5"

The server uses the built-in node:sqlite, added in Node 22.5. Upgrade Node.js. (On Node 22 the --experimental-sqlite flag is enabled for you automatically; you don't need to pass it.)

Results seem stale / a channel looks empty but isn't

The local cache is a synced slice and syncs lazily per conversation — a channel you haven't opened recently may have older cached content than the server has. zaungast discloses this: read_messages shows the local cache span, and search appends a newest cached in this scope: … note on empty/edge results. If you need the latest, open the conversation in Teams once so the client syncs it, then query again.

"schema is not recognized" after a Teams update

A Teams update can change the on-disk field layout so the built-in mapping no longer matches. The tools will say the schema is unrecognized. Run describe_schema — it samples the raw stores and prints a proposed field mapping (it applies nothing). Verify the proposed field paths against the printed record/entry fields, save the JSON as src/schema/versions/teams-<version>.json, rebuild, and restart. Please also open an issue so the mapping can ship for everyone.

Duplicate conversation titles

Two channels can share a title (e.g. two "General"s). search in:"General" searches both and notes it (matched N conversations — pass a c:handle to narrow). Use the c: handle to target one exactly.

Verifying the install

claude mcp list should show zaungast … ✓ Connected. If not, run the server directly to see stderr:

npx -y zaungast

It should print zaungast MCP server ready (stdio) and then wait for input (Ctrl-C to exit).