
How to add Microsoft Teams MCP Server (Inditex) to Windsurf
Read, post and reply to Teams channel messages and mention members via Azure bot Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 15, 2026 · 379★ · stdio · apikey
Windsurf config for Microsoft Teams MCP Server (Inditex)
docker run -i --rm --env-file .env ghcr.io/inditextech/mcp-teams-server:latest{
"mcpServers": {
"microsoft-teams-mcp-server-inditex": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TEAMS_APP_ID",
"-e",
"TEAMS_APP_PASSWORD",
"-e",
"TEAMS_APP_TYPE",
"-e",
"TEAMS_APP_TENANT_ID",
"-e",
"TEAM_ID",
"-e",
"TEAMS_CHANNEL_ID",
"ghcr.io/inditextech/mcp-teams-server:latest"
],
"env": {
"TEAM_ID": "<your-teams-team-id>",
"TEAMS_APP_ID": "<your-azure-app-id>",
"TEAMS_APP_TYPE": "SingleTenant",
"TEAMS_CHANNEL_ID": "<your-teams-channel-id>",
"TEAMS_APP_PASSWORD": "<your-azure-app-password>",
"TEAMS_APP_TENANT_ID": "<your-azure-tenant-id>"
}
}
}
}Requires Docker to be installed and running.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Microsoft Teams MCP Server (Inditex) config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Microsoft Teams MCP Server (Inditex)'s tools become available to Cascade.
Before you start
- Python 3.10+ and the uv package manager (or Docker, via ghcr.io/inditextech/mcp-teams-server)
- A Microsoft Teams account with permission to add bots/apps to a team
- An Azure subscription to create an MS Entra ID (Azure AD) app registration and an Azure Bot resource
- The app's client ID and client secret (TEAMS_APP_ID / TEAMS_APP_PASSWORD), plus tenant type and tenant ID
- The target Team (group) ID and channel ID to scope the bot to (TEAM_ID / TEAMS_CHANNEL_ID)
What Microsoft Teams MCP Server (Inditex) can do in Windsurf
start_threadStart a new thread in the configured channel with a title and body, optionally @-mentioning members
update_threadReply to / update an existing thread with a new message, optionally mentioning members
read_threadRead the replies of a specific thread to fetch conversation context
list_threadsList the message threads in the configured channel
list_membersList the members of the team the channel belongs to
get_member_by_nameLook up a team member by name so they can be mentioned
Security
Requires an Azure Bot app registration with a client secret that can read and post in Teams channels; store TEAMS_APP_PASSWORD as a secret and scope the bot to only the intended team/channel. Pin to a versioned image tag rather than latest for reproducible, reviewed deployments.
Microsoft Teams MCP Server (Inditex) + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Microsoft Teams MCP Server (Inditex) config there under the "mcpServers" key and restart the client.
Is Microsoft Teams MCP Server (Inditex) safe to use with Windsurf?
Requires an Azure Bot app registration with a client secret that can read and post in Teams channels; store TEAMS_APP_PASSWORD as a secret and scope the bot to only the intended team/channel. Pin to a versioned image tag rather than latest for reproducible, reviewed deployments.
Is this an official Microsoft server?
No. It is an open-source project from InditexTech (Inditex's tech org), licensed under Apache-2.0. It uses Microsoft's Bot Framework and Graph APIs but is not published by Microsoft.
What authentication does it use?
It authenticates as an Azure Bot via an MS Entra ID app registration — you supply the app's client ID and secret. There is no per-user OAuth flow; the bot acts within the team it has been added to.
Can it post to any channel?
No. It is scoped to a single team and channel set via TEAM_ID and TEAMS_CHANNEL_ID. To target a different channel you change those environment variables.