mcp-teams mcp
v1.1.0 · MCP Tool · communication · registry.pascalai.org
Microsoft Teams via Graph API. Actions: me, teams, team, channels, channel, create_channel, messages, message, send_message, reply, chats, chat, chat_messages, send_chat, members, add_member, remove_member, tabs, files, create_team. Auth via TEAMS_TOKEN env var (Bearer token from Azure AD OAuth2).
teamsmicrosoftchatmessagingoffice365graph-apicommunication
Input Parameters
| Parameter | Type | Description |
| actionrequired |
string |
Action to perform. Auth token is read from TEAMS_TOKEN env var. One of: me, teams, team, channels, channel, create_channel, messages, message, send_message, reply, chats, chat, chat_messages, send_chat, members, add_member, remove_member, tabs, files, create_team. |
| teamIdoptional |
string |
Team ID. Required for: team, channels, channel, create_channel, messages, message, send_message, reply, members, add_member, remove_member, tabs, files. |
| channelIdoptional |
string |
Channel ID. Required for: channel, messages, message, send_message, reply, tabs. |
| messageIdoptional |
string |
Message ID. Required for: message, reply. |
| chatIdoptional |
string |
Chat ID. Required for: chat, chat_messages, send_chat. |
| memberIdoptional |
string |
Membership ID. Required for remove_member. |
| userIdoptional |
string |
User ID or UPN (e.g. user@tenant.com). Required for add_member. |
| contentoptional |
string |
Message body text. Required for send_message, reply, send_chat. |
| contentTypeoptional |
string |
Content type for messages. Default: text. One of: text, html. Default: text. |
| nameoptional |
string |
Channel or team display name. Required for create_channel and create_team. |
| descriptionoptional |
string |
Description for create_channel or create_team. |
| displayNameoptional |
string |
Display name for add_member or create_team owner. |
| limitoptional |
integer |
Max items to return. Default: 50. Default: 50. |
| topoptional |
integer |
OData $top for pagination (overrides limit). |
| skipoptional |
string |
OData $skipToken for pagination (from previous response). |
Output Fields
| Field | Type | Description |
| me |
object |
|
| teams |
object |
|
| team |
object |
|
| channels |
object |
|
| channel |
object |
|
| messages |
object |
|
| message |
object |
|
| reply |
object |
|
| chats |
object |
|
| chat |
object |
|
| members |
object |
|
| member |
object |
|
| tabs |
object |
|
| files |
object |
|
| removed |
boolean |
|
Examples
Send a message to a Teams channel
// Input
{
"action": "send_message",
"teamId": "19:abc123...",
"channelId": "19:xyz456...",
"content": "Deployment complete! All systems green.",
"contentType": "text"
}
// Output
{
"message": {
"id": "msg789"
}
}
List teams the bot/user belongs to
// Input
{
"action": "teams",
"limit": 20
}
// Output
{
"teams": {
"value": []
}
}
List channels in a team
// Input
{
"action": "channels",
"teamId": "19:abc123..."
}
// Output
{
"channels": {
"value": []
}
}
Reply to a channel message
// Input
{
"action": "reply",
"teamId": "19:abc123...",
"channelId": "19:xyz456...",
"messageId": "msg789",
"content": "Thanks for the update!"
}
// Output
{
"reply": {
"id": "reply001"
}
}
Send a direct message in a chat
// Input
{
"action": "send_chat",
"chatId": "19:chat123...",
"content": "Hey, are you available for a quick call?"
}
// Output
{
"message": {
"id": "dm001"
}
}
Install & Discovery
Install
ppm install mcp-teams
Get JSON Schema
GET /v1/packages/mcp-teams/1.1.0/schema
Discover by keyword
GET /v1/mcp/discover?q=teams
Discovery hint: Install with ppm install mcp-teams or invoke remotely via POST /v1/invoke/mcp-teams on the MCP Service.