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"
]
} | — | | — |