Teams MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Teams MCP ServerSend a message to Teams saying the production deployment was successful"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MS Teams Notification MCP (Model Context Protocol) Server
Let's experiment with creating our own MCP server to learn how this technology works in depth.
Here is a settled GitHub Copilot Space for this repository: https://github.com/copilot/spaces/linnienaryshkin/1
Table of contents
Goal
I want to build an MCP server that can be connected from MCP clients such as Cursor or VS Code GitHub Copilot, then send a message to my MS Teams chat through Agent mode.
Theory | The basics
MCP is a protocol for communication between AI agents and tools. It defines a standard way for agents to interact with tools, and for tools to provide information back to agents. MCP is designed to be flexible and extensible, allowing for a wide range of use cases.
Key Terminology
MCP Client: An application that implements the MCP protocol to communicate with an MCP server. Examples include Cursor, VS Code GitHub Copilot, Cloud Desktop, and more.
Contains or orchestrates access to the model
Sends prompts to the LLM
Sends tool requests to the MCP server
LLM (Large Language Model): The model that processes prompts and generates responses.
MCP Server: The server that implements the MCP protocol to handle requests from MCP clients and interact with tools.
Hosts and executes tools
Hosts resources
Hosts reusable prompts
Validates input
Tools, Resources, Prompts
Tools: Functions or APIs that the MCP server can execute on behalf of the MCP client. Tools can perform various tasks, such as fetching data, performing calculations, or interacting with external services.
Name
Description
Input schema
Output schema
Resources: Data or information that the MCP server can provide to the MCP client.
Prompts: Predefined prompts that the MCP server can provide to the MCP client.
Communication | JSON-RPC
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "send_message_to_teams",
"arguments": {
"message": "Hello, MS Teams!"
}
},
"id": 1
}Transport Layer (HTTP, SSE, Streamable HTTP)
Standard HTTP
Request-response model
Best for quick and simple interactions
Limited by latency and connection overhead
Server-Sent Events (SSE)
Unidirectional communication from server to client
Best for real-time updates and notifications
Streamable HTTP
Allows continuous data streaming between client and server
Best for long-running tasks and large data transfers
Currently considered to be the future of MCP communication
Setup
Installation
Install dependencies from the root of the repository:
npm installEnvironment Variables
This project uses environment variables to configure the MCP server. Follow these steps to set up your environment:
Copy the environment template:
cp .env.example .envEdit .env with your configuration:
# Required
TEAMS_WEBHOOK_URL=https://your-organization.webhook.office.com/webhookb2/...
# Optional (defaults shown)
PORT=8787
HOST=127.0.0.1Get your Teams Webhook URL:
Open Microsoft Teams
Go to your target channel → Settings → Connectors
Search for "Incoming Webhook" and select it
Click Configure and give it a name
Copy the webhook URL and paste it in
.envasTEAMS_WEBHOOK_URL
Ensure
.envis not committed (it's already in.gitignore, but double-check for sensitive data)
Building and Running
# Build TypeScript
npm run build
# Run stdio server
node dist/stdio-server/index.js
# Run streamable HTTP server
node dist/streamable-http-server/index.js
# Test Teams integration directly
npm run test:teams -- --message "Hello from integration test"Optional test flags:
# Use an explicit webhook URL
npm run test:teams -- --webhookUrl "https://your-organization.webhook.office.com/webhookb2/..."
# Dry run (validates inputs without sending)
npm run test:teams -- --dryRunNote: The server will fail to start if required environment variables are missing. Check the error message for which variable needs to be set.
References
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/linnienaryshkin/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server