How Wix scaled AI-native work to 5,000 employees with Willow
Read More
Enterprise Connectors
Microsoft Teams logo. Microsoft Teams MCP server connector.

Microsoft Teams MCP Server

Collaborate with Teams channels, messages, meetings, and presence

ToolsTools
30
Last updatedLast Updated
CategoryCategory
All
✓Enterprise-grade security
✓SSO & authentication ready
✓Full governance & audit logs

What is the Microsoft Teams MCP Server?

The Microsoft Teams MCP server gives AI agents structured, permission-aware access to Microsoft Teams through the Model Context Protocol. With 30 pre-built actions, agents can read, create, and update Microsoft Teams data on behalf of authorized users.

Willow ships the Microsoft Teams MCP server as part of an enterprise control plane. Every call runs behind SSO (Okta, Azure AD), enforces RBAC and least-privilege at runtime, writes to a full audit trail, and integrates with Splunk and Loki for SIEM visibility. Connect from Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, n8n, or any custom agent. Install once, distribute org-wide, and see exactly how Microsoft Teams is being used by every AI agent in your stack.

Tools

List Joined Teams

Retrieves all Microsoft Teams that the authenticated user is a member of. This is useful for discovering available teams, getting team IDs for further operations, or showing users their team memberships. Use this as a starting point when you need to work with teams but don't have a specific team ID yet.

Get Team Details

Retrieves detailed information about a specific Microsoft Team, including its display name, description, visibility settings, web URL, and other properties. Use this when you need complete information about a team rather than just basic listing data.

Create Team

Creates a new Microsoft Team. You can create a team from scratch by specifying team properties like display name, description, and visibility. The team is created asynchronously and may take a few moments to fully provision. This operation creates both the team and its associated Microsoft 365 group.

Update Team Settings

Updates the properties and settings of an existing Microsoft Team. You can modify the display name, description, visibility, member permissions, messaging settings, and fun settings. Only specified properties will be updated; unspecified properties remain unchanged.

Archive Team

Archives a Microsoft Team, making it read-only. Archived teams remain visible but users cannot post new messages or make changes. This is useful for preserving historical teams that are no longer actively used. The team can be unarchived later if needed.

List Channels

Retrieves all channels within a Microsoft Team. Channels are sub-spaces within a team where specific topics can be discussed. This returns standard, private, and shared channels. Use this to discover available channels before posting messages or performing other channel operations.

Get Channel Details

Retrieves detailed information about a specific channel within a team, including its display name, description, email address, web URL, and membership type. Use this to get complete channel metadata.

Get Primary Channel

Retrieves the primary (General) channel of a team. Every team has a default General channel that cannot be deleted. This is a convenient way to get the main channel ID without having to list all channels.

Create Channel

Creates a new channel within a Microsoft Team. Channels organize conversations around specific topics. You can create standard channels (visible to all team members), private channels (restricted membership), or shared channels (shared with external organizations). Channel names must be 50 characters or less and cannot contain special characters like # % & * { } / \ : < > ? + | ' ".

Update Channel

Updates the properties of an existing channel within a team. You can modify the display name and description. Note that you cannot change the membership type of an existing channel.

Delete Channel

Deletes a channel from a team. Note that you cannot delete the primary (General) channel. This operation is permanent and cannot be undone. All messages, files, and tabs in the channel will be deleted.

List Channel Messages

Retrieves messages from a channel. This returns top-level messages only (not replies). Messages are returned in chronological order. Use this to read conversation history, monitor channel activity, or search for specific messages. Note: This API may require additional licensing for retrieving historical messages in some scenarios.

Get Message Details

Retrieves a specific message from a channel, including its content, sender information, timestamp, attachments, and reactions. Use this to get the full details of a particular message.

Send Channel Message

Sends a new message to a channel. You can send plain text or HTML-formatted messages. The message content supports mentions, links, and basic formatting. Rate limit: 10 messages per 10 seconds per app per channel. Use this for notifications, automated updates, or bot responses.

List Message Replies

Retrieves all replies to a specific message in a channel. This allows you to follow threaded conversations and see the full context of a discussion.

Reply to Message

Posts a reply to an existing message in a channel. This creates a threaded conversation under the parent message. Replies maintain conversation context and help organize discussions.

Update Message

Edits an existing message in a channel. Only the user who sent the message or a team owner can update it. This is useful for correcting mistakes or updating information in previously sent messages.

List Team Members

Retrieves all members of a team, including their display names, email addresses, roles (owner or member), and user IDs. Use this to see who has access to a team, audit membership, or look up user IDs for further operations.

Add Team Member

Adds a new member to a team. You can specify the user by their Azure AD user ID and assign them either a member or owner role. Owners have full control over the team, while members have standard access. The operation may take a few moments to complete.

Update Member Role

Updates a team member's role, changing them between owner and member status. Team owners have full administrative access to the team, while members have standard collaboration access.

Remove Team Member

Removes a member from a team. The user will lose access to all team channels, conversations, and files. This operation is immediate and cannot be undone, though the user can be re-added later if needed.

List Channel Tabs

Retrieves all tabs in a channel. Tabs provide quick access to documents, apps, and services directly within Teams. Common tab types include files, OneNote, SharePoint, Planner, and custom apps. Note: The native Files tab is not returned by this API.

Add Tab to Channel

Adds a new tab to a channel. Tabs can link to websites, SharePoint documents, OneNote notebooks, or custom applications. You need to specify the Teams app ID for the type of tab you want to create and provide configuration details like the content URL.

Remove Tab

Removes a tab from a channel. This deletes the tab and its configuration but does not delete the underlying content (e.g., removing a SharePoint tab doesn't delete the SharePoint files).

Create Online Meeting

Creates a new Microsoft Teams online meeting. You can specify the meeting subject, start and end times, and whether to allow participants to bypass the lobby. The response includes a join URL that participants can use to join the meeting.

Get Online Meeting

Retrieves details about a specific online meeting, including the join URL, meeting times, participants, and settings. Use this to get information about a previously created meeting.

List User Meetings

Retrieves all online meetings created by the authenticated user. This includes upcoming meetings, past meetings, and recurring meetings. Use this to see a user's meeting schedule or find a specific meeting ID.

Get My Presence

Retrieves the presence information for the authenticated user, including availability status (Available, Busy, Away, BeRightBack, DoNotDisturb, Offline), activity (InACall, InAMeeting, etc.), and any custom status message. Use this to display the user's current status or build presence-aware features.

Get User Presence

Retrieves the presence information for a specific user by their Azure AD user ID. This shows their availability status, current activity, and status message. Useful for checking if someone is available before contacting them or displaying team member status.

Set User Presence

Sets a custom presence status for a user. You can set the availability (Available, Busy, DoNotDisturb, BeRightBack, Away) and optionally specify an expiration time. This is useful for setting automated status updates or integrating with other systems. Note: This sets a session-level presence that can be overridden by the user.

Customize tools

Customize Tools

Edit descriptions, modify arguments, select tools, or add new ones

ReviewEdit descriptions
ConfigureChange arguments
ApproveSelect tools
Create NewAdd tool

Set Up Your Microsoft Teams MCP Server in Minutes

Add the following configuration to your MCP client. Authentication is handled via OAuth. Compatible with Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code, n8n, and any MCP-compatible agent.

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "willow-microsoft-teams": {
      "type": "http",
      "url": "https://<org>.mcp-s.com/mcp/mcp/microsoft-teams"
    }
  }
}

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "willow-microsoft-teams": {
      "type": "http",
      "url": "https://<org>.mcp-s.com/mcp/mcp/microsoft-teams"
    }
  }
}

Claude Code

CLI
claude mcp add willow-microsoft-teams --transport http https://<org>.mcp-s.com/mcp/mcp/microsoft-teams

n8n

HTTP Request Node
{
  "url": "https://<org>.mcp-s.com/mcp/mcp/microsoft-teams",
  "method": "POST"
}

Or click "Install with Willow" above to set up automatically with SSO and RBAC preconfigured.

Enterprise Governance for Microsoft Teams

Willow adds the layer Microsoft Teams and every other SaaS doesn't ship out of the box: every call runs behind SSO (Okta, Azure AD), enforces RBAC and least-privilege at runtime, writes to full audit logs, and detects shadow AI usage across your stack. One MCP gateway. Any agent. Every tool.

Microsoft Teams MCP Server FAQ

What is the Microsoft Teams MCP server?

The Microsoft Teams MCP server is a Model Context Protocol implementation that lets AI agents like Claude, Cursor, and ChatGPT read and write Microsoft Teams data through a standardized interface. Willow hosts and governs this server so enterprises can roll it out without a security review backlog.

How is Willow's Microsoft Teams MCP server different from the official one?

The official Microsoft Teams MCP server is scoped to a single user's account and does not include enterprise governance. Willow's version adds SSO, RBAC, audit logging, shadow AI detection, and centralized control over which actions agents can take across the entire org.

Which AI clients work with the Microsoft Teams MCP server?

Claude Desktop, Claude Code, Cursor, ChatGPT, VS Code with MCP support, n8n, and any custom agent built with OpenAI Agents SDK, LangChain, Vercel AI SDK, or Anthropic SDK.

Is the Microsoft Teams MCP server secure? How does Willow handle authentication?

Every call runs behind your existing SSO (Okta, Azure AD). Per-user OAuth scopes the agent to exactly what that user can do in Microsoft Teams, nothing more. No credentials reach the LLM. Every action writes to an audit trail.

Can I limit which Microsoft Teams actions agents can take?

Yes. Willow lets you scope agents to specific actions, specific projects, or specific environments. Toggle actions on or off in the dashboard, or enforce policy via infrastructure-as-code through GitHub.

How do I detect shadow Microsoft Teams MCP servers in my org?

Willow's browser extension and discovery service surface unmanaged MCP servers, skills, and AI agents across the org. If a developer installed an unapproved Microsoft Teams MCP locally, you'll see it.

What does the Microsoft Teams MCP server cost?

Pricing depends on org size and deployment model (SaaS, dedicated cloud, self-host). See withwillow.ai/pricing or contact sales for a quote.

How do I install the Microsoft Teams MCP server with Willow?

Install via the Willow Connect Panel in one click, or paste the JSON snippet above into your Claude Desktop, Cursor, or Claude Code config. SSO and RBAC inherit from your existing Willow setup.

Compare Willow MCP Gateway

See how Willow stacks up against other MCP platforms on governance, security, and enterprise readiness.

Your agents are already in the wild.

Give them a Basecamp. Go from AI chaos to AI work, in minutes.