Skip to main content
Glama
therealjohn

Microsoft Teams MCP Server

by therealjohn

microsoft-teams-mcp MCP 服务器

带有 Microsoft Teams 聊天通知工具的 MCP 服务器。

[!警告]
这仅供参考,并未使用 VS Code 以外的 MCP 客户端进行测试。

成分

工具

服务器实现了一个工具:

  • send-notification:向 Microsoft Teams 发送通知消息

    • 将“消息”和“项目”作为必需的字符串参数

    • 支持 Markdown 格式的消息

    • 使用 Azure AD 身份验证与 Teams 进行安全通信

Related MCP server: Toast MCP Server

配置

这需要使用 Microsoft Teams 机器人来发送通知。您可以使用我使用Teams Toolkit创建的示例通知机器人

服务器需要设置以下环境变量:

  • BOT_ENDPOINT :你的 Microsoft Teams 机器人的 URL 端点

  • MICROSOFT_APP_ID :来自 Azure AD 应用注册的应用程序(客户端)ID

  • MICROSOFT_APP_PASSWORD :来自 Azure AD 应用注册的客户端机密

  • MICROSOFT_APP_TENANT_ID :您的 Azure AD 租户 ID

  • EMAIL :接收通知的用户的电子邮件地址

您可以在项目根目录中的.env文件中设置这些。

快速入门

安装

VS 代码

这是使用 VS Code 中的 MCP 支持进行的测试,在创建时仅在 VS Code Insiders 中可用。

将其添加到 VS Code Insiders 设置(JSON)

"mcp": {
  "inputs": [],
  "servers": {
      "MicrosoftTeams": {
          "command": "uv",
          "args": [
              "--directory",
              "<path/to/the/project>/microsoft-teams-mcp",
              "run",
              "microsoft-teams-mcp"
          ],
          "env": {
              "BOT_ENDPOINT": "<endpoint or dev tunnel URL of Teams bot>/api/notification",
              "MICROSOFT_APP_ID": "<microsoft-entra-client-id>",
              "MICROSOFT_APP_PASSWORD": "<microsoft-entra-client-secret>",
              "MICROSOFT_APP_TENANT_ID": "<microsoft-entra-tenant-id>",
              "EMAIL": "<your-email-in-teams>",
          }
      }
  }
    }

发展

建筑

准备分发包:

  1. 同步依赖项并更新锁文件:

uv sync
  1. 构建软件包分发版:

uv build

Available Tools

1 tool
send-notificationC

Send a notification message to the user. Supports markdown formatting for messages. Use backticks for code blocks and inline code. Use square brackets for placeholders.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes
projectYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions markdown formatting support, which adds some behavioral context about message handling. However, it lacks details on delivery mechanisms, user targeting, error handling, or response format, leaving significant gaps for a notification-sending tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose. The formatting details are relevant but could be more efficiently integrated. No wasted sentences, though it could be slightly more structured for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, 0% schema coverage, and no output schema, the description is incomplete. It covers message formatting but misses parameter explanations, behavioral traits like delivery guarantees, and expected outcomes. For a tool with two required parameters, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does not explain the 'message' or 'project' parameters at all—no semantics, examples, or constraints. The formatting advice applies generally to messages but doesn't clarify parameter roles or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Send a notification message to the user.' It specifies the action (send) and resource (notification message), though it doesn't distinguish from siblings since none exist. The mention of markdown formatting adds specificity about message capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It only describes formatting features (markdown, backticks, square brackets) without contextual usage advice. Since there are no sibling tools, this is less critical but still a gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedsend-notification

TDQS

C2.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'send-notification' has a clear and singular purpose, making it impossible for an agent to misselect between tools.

Naming Consistency5/5

The single tool name 'send-notification' follows a consistent verb-noun pattern. Since there is only one tool, there is no inconsistency to evaluate, and the naming is straightforward and predictable.

Tool Count2/5

A single tool is too few for a server named 'Microsoft Teams MCP Server', which suggests a broader domain like messaging, collaboration, or team management. This minimal set likely leaves significant gaps in functionality, making it inappropriate for the implied scope.

Completeness1/5

The tool set is severely incomplete for a Microsoft Teams server. It only covers sending notifications, missing essential operations such as reading messages, managing channels, handling meetings, or interacting with users, which are core to the Teams domain and will cause agent failures.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that displays desktop notifications on Windows 10 and macOS, compatible with VSCode Cline and supporting customizable notification parameters.
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that bridges Microsoft Teams and MCP-compatible clients, enabling chat integration, message handling, and advanced search capabilities without REST API endpoints.
    1
    -
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables sending data to webhooks via HTTP POST for both local and remote team environments. It provides a tool for relaying task descriptions, custom metadata, and automated notifications to external services.
    4 npm
    -