microsoft
teams.
Where the person can read and post in Microsoft Teams.
setup & usage
on the "Teams" card, click Authorize Teams and choose your work account. Nothing else to install or register. The account itself is the "Microsoft 365 account" connector: Teams borrows it and only adds its own permissions (your teams and channels, posting in a channel, your chats).
Microsoft lets a person authorize alone everything above, except reading the messages of a channel: that permission (ChannelMessage.Read.All) can only be granted by a Microsoft 365 administrator of the organization, once for everyone.
microsoft_admin_consent(services=["teams"]) gives the same link (valid seven days), for the account's directory or the one you name in tenantteams_spaces(op=teams|channels|chats) (where you can read and post) and teams_message(op=list|replies|post|reply), on a channel (team_id + channel_id) or a chat (chat_id), under the account the call names (_account=), otherwise the default one.
teams_spaces(); "the channels of Sales" → teams_spaces(op="channels", team_id="…"); "my chats" → teams_spaces(op="chats")teams_message(chat_id="…")teams_message(team_id="…", channel_id="…") (administrator's approval needed), and a thread → op="replies" with message_idteams_message(op="post", team_id="…", channel_id="…", body="…"); "answer in that thread" → op="reply" with message_id; in a chat → op="post" with chat_idbody is written in markdown and posted as formatted text; each message comes back as text (full=true for the complete Microsoft Graph object)op="post"list returns its root messages only; the replies of one are op="replies"19:…@thread.tacv2: pass them exactly as returnedteams, channels, chats: list them, read messages (channels with the administrator's approval), post, reply in a channel thread. Nothing creates a team or a channel, adds a member, edits or deletes a message, or reads files shared in Teams (those are in SharePoint: the "SharePoint & OneDrive" connector).
this connector accepts multiple comptes: connecting with another compte adds it alongside the others, named by its address; reconnecting with the same one replaces its own.
_account="<name>" on the tool; list them: oto_identity(op='list', connector='teams')oto_identity(op='set', connector='teams', identity_id='<name>')_account) and adding upoutils
utilisation
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.pipx install oto-cli puis oto teams …