Skip to main content
Glama
mcp-server
by Ezzeay

#MCP Server

Production-ready TypeScript Model Context Protocol (MCP) server exposing utility, GitHub, and Microsoft Teams tools over stdio.

Why this repository

  • Clean MCP server baseline for internal automation and integrations

  • GitHub and Microsoft Teams operational tooling in a single service

  • Strict TypeScript setup and minimal runtime surface

Related MCP server: Basic MCP Server

Feature overview

Utility

  • echo

  • get_time

GitHub tools

  • github_status

  • github_authenticated_user

  • github_list_repos

  • github_create_issue

  • github_list_issues

  • github_get_file

  • github_create_pull_request

  • github_request

Microsoft Teams tools

  • teams_send_message (webhook)

  • teams_send_card (adaptive card webhook)

  • teams_graph_status (Graph API)

  • teams_send_dm (Graph API)

Requirements

  • Node.js 20+

  • npm 10+

Quick start (Windows)

cd mcp-server
npm install
copy .env.example .env

Populate .env before running.

Environment variables

Required for GitHub tools

  • GITHUB_TOKEN

Optional for Teams webhook tools

  • TEAMS_WEBHOOK_URL

Optional for Teams Graph tools

  • TEAMS_TENANT_ID

  • TEAMS_CLIENT_ID

  • TEAMS_CLIENT_SECRET

Scripts

  • npm run dev — development mode with tsx

  • npm run build — compile to dist/

  • npm run start — run compiled server

  • npm run clean — remove dist/

  • npm run inspect — open MCP inspector

Run modes

Development:

npm run dev

Build + run:

npm run build
npm run start

MCP stdio command:

node dist/index.js

Security and compliance

  • Do not commit .env or secrets

  • Use least-privilege credentials for GitHub and Microsoft Graph

  • Review SECURITY.md before production use

Contributing

See CONTRIBUTING.md and CODE_OF_CONDUCT.md.

License

Distributed under the MIT License. See LICENSE.

Available Tools

14 tools
echoEchoA

Returns exactly the text you send

Inputs: text (required).

get_timeGet TimeA

Returns the current server time in ISO format

Inputs: no named parameters.

github_authenticated_userGitHub Authenticated UserA

Returns the currently authenticated GitHub account

Inputs: no named parameters.

github_create_issueGitHub Create IssueC

Creates a GitHub issue in a repository

Inputs: repo (required), owner (required), title (required), body.

github_create_pull_requestGitHub Create Pull RequestC

Opens a pull request on a GitHub repository

Inputs: base (required), head (required), repo (required), owner (required), +2 more.

github_get_fileGitHub Get FileB

Reads a file from a GitHub repository and returns its content as text

Inputs: path (required), repo (required), owner (required), ref.

github_list_issuesGitHub List IssuesC

Lists open issues for a given repository

Inputs: repo (required), owner (required), state, per_page.

github_list_reposGitHub List RepositoriesC

Lists repositories for the authenticated GitHub user

Inputs: page, per_page, visibility.

github_requestGitHub Raw RequestB

Sends a raw authenticated request to GitHub REST API. Use with caution.

Inputs: path (required), method (required), paramsJson.

github_statusGitHub StatusA

Checks whether GitHub token is loaded and authentication works

Inputs: no named parameters.

teams_graph_statusTeams Graph StatusA

Checks whether Microsoft Graph credentials are configured and working

Inputs: no named parameters.

teams_send_cardTeams Send Adaptive CardC

Sends a rich Adaptive Card message to a Teams channel (title + body + optional link)

Inputs: body (required), title (required), link_url, link_label.

teams_send_dmTeams Send Direct MessageB

Sends a direct message (DM) to a specific Teams user by their email address

Inputs: message (required), recipient_email (required).

teams_send_messageTeams Send MessageB

Sends a plain text message to a Microsoft Teams channel via incoming webhook

Inputs: text (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool targets a distinct function: utilities (echo, get_time), GitHub operations (create, list, read, status), and Teams messaging (send, status). The raw github_request is a fallback, but its distinct purpose is clear.

    Naming Consistency3/5

    Tools use three different prefixes (none, github_, teams_), and within each, naming is mixed: verb_noun (create_issue, send_message) vs. noun-like (authenticated_user, status). The pattern is not fully consistent.

    Tool Count5/5

    14 tools cover three distinct domains (utilities, GitHub, Teams) without being overwhelming. Each tool serves a clear purpose, and the count feels well-scoped for a multi-service integration.

    Completeness3/5

    For GitHub, common operations are present but missing updates/deletes and PR merging. For Teams, only sending is available (no reading, listing). The utilities are minimal. Notable gaps exist, but core workflows are covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A demonstration MCP server built in TypeScript that shows how to implement stdio-based communication for integration with MCP clients. Serves as a template for building custom MCP servers with strong typing and maintainability.
      ISC
    • F
      license
      B
      quality
      D
      maintenance
      A basic TypeScript implementation of the Model Context Protocol (MCP) server designed as a starting point for MCP development. Provides a minimal foundation for building custom MCP servers with stdio configuration for local integration with VS Code and GitHub Copilot.
      1
      -
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      A production-ready TypeScript MCP server providing basic tools (add, echo, timestamp), resources (server info, greetings, data access), and prompt templates (analyze, code-review, summarize). Serves as a foundation for building custom MCP servers with extensible architecture.
      512 npm
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A unified MCP server with composable tools for GitHub operations, file management, shell execution, kanban boards, Discord messaging, and package management. Features role-based security, HTTP/stdio transports, and a web-based development UI.
      GPL 3.0