teams-mcp Chat.* tools 403: the account needs a Teams license, not more scopes
Fixes teams-mcp chat tools 403ing even with correct Graph scopes. Use when Chat.* endpoints fail but other Graph calls work. Not for scope or token errors.
teams-mcp Chat.* tools 403: the account needs a Teams license, not more scopes
TL;DR: Assign a Microsoft Teams license to the calling account; unlicensed service accounts get 403 on Chat.* endpoints. The error text talks about permissions, which misleads you into debugging scopes. Verify licensing before touching the OAuth scopes.
The error
403 Forbidden on teams-mcp Chat.* tools (get_chat_messages, send_chat_message) with error text mentioning permissionsFix it
Check the account licenses (admin portal or az ad user show). Expected: No Teams license is assigned.
Assign a Teams license to the account. Expected: The license shows as active.
Wait a few minutes for provisioning, then retry the chat tool. Expected: It succeeds.
When this applies
teams-mcp Chat.* tools 403 while user and team reads work, on an account without a Teams license.
When this does NOT apply
If everything 403s, the token or scopes are wrong. If auth fails, fix login first.
Tool compatibility
@floriscornel/teams-mcp, Microsoft Graph
Also seen as
- teams MCP 403 chat
- Graph Chat endpoint forbidden license
- teams-mcp sendchatmessage 403
Why it happens
Microsoft Graph gates Chat.* endpoints on the Teams license, not just OAuth scopes. The 403 body mentions permissions, so it looks like a scope problem, but no scope fixes a missing license.
Edge cases
- Service accounts are the usual victims; license them like users.
- Channel message endpoints have their own license checks.
- License changes can take up to 24h in rare cases.