Teams MCP Server

Teams MCP Server

A TypeScript-based MCP server that enables AI agents to send messages to Microsoft Teams channels via incoming webhooks. It also includes a ping tool for health checks and connection verification.

Category
Visit Server

README

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

Install dependencies from the root of the repository:

npm install

References

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured