Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者提供的说明(英文原文)
Read Microsoft Teams teams, channels, chats and messages, and post/reply/send, safe by default.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
TEAMS_CLIENT_ID, TEAMS_TENANT_ID, TEAMS_CLIENT_SECRET, TEAMS_TOKEN, TEAMS_MODE, TEAMS_ALLOW_SEND标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"teams": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-teams"
],
"env": {
"TEAMS_CLIENT_ID": "your-value",
"TEAMS_TENANT_ID": "your-value",
"TEAMS_CLIENT_SECRET": "your-value",
"TEAMS_TOKEN": "your-value",
"TEAMS_MODE": "your-value",
"TEAMS_ALLOW_SEND": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add teams --env TEAMS_CLIENT_ID=your-value --env TEAMS_TENANT_ID=your-value --env TEAMS_CLIENT_SECRET=your-value --env TEAMS_TOKEN=your-value --env TEAMS_MODE=your-value --env TEAMS_ALLOW_SEND=your-value -- npx -y @dockndevai/mcp-teams运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"teams": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-teams"
],
"env": {
"TEAMS_CLIENT_ID": "your-value",
"TEAMS_TENANT_ID": "your-value",
"TEAMS_CLIENT_SECRET": "your-value",
"TEAMS_TOKEN": "your-value",
"TEAMS_MODE": "your-value",
"TEAMS_ALLOW_SEND": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"teams": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-teams"
],
"env": {
"TEAMS_CLIENT_ID": "your-value",
"TEAMS_TENANT_ID": "your-value",
"TEAMS_CLIENT_SECRET": "your-value",
"TEAMS_TOKEN": "your-value",
"TEAMS_MODE": "your-value",
"TEAMS_ALLOW_SEND": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
TEAMS_CLIENT_ID envTEAMS_TENANT_ID envTEAMS_MODE envTEAMS_ALLOW_SEND env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 dockndevai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:TEAMS_CLIENT_SECRET, TEAMS_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于39天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A safe-by-default Model Context Protocol server for Microsoft Teams, over Microsoft Graph. It lets an agent read and operate Teams — list joined teams, channels and members, read channel messages and threaded replies, read 1:1/group chats and their messages, and (in higher modes) post to channels, reply in threads, send chat messages, and soft-delete a message.
Browser sign-in: on first run it opens your browser to the Microsoft sign-in page, then caches the token and refreshes it silently — the server never sees your password.
Part of the dockndevai MCP server suite — one governance model across all of them.
The server starts read-only (see Safe by default); higher-capability tools are only registered when you raise the mode.
| Tool | For | Needs mode |
|---|---|---|
whoami | confirm which account is in use | read-only |
list_teams | teams the user has joined | read-only |
list_channels | channels in a team | read-only |
list_team_members | members of a team | read-only |
list_channel_messages | recent messages in a channel | read-only |
get_channel_message | one channel message + body | read-only |
list_message_replies | a channel message's thread | read-only |
list_chats | the user's 1:1 / group chats | read-only |
list_chat_messages | messages in a chat | read-only |
send_channel_message | post to a channel | read-write + TEAMS_ALLOW_SEND |
reply_channel_message | reply in a channel thread | read-write + TEAMS_ALLOW_SEND |
send_chat_message | send a chat message | read-write + TEAMS_ALLOW_SEND |
delete_channel_message | soft-delete your own message | admin + TEAMS_ALLOW_DELETE |
npx -y @dockndevai/mcp-teams
You need an Entra (Azure AD) app registration. For the default browser sign-in, register a public client and add the redirect URI http://localhost (platform: *Mobile and desktop applications*), then use its Application (client) ID as TEAMS_CLIENT_ID. Grant delegated Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Read.All (and ChannelMessage.Send / Chat.ReadWrite to post). No client secret is needed for interactive use.
{
"mcpServers": { "teams": { "command": "npx", "args": ["-y", "@dockndevai/mcp-teams"], "env": { "TEAMS_CLIENT_ID": "00000000-0000-0000-0000-000000000000", "TEAMS_TENANT_ID": "common", "TEAMS_MODE": "read-only" } } } }
On first use the server opens your browser to sign in and caches the token at ~/.mcp-teams/token.json (0600); later runs refresh silently.
See docs/CLIENTS.md for Claude Code / Cursor / Codex / VS Code / Windsurf snippets, and .env.example for every supported variable.
Auth mode is chosen automatically (override with TEAMS_AUTH):
TEAMS_CLIENT_ID set. Authorization-code + PKCE with a loopback redirect: the browser opens, you approve once, and the access + refresh token are cached on disk. Most Teams messaging APIs are delegated-only, so this is the primary mode. The server never handles your password.TEAMS_CLIENT_SECRET present; the server fetches an app token itself. Note that several Teams message APIs are not available to app-only tokens without protected-API approval from Microsoft.TEAMS_TOKEN set to a pre-obtained Graph bearer token. You manage its lifetime.The access model is enforced by src/security.ts — defence in depth on top of the Graph token's own scopes/roles:
read-only (default) → read-write → admin. A tool is registered only if the mode allows its capability. Read-only exposes the 9 read tools; posting needs read-write; deletes need admin.read-write it also requires this flag.admin mode. Deletes are soft-deletes (recoverable), and only your own messages.TEAMS_ALLOW_SEND / TEAMS_ALLOW_DELETE gates.See SECURITY.md.
npm install
npm run build
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | TEAMS_TOKEN=x node dist/index.js npm test
MIT