Connect
Optimize
Secure
Announcing StackOne Defender: leading open-source prompt injection guard for your agent • Read More →
Production-ready Microsoft Teams MCP server with 62 extensible actions — plus built-in authentication, security, and optimized execution.
Coverage
Create, read, update, and delete across Microsoft Teams — and extend your agent's capabilities with custom actions.
Authentication
Per-user OAuth in one call. Your Microsoft Teams MCP server gets session-scoped tokens with zero credentials stored on your infra.
Agent Auth →Security
Every Microsoft Teams tool response scanned for prompt injection in milliseconds — 88.7% accuracy, all running on CPU.
Prompt Injection Defense →Performance
Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Microsoft Teams call.
Tools Discovery →A Microsoft Teams MCP server lets AI agents read and write Microsoft Teams data through the Model Context Protocol — Anthropic's open standard for connecting LLMs to external tools. StackOne's Microsoft Teams MCP server ships with 62 pre-built actions, fully extensible via the Connector Builder — plus managed authentication, prompt injection defense, and optimized agent context. Connect it from MCP clients like Claude Desktop, Cursor, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.
Every action from Microsoft Teams's API, ready for your agent. Create, read, update, and delete — scoped to exactly what you need.
Create a new user account in the organization with the specified properties
Retrieve a list of user objects. By default, returns a limited set of properties (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName). Use $select to specify alternative properties.
Retrieve the properties and relationships of a specific user by their ID or userPrincipalName. By default, only a limited set of properties are returned (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName). Use the select parameter to return an alternative property set.
Delete a specific user from the organization by their ID or userPrincipalName
Create a new team from a template or from an existing group
Create a copy of a team with specified parts
Retrieve a list of all teams in an organization using the direct teams endpoint
Retrieve the properties and relationships of a specific team by its ID
Update the properties of the specified team
Delete a team and move it to the recycle bin for 30 days
Add a member to a team
Get the conversationMember collection of a team
Get a conversationMember from a team
Remove a member from a team
Add multiple members to a team in a single request
Remove multiple members from a team in a single request
Create a new channel in a team, as specified in the request body
Retrieve the list of channels in a team
Retrieve the properties and relationships of a channel
Update the properties of the specified channel
Delete a specific channel from a team. Deleting a channel is a permanent operation that cannot be undone.
Retrieve the list of tabs in the specified channel within a team
Retrieve the properties and relationships of a specified tab in a channel within a team
Remove (unpin) a tab from the specified channel within a team
Add a conversationMember to a channel
Get a list of members in a channel, including direct members of standard, private, and shared channels
Get a conversationMember from a channel
Delete a conversationMember from a channel
Send a new message to a specific channel. Only the body property is mandatory.
Retrieve the list of messages (without the replies) in a channel of a team
Retrieve a single message or a message reply in a channel
Update an existing message in a channel using delegated permissions
Soft-delete a message in a channel
Send a reply to a specific message in a channel. Only the body property is mandatory.
Retrieve a specific reply to a message in a channel
Send a new message to a specific chat. Only the body property is mandatory.
Retrieve all messages in a specific chat. Supports $top (max 50), $orderby (lastModifiedDateTime or createdDateTime in descending order), and $filter query parameters.
Retrieve a specific message in a chat by its ID
Soft-delete a message in a chat
Create a new chat with specified members. Supports one-on-one and group chats. Only one one-on-one chat can exist between two members.
Retrieve all chats that the authenticated user is a participant in. Supports $expand, $top, $filter, and $orderby query parameters.
Retrieve the properties and relationships of a specific chat
Update the properties of a chat object. This can only be used to set the topic for a chat with a chatType value of group. Maximum length is 250 characters. Use of ':' is not allowed.
Delete a chat object. This operation is permanent and cannot be undone.
Add a conversationMember to a chat
Retrieve all members in a specific chat. This operation does not support OData query parameters to customize the response.
Retrieve a single conversationMember from a chat.
Remove a conversationMember from a chat.
Retrieve the properties and relationships of the currently authenticated user
Get the list of channels either in this team or shared with this team (incoming channels)
Get the list of incoming channels (channels shared with a team)
Get the default channel, General, of a team
Get the metadata for the location where the files of a channel are stored
Get a list of all members in a channel, including direct and indirect members
Retrieve messages across all channels in a team, including text, audio, and video conversations
Retrieve all replies to a specific message in a channel. Supports $top and $expand OData query parameters.
Change the password for the authenticated user. The user must provide their current password and the new password.
Archive a team to prevent most changes while maintaining membership
Restore an archived team to active state
Archive a channel in a team
Restore an archived channel in a team
Undo soft deletion of a single chat message or a message reply in a channel or a chat
One endpoint. Any framework. Your agent is talking to Microsoft Teams in under 10 lines of code.
MCP Clients
Agent Frameworks
{
"mcpServers": {
"stackone": {
"command": "npx",
"args": [
"-y",
"mcp-remote@latest",
"https://api.stackone.com/mcp?x-account-id=<account_id>",
"--header",
"Authorization: Basic <YOUR_BASE64_TOKEN>"
]
}
}
}Anthropic's code_execution processes data already in context. Custom MCP code mode keeps raw tool responses in a sandbox. 14K tokens vs 500.
11 min
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
origin_owner_id.All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.