Microsoft Teams API
AI-native Microsoft Teams integration — read chats, send messages, search people
Connector by Maxim-Mazurok · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/maxim-mazurok-teams-api
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 11 read · 4 write · 2 delete
- Secrets
- 4 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 17
Read from the source code; the running server may list different tools.
Read 11 · Look things up without changing anything.
describe-imagefind-chatsfind-conversationfind-one-on-onefind-peopleget-membersget-messagesget-profilesget-transcriptlist-conversationswhoami
Write 4 · Create, change, send or run things.
add-reactiondownload-fileedit-messagesend-message
Delete 2 · Delete, drop, revoke or wipe things.
delete-messageremove-reaction
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
TEAMS_BEARER_TOKENTEAMS_IMAGE_DESCRIPTION_API_KEYTEAMS_SUBSTRATE_TOKENTEAMS_TOKEN
Other settings (environment variables or headers).
TEAMS_AUTOTEAMS_DEBUGTEAMS_EMAILTEAMS_IMAGE_DESCRIPTION_BASE_URLTEAMS_IMAGE_DESCRIPTION_MODELTEAMS_LOGINTEAMS_REGIONTEAMS_TELEMETRYTEAMS_TELEMETRY_PATH
Network hosts it talks to 8
api.openai.com· found in codeas-prod.asyncgw.teams.microsoft.com· found in codeconfig.teams.microsoft.com· found in codegithub.com· found in codeschema.skype.com· found in codestatics.teams.cdn.office.net· found in codesubstrate.office.com· found in codeteams.cloud.microsoft· found in code
Files it touches
/tmp/teams-api-chrome-profile- Your home directory (~)
Tools (17)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add-reactionAdd ReactionAdd a reaction (emoji) to a message. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. Standard reaction keys: "like", "heart", "laugh", "surprised", "angry", "sad". User-friendly names are auto-resolved to Teams emoji IDs (e.g. "horse" → "1f40e_horse").
delete-messageDelete MessageDelete a message from a conversation. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. The message to delete is identified by --message-id.
describe-imageDescribe ImageDescribe an inline Teams image using a configured OpenAI-compatible vision model. Use amsObjectId directly, or identify a message by chat/to/conversationId plus messageId. Set TEAMS_IMAGE_DESCRIPTION_API_KEY or OPENAI_API_KEY before using this tool.
download-fileDownload FileDownload file attachment(s) from a message. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). Specify the message containing the file(s) via --message-id. Use --output-directory to save files to a specific directory. Without --output-directory, files are saved to a temporary directory. Text file contents and images are returned inline in the response. Other binary files (PDFs, videos, archives, etc.) are saved to disk only; the response reports the local save path.
edit-messageEdit MessageEdit an existing message in a conversation. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. The message to edit is identified by --message-id. Content is interpreted as Markdown by default and converted to rich HTML.
find-chatsFind ChatsSearch for chats by name or member name. Uses the Substrate search API (requires authentication via auto-login or interactive). Returns matching chats with member lists and thread IDs.
find-conversationFind Teams ConversationFind a conversation by topic name (case-insensitive partial match). When Substrate search is available, also matches by member names. For 1:1 chats (which have no topic), use find-one-on-one instead. Use the returned conversation ID for subsequent operations like get-messages or send-message.
find-one-on-oneFind 1:1 ConversationFind or create a 1:1 conversation with a person by name. Uses Substrate people/chat search when available — if a conversation already exists it is returned; if the person is found in the org directory but no chat exists yet, a new 1:1 is started. Falls back to scanning message senders when Substrate is unavailable. Also finds the self-chat if the name matches the current user.
find-peopleFind PeopleSearch for people in the organization directory by name. Uses the Substrate search API (requires authentication via auto-login or interactive). Returns matching people with emails, job titles, and departments.
get-membersGet Conversation MembersList members of a conversation. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. Display names are resolved via the Teams profile API when available, with message history as fallback. Note: 1:1 chat members may have empty display names if profile resolution is unavailable.
get-messagesGet MessagesGet messages from a conversation. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. For channel threads, provide --message-id to read replies under a specific post. Messages include reactions, mentions, followers (thread subscribers), and quoted message references.
get-profilesGet User ProfilesGet Teams profiles for one or more people by MRI. Returns display name, email, job title, office location, and user type.
get-transcriptGet Meeting TranscriptGet the meeting transcript from a conversation that contains a recorded meeting. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). Use --raw-vtt to get the original VTT file instead of parsed output.
list-conversationsList Teams ConversationsList conversations (chats, group chats, meetings, channels). Returns conversation ID, topic, type, and last message time.
remove-reactionRemove ReactionRemove a reaction (emoji) from a message. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. Only removes the current user's reaction of the specified type. User-friendly names are auto-resolved to Teams emoji IDs (e.g. "horse" → "1f40e_horse").
Show 2 more tools
send-messageSend MessageSend a message to a conversation. Identify the conversation by topic name (--chat), person name for 1:1 chats (--to), or direct ID (--conversation-id). At least one identifier is required. For channel thread replies, provide --message-id to reply under a specific post. Content is interpreted as Markdown by default and converted to rich HTML. To send images, provide file paths via --image. To send file attachments (documents, videos, etc.), provide file paths via --file. Use [image] placeholders in --content to interleave text and images (e.g. --content 'Before [image] after [image] done' --ima…
whoamiCurrent User InfoGet the display name and region of the currently authenticated user.
Signals
- Stars
- 8
- Forks
- 5
- Open issues
- 2
- Last commit
- Oct 20, 2026 (8 days ago)
- Last release
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.Maxim-Mazurok/teams-api- Version
- 1.7.1
- Auth
- API key
- Packages
- npm teams-api
- License
- MIT
- Repository
- github.com/Maxim-Mazurok/teams-api
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from Maxim-Mazurok
Cite this page
Microsoft Teams API MCP server. Agent Mart. https://agentmart.dev/connectors/maxim-mazurok-teams-api (last updated 2026-10-24)