zaungast
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZAUNGAST_DB_DIR | No | Read a static copy of the database directly (testing / offline analysis); skips discovery and live-refresh. | |
| TEAMS_LEVELDB_DIR | No | Path to the Teams …\IndexedDB\https_teams.microsoft.com_0.indexeddb.leveldb directory. Set only if auto-discovery fails or you have multiple profiles. | |
| ZAUNGAST_INCREMENTAL | No | Refresh mode: copy-reuse (default, faster) or reparse (simpler). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_conversationsA | Your Teams sidebar: the newest N conversations (default), or filter by kind/participant/title/time. Note: this reads the LOCAL Teams cache — history is the synced slice on this device, not the full server archive. |
| read_messagesA | Read one conversation's messages in STORY ORDER (oldest→newest). Target by handle (c:xxxx) or title/participant substring. Page back with the returned older: cursor, or center on a message with around:. Note: this reads the LOCAL Teams cache — history is the synced slice on this device, not the full server archive. |
| searchA | Full-text search across all messages with filters. Empty query = filtered browse. from/in accept display-name / title substrings or handles. mentions_me finds messages that @mention you. Note: this reads the LOCAL Teams cache — history is the synced slice on this device, not the full server archive. |
| top_topicsA | Distinctive/trending topics over a window (vs your baseline), overall or scoped to a person/conversation. Returns each topic with an exemplar message. Note: this reads the LOCAL Teams cache — history is the synced slice on this device, not the full server archive. |
| find_personA | Resolve a name/nickname fragment to a person's canonical name and stable p:handle, with message count and last-contact time. Use when a name is ambiguous or unrecognized, or when you need contact stats or a p:handle. For ordinary filtering, just pass a name substring directly to search/read_messages 'from'/'participant' — don't call this first. Omit query to scan the roster (most-talked-to first). |
| describe_schemaA | Inspect the raw Teams IndexedDB stores and PROPOSE a field mapping. Use when tools report the schema is unrecognized (after a Teams update), or to inspect the DB structure. Proposes only — applies nothing; a human verifies the proposal and saves it as a new schema version. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clear and distinct purpose: schema inspection, person resolution, conversation listing, message reading, full-text search, and topic extraction. No overlap in functionality.
All tool names use consistent snake_case and follow a verb_noun pattern (describe_schema, find_person, list_conversations, read_messages, top_topics), with 'search' as a minor deviation but still common and predictable.
6 tools is well-scoped for a Teams data access server, covering essential read and analysis operations without being overwhelming or sparse.
The tool set covers reading and analyzing local cache data comprehensively (schema, people, conversations, messages, search, topics). Minor gaps include lack of write operations and detailed conversation metadata retrieval, but this aligns with the stated read-only purpose.