MCP server intelligence profile

Teams MCP Server

A Model Context Protocol server that provides AI assistants with access to Microsoft Teams, enabling interaction with teams, channels, chats, and organizational data through Microsoft Graph APIs

Local Onlyfloriscornel
Awaiting current scanNpm · 0.9.0

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
30Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install @floriscornel/teams-mcp from npm

Version 0.9.0 declares 1 executable entrypoint.

npm install --save-exact @floriscornel/teams-mcp@0.9.0
npx -y -p @floriscornel/teams-mcp@0.9.0 @floriscornel/teams-mcp
MCP client configuration example
{
  "mcpServers": {
    "@floriscornel/teams-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "@floriscornel/teams-mcp@0.9.0",
        "@floriscornel/teams-mcp"
      ]
    }
  }
}

Identity

Canonical slugteams-mcp-f32cd3d2DeploymentLocal Only
Canonical packagenpm:@floriscornel/teams-mcpRepositoryfloriscornel/teams-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npm@floriscornel/teams-mcp0.9.012Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npm@floriscornel/teams-mcp0.9.0CurrentSep 5, 202630 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
teams-mcpServer-reported name
1Capability groups
Aug 14, 2026Observed

Tools 30

ToolCategoryAnnotationsRisk
auth_statusCheck the authentication status of the Microsoft Graph connection. Returns whether the user is authenticated and shows their basic profile information.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
create_chatCreate a new chat conversation. Can be a 1:1 chat (with one other user) or a group chat (with multiple users). Group chats can optionally have a topic.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "userEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of user email addresses to add to chat"
    },
    "topic": {
      "description": "Chat topic (for group chats)",
      "type": "string"
    }
  },
  "required": [
    "userEmails"
  ]
}
delete_channel_messageSoft delete a message in a channel. Only the message sender can delete their own messages. The message will be marked as deleted.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to delete"
    },
    "replyId": {
      "description": "Reply ID if deleting a reply to a message (optional)",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId"
  ]
}
delete_chat_messageSoft delete a chat message that was previously sent. Only the message sender can delete their own messages. The message will be marked as deleted but can still be seen as '[This message has been deleted]'.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to delete"
    }
  },
  "required": [
    "chatId",
    "messageId"
  ]
}
download_chat_hosted_contentDownload hosted content (such as images) from a chat message. Returns the content as base64 encoded data along with metadata. Use this to retrieve images or other inline content embedded in chat messages.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID containing the hosted content"
    },
    "hostedContentId": {
      "description": "Specific hosted content ID to download. If not provided, downloads all hosted contents from the message.",
      "type": "string"
    },
    "savePath": {
      "description": "Optional file path to save the content. Supports UNC paths (e.g., \\\\wsl.localhost\\Ubuntu\\tmp\\file.png).",
      "type": "string"
    }
  },
  "required": [
    "chatId",
    "messageId"
  ]
}
download_message_hosted_contentDownload hosted content (such as images) from a Teams channel message. Returns the content as base64 encoded data along with metadata. Use this to retrieve images or other inline content embedded in messages.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID containing the hosted content"
    },
    "replyId": {
      "description": "Reply ID if downloading hosted content from a reply to a message (optional)",
      "type": "string"
    },
    "hostedContentId": {
      "description": "Specific hosted content ID to download. If not provided, downloads all hosted contents from the message.",
      "type": "string"
    },
    "savePath": {
      "description": "Optional file path to save the content. Supports UNC paths (e.g., \\\\wsl.localhost\\Ubuntu\\tmp\\file.png).",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId"
  ]
}
get_channel_message_repliesGet all replies to a specific message in a channel. Returns reply content, sender information, and timestamps.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to get replies for"
    },
    "limit": {
      "default": 20,
      "description": "Number of replies to retrieve (default: 20)",
      "type": "number",
      "minimum": 1,
      "maximum": 50
    },
    "contentFormat": {
      "default": "markdown",
      "description": "Format for message content. \"markdown\" (default) converts Teams HTML to clean Markdown optimized for LLMs. \"raw\" returns original HTML from Graph API.",
      "type": "string",
      "enum": [
        "raw",
        "markdown"
      ]
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId"
  ]
}
get_channel_messagesRetrieve recent messages from a specific channel in a Microsoft Team. Returns message content, sender information, and timestamps.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "limit": {
      "default": 20,
      "description": "Number of messages to retrieve (default: 20)",
      "type": "number",
      "minimum": 1,
      "maximum": 50
    },
    "contentFormat": {
      "default": "markdown",
      "description": "Format for message content. \"markdown\" (default) converts Teams HTML to clean Markdown optimized for LLMs. \"raw\" returns original HTML from Graph API.",
      "type": "string",
      "enum": [
        "raw",
        "markdown"
      ]
    }
  },
  "required": [
    "teamId",
    "channelId"
  ]
}
get_chat_messagesRetrieve recent messages from a specific chat conversation. Returns message content, sender information, and timestamps.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID (e.g. 19:meeting_Njhi..j@thread.v2"
    },
    "limit": {
      "default": 20,
      "description": "Number of messages to retrieve (default: 20, max: 2000)",
      "type": "number",
      "minimum": 1,
      "maximum": 2000
    },
    "since": {
      "description": "Get messages since this ISO datetime",
      "type": "string"
    },
    "until": {
      "description": "Get messages until this ISO datetime",
      "type": "string"
    },
    "fromUser": {
      "description": "Filter messages from specific user ID",
      "type": "string"
    },
    "orderBy": {
      "default": "createdDateTime",
      "description": "Sort order",
      "type": "string",
      "enum": [
        "createdDateTime",
        "lastModifiedDateTime"
      ]
    },
    "descending": {
      "default": true,
      "description": "Sort in descending order (newest first)",
      "type": "boolean"
    },
    "fetchAll": {
      "default": false,
      "description": "Fetch all messages using pagination (up to limit). When true, follows @odata.nextLink to get more messages.",
      "type": "boolean"
    },
    "contentFormat": {
      "default": "markdown",
      "description": "Format for message content. \"markdown\" (default) converts Teams HTML to clean Markdown optimized for LLMs. \"raw\" returns original HTML from Graph API.",
      "type": "string",
      "enum": [
        "raw",
        "markdown"
      ]
    }
  },
  "required": [
    "chatId"
  ]
}
get_current_userGet the current authenticated user's profile information including display name, email, job title, and department.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
get_my_mentionsFind recent messages where the current user was @mentioned across all Teams channels and chats.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "hours": {
      "default": 24,
      "description": "Look back this many hours (max 168 = 1 week)",
      "type": "number",
      "minimum": 1,
      "maximum": 168
    },
    "size": {
      "default": 25,
      "description": "Maximum number of mentions to return",
      "type": "number",
      "minimum": 1,
      "maximum": 100
    },
    "contentFormat": {
      "default": "markdown",
      "description": "Format for message content. \"markdown\" (default) converts Teams HTML to clean Markdown optimized for LLMs. \"raw\" returns original HTML from Graph API.",
      "type": "string",
      "enum": [
        "raw",
        "markdown"
      ]
    }
  }
}
get_userGet detailed information about a specific user by their ID or email address. Returns profile information including name, email, job title, and department.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "description": "User ID or email address"
    }
  },
  "required": [
    "userId"
  ]
}
list_channelsList all channels in a specific Microsoft Team. Returns channel names, descriptions, types, and IDs for the specified team.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    }
  },
  "required": [
    "teamId"
  ]
}
list_chatsList all recent chats (1:1 conversations and group chats) that the current user participates in. Returns chat topics, types, and participant information.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
list_team_membersList all members of a specific Microsoft Team. Returns member names, email addresses, roles, and IDs.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    }
  },
  "required": [
    "teamId"
  ]
}
list_teamsList all Microsoft Teams that the current user is a member of. Returns team names, descriptions, and IDs.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
reply_to_channel_messageReply to a specific message in a channel. Supports text and markdown formatting, mentions, and importance levels.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to reply to"
    },
    "message": {
      "type": "string",
      "description": "Reply content"
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "mentions": {
      "description": "Array of @mentions to include in the reply",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mention": {
            "type": "string",
            "description": "The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"
          },
          "userId": {
            "type": "string",
            "description": "Azure AD User ID of the mentioned user"
          }
        },
        "required": [
          "mention",
          "userId"
        ]
      }
    },
    "imageUrl": {
      "description": "URL of an image to attach to the reply",
      "type": "string"
    },
    "imageData": {
      "description": "Base64 encoded image data to attach",
      "type": "string"
    },
    "imageContentType": {
      "description": "MIME type of the image (e.g., 'image/jpeg', 'image/png')",
      "type": "string"
    },
    "imageFileName": {
      "description": "Name for the attached image file",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId",
    "message"
  ]
}
search_messagesSearch for messages across all Microsoft Teams channels and chats using the Microsoft Search API. The query string supports KQL (Keyword Query Language) syntax for advanced filtering: from:<name> — messages sent by a person (e.g. from:bob) to:<name> — messages sent to a person mentions:<userId> — messages that mention a specific user ID (without dashes) IsMentioned:true — messages that mention the current user hasAttachment:true|false — filter by attachment presence IsRead:true|false — filter by read status sent>=YYYY-MM-DD — messages sent on or after a date sent<=YYYY-MM-DD — messages sent on or before a date Examples: "quarterly report" from:alice sent>=2025-01-01 hasAttachment:true from:bob project update sent>=2025-02-01 Use get_chat_messages or get_channel_messages for browsing a specific conversation.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query string. Supports KQL syntax (see tool description)"
    },
    "from": {
      "default": 0,
      "description": "Offset for pagination (0-based). Use with size to paginate through results",
      "type": "number",
      "minimum": 0
    },
    "size": {
      "default": 25,
      "description": "Number of results to return (max 100)",
      "type": "number",
      "minimum": 1,
      "maximum": 100
    },
    "enableTopResults": {
      "default": true,
      "description": "When true, results are ranked by relevance. When false, results are unranked",
      "type": "boolean"
    },
    "contentFormat": {
      "default": "markdown",
      "description": "Format for message content. \"markdown\" (default) converts Teams HTML to clean Markdown optimized for LLMs. \"raw\" returns original HTML from Graph API.",
      "type": "string",
      "enum": [
        "raw",
        "markdown"
      ]
    }
  },
  "required": [
    "query"
  ]
}
search_usersSearch for users in the organization by name or email address. Returns matching users with their basic profile information.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query (name or email)"
    }
  },
  "required": [
    "query"
  ]
}
search_users_for_mentionsSearch for users to mention in messages. Returns users with their display names, email addresses, and mention IDs.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query (name or email)"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of results to return",
      "type": "number",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ]
}
send_channel_messageSend a message to a specific channel in a Microsoft Team. Supports text and markdown formatting, mentions, and importance levels.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "message": {
      "type": "string",
      "description": "Message content"
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "mentions": {
      "description": "Array of @mentions to include in the message",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mention": {
            "type": "string",
            "description": "The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"
          },
          "userId": {
            "type": "string",
            "description": "Azure AD User ID of the mentioned user"
          }
        },
        "required": [
          "mention",
          "userId"
        ]
      }
    },
    "imageUrl": {
      "description": "URL of an image to attach to the message",
      "type": "string"
    },
    "imageData": {
      "description": "Base64 encoded image data to attach",
      "type": "string"
    },
    "imageContentType": {
      "description": "MIME type of the image (e.g., 'image/jpeg', 'image/png')",
      "type": "string"
    },
    "imageFileName": {
      "description": "Name for the attached image file",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "message"
  ]
}
send_chat_messageSend a message to a specific chat conversation. Supports text and markdown formatting, mentions, and importance levels.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "message": {
      "type": "string",
      "description": "Message content"
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "mentions": {
      "description": "Array of @mentions to include in the message",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mention": {
            "type": "string",
            "description": "The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"
          },
          "userId": {
            "type": "string",
            "description": "Azure AD User ID of the mentioned user"
          }
        },
        "required": [
          "mention",
          "userId"
        ]
      }
    }
  },
  "required": [
    "chatId",
    "message"
  ]
}
send_file_to_channelUpload a local file and send it as a message to a Teams channel. Supports any file type (PDF, DOCX, ZIP, images, etc.). The file is uploaded to the channel's SharePoint folder and sent as a reference attachment. If messageId is provided, the file is sent as a reply to that message (thread).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to the local file to upload"
    },
    "message": {
      "description": "Optional message text to accompany the file",
      "type": "string"
    },
    "fileName": {
      "description": "Optional custom filename (defaults to the original file name)",
      "type": "string"
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    },
    "messageId": {
      "description": "Optional message ID to reply to. When provided, the file is sent as a reply in the message thread instead of a new message.",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "filePath"
  ]
}
send_file_to_chatUpload a local file and send it as a message to a Teams chat. Supports any file type (PDF, DOCX, ZIP, images, etc.). The file is uploaded to OneDrive and sent as a reference attachment.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "filePath": {
      "type": "string",
      "description": "Absolute path to the local file to upload"
    },
    "message": {
      "description": "Optional message text to accompany the file",
      "type": "string"
    },
    "fileName": {
      "description": "Optional custom filename (defaults to the original file name)",
      "type": "string"
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    }
  },
  "required": [
    "chatId",
    "filePath"
  ]
}
set_channel_message_reactionAdd a reaction to a message in a Teams channel. Supports Unicode emoji characters and named reactions (like, angry, sad, laugh, heart, surprised). Can also react to replies.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to react to"
    },
    "reactionType": {
      "type": "string",
      "description": "Reaction type - Unicode emoji (e.g., \"👍\") or named reaction (e.g., \"like\", \"heart\")"
    },
    "replyId": {
      "description": "Reply ID if reacting to a reply (optional)",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId",
    "reactionType"
  ]
}
set_chat_message_reactionAdd a reaction to a message in a chat conversation. Supports Unicode emoji characters and named reactions (like, angry, sad, laugh, heart, surprised).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to react to"
    },
    "reactionType": {
      "type": "string",
      "description": "Reaction type - Unicode emoji (e.g., \"👍\") or named reaction (e.g., \"like\", \"heart\")"
    }
  },
  "required": [
    "chatId",
    "messageId",
    "reactionType"
  ]
}
unset_channel_message_reactionRemove a reaction from a message in a Teams channel. Can also remove reactions from replies.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to remove reaction from"
    },
    "reactionType": {
      "type": "string",
      "description": "Reaction type to remove - Unicode emoji (e.g., \"👍\") or named reaction (e.g., \"like\", \"heart\")"
    },
    "replyId": {
      "description": "Reply ID if removing reaction from a reply (optional)",
      "type": "string"
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId",
    "reactionType"
  ]
}
unset_chat_message_reactionRemove a reaction from a message in a chat conversation.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to remove reaction from"
    },
    "reactionType": {
      "type": "string",
      "description": "Reaction type to remove - Unicode emoji (e.g., \"👍\") or named reaction (e.g., \"like\", \"heart\")"
    }
  },
  "required": [
    "chatId",
    "messageId",
    "reactionType"
  ]
}
update_channel_messageUpdate (edit) a message in a channel that was previously sent. Only the message sender can update their own messages.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "teamId": {
      "type": "string",
      "description": "Team ID"
    },
    "channelId": {
      "type": "string",
      "description": "Channel ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to update"
    },
    "replyId": {
      "description": "Reply ID if updating a reply to a message (optional)",
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "New message content"
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "mentions": {
      "description": "Array of @mentions to include in the message",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mention": {
            "type": "string",
            "description": "The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"
          },
          "userId": {
            "type": "string",
            "description": "Azure AD User ID of the mentioned user"
          }
        },
        "required": [
          "mention",
          "userId"
        ]
      }
    }
  },
  "required": [
    "teamId",
    "channelId",
    "messageId",
    "message"
  ]
}
update_chat_messageUpdate (edit) a chat message that was previously sent. Only the message sender can update their own messages. Supports updating content with text or Markdown formatting, mentions, and importance levels.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "chatId": {
      "type": "string",
      "description": "Chat ID"
    },
    "messageId": {
      "type": "string",
      "description": "Message ID to update"
    },
    "message": {
      "type": "string",
      "description": "New message content"
    },
    "importance": {
      "description": "Message importance",
      "type": "string",
      "enum": [
        "normal",
        "high",
        "urgent"
      ]
    },
    "format": {
      "description": "Message format (text or markdown)",
      "type": "string",
      "enum": [
        "text",
        "markdown"
      ]
    },
    "mentions": {
      "description": "Array of @mentions to include in the message",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mention": {
            "type": "string",
            "description": "The @mention text (e.g., 'john.doe' or 'john.doe@company.com')"
          },
          "userId": {
            "type": "string",
            "description": "Azure AD User ID of the mentioned user"
          }
        },
        "required": [
          "mention",
          "userId"
        ]
      }
    }
  },
  "required": [
    "chatId",
    "messageId",
    "message"
  ]
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Teams MCP Server questions

How do I install Teams MCP Server?

Install the selected package version with: npm install --save-exact @floriscornel/teams-mcp@0.9.0

What tools does Teams MCP Server provide?

Teams MCP Server exposed 30 tools during independent protocol observation, including auth_status, create_chat, delete_channel_message, delete_chat_message, download_chat_hosted_content, download_message_hosted_content, get_channel_message_replies, get_channel_messages, and others.

Is Teams MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.