Skip to content
Gemini CLI

microsoft teams mcp for Gemini CLI

io.github.chrischall/microsoft-teams-mcp

Microsoft Teams for Claude — read any chat or channel and its unread messages; send and react

client:Gemini CLI transport:stdio runtime:npm

Install microsoft teams mcp in Gemini CLI

~/.gemini/settings.json · windows: %USERPROFILE%\.gemini\settings.json

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

{
  "mcpServers": {
    "microsoft-teams-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@chrischall/microsoft-teams-mcp"
      ],
      "env": {
        "TEAMS_WS_PORT": "<TEAMS_WS_PORT>",
        "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
        "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>",
        "TEAMS_ACCESS_TOKEN": "<TEAMS_ACCESS_TOKEN>",
        "TEAMS_DISABLE_FETCHPROXY": "<TEAMS_DISABLE_FETCHPROXY>",
        "TEAMS_CHATSVC_REGION": "<TEAMS_CHATSVC_REGION>",
        "TEAMS_CHATSVC_BASE": "<TEAMS_CHATSVC_BASE>",
        "TEAMS_CAPTURE_TIMEOUT": "<TEAMS_CAPTURE_TIMEOUT>",
        "TEAMS_TOKEN_CACHE": "<TEAMS_TOKEN_CACHE>",
        "TEAMS_TOKEN_FILE": "<TEAMS_TOKEN_FILE>",
        "TEAMS_SUBSTRATE_TOKEN_FILE": "<TEAMS_SUBSTRATE_TOKEN_FILE>",
        "TEAMS_RECAP_TOKEN_FILE": "<TEAMS_RECAP_TOKEN_FILE>",
        "TEAMS_MCPS_REGION": "<TEAMS_MCPS_REGION>",
        "TEAMS_SHAREPOINT_TOKEN_FILE": "<TEAMS_SHAREPOINT_TOKEN_FILE>",
        "TEAMS_TIME_ZONE": "<TEAMS_TIME_ZONE>",
        "TEAMS_OUTPUT_DIR": "<TEAMS_OUTPUT_DIR>",
        "MCP_CONFIRM_MODE": "<MCP_CONFIRM_MODE>",
        "MCP_CONFIRM_ELICITATION": "<MCP_CONFIRM_ELICITATION>",
        "MCP_CONFIRM_TTL_SECONDS": "<MCP_CONFIRM_TTL_SECONDS>",
        "MCP_CONFIRM_SECRET": "<MCP_CONFIRM_SECRET>"
      }
    }
  }
}

Gemini expands $VAR and ${VAR} inside env values, so a secret can live in your shell rather than this file. Gemini CLI docs

microsoft teams mcp in other clients