Skip to main content
Glama
tinobruno

Teams Puppeteer MCP Server

by tinobruno

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DEVTOOLS_PORTNoConnect to an already running Chrome instance with remote debugging. If not set, the port is auto-detected (defaults to 9222).9222
TEAMS_HEADLESSNoSet to "true" to run browser in the background after initial login.false
TEAMS_PROFILE_DIRNoCustom directory path for browser cache & persistent session cookies.~/.teams_puppeteer_profile
PUPPETEER_EXECUTABLE_PATHNoExplicit path to your Chrome or Microsoft Edge executable. If not set, the path is auto-detected.

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

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_last_messageA

PRIMARY TOOL to read the single latest message from a specific person, group, or channel in Teams. Supports partial names (e.g. 'Alice Smith', 'Bob', 'Project Alpha'). Automatically matches the chat and returns only the author, timestamp, and text. NEVER call list_teams_chats first.

get_last_unread_messageA

Reads unread messages. If 'chat_name' is provided, returns the latest unread message in that specific chat. If 'chat_name' is omitted, scans all Teams chats and returns a compact list of all unread messages with their senders and text in one single call. NEVER call list_teams_chats first.

get_last_messagesA

Reads the last N messages from a specific Teams chat. Use this ONLY when the user asks for multiple recent messages or recent conversation history. NEVER call list_teams_chats first.

send_teams_messageA

Sends a text message to a specified Microsoft Teams chat or group.

list_teams_chatsA

Lists chat names and activity timestamps from the Teams sidebar. Use ONLY when the user explicitly asks to list, see, or browse their conversations.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation4/5

The read tools overlap somewhat—get_last_message, get_last_unread_message, and get_last_messages all retrieve recent messages—but their purposes are differentiated by unread status, scope, and message count. The descriptions are explicit about when to use each, so agent misselection is unlikely but still possible.

Naming Consistency4/5

Tool names mostly follow a clear verb_noun pattern: get_last_*, send_teams_message, list_teams_chats. The get_last_message and get_last_messages singular/plural distinction is a minor inconsistency, but the overall pattern is readable and predictable.

Tool Count5/5

With only five tools, the set is tightly scoped for Teams messaging operations. Each tool serves a distinct core need—read latest, read unread, read history, send, list—without unnecessary bloat.

Completeness4/5

The set covers the primary Teams workflows: reading recent messages, checking unread activity, sending messages, and listing conversations. Minor gaps exist such as marking messages as read or searching historical messages, but agents can accomplish most common tasks without dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues