MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

G
Github Issue MCP Server

MCP server by Helianthusay7

Created 6/9/2026
Updated about 6 hours ago
Repository documentation and setup instructions

GitHub Issue MCP Server

A small Model Context Protocol server for working with GitHub issues from MCP-compatible clients.

It exposes GitHub Issue operations as structured MCP tools over stdio. The server does not store data locally; every tool call goes through the GitHub REST API.

Features

  • List repository issues
  • Get one issue
  • Search issues with GitHub search syntax
  • Create issues
  • Comment on issues
  • Update title, body, labels, assignees, milestone, and state
  • Add labels without replacing existing labels
  • Remove a label

Requirements

  • Node.js 20+
  • A GitHub token in GITHUB_TOKEN

For private repositories or write operations, create a fine-grained personal access token with the minimum repository permissions you need:

  • Issues: read/write
  • Metadata: read

Install

npm install
npm run build

Run Locally

$env:GITHUB_TOKEN = "github_pat_..."
npm run dev

The server speaks MCP over stdio, so it is usually launched by an MCP client instead of run by hand.

MCP Client Config

Example config:

{
  "mcpServers": {
    "github-issues": {
      "command": "node",
      "args": ["C:\\Users\\you\\github-issue-mcp-server\\dist\\index.js"],
      "env": {
        "GITHUB_TOKEN": "github_pat_..."
      }
    }
  }
}

For GitHub Enterprise Server, set GITHUB_API_URL:

{
  "mcpServers": {
    "github-issues": {
      "command": "node",
      "args": ["C:\\Users\\you\\github-issue-mcp-server\\dist\\index.js"],
      "env": {
        "GITHUB_TOKEN": "github_pat_...",
        "GITHUB_API_URL": "https://github.example.com/api/v3"
      }
    }
  }
}

Tools

list_issues

Lists issues for a repository. GitHub's issues API also returns pull requests, so this tool filters pull requests out by default.

{
  "owner": "modelcontextprotocol",
  "repo": "typescript-sdk",
  "state": "open",
  "labels": ["bug"],
  "per_page": 20
}

get_issue

Gets one issue by number.

{
  "owner": "owner",
  "repo": "repo",
  "issue_number": 123
}

search_issues

Searches issues using GitHub's search query syntax.

{
  "q": "repo:owner/repo is:issue is:open label:bug updated:>=2026-06-01",
  "per_page": 10
}

create_issue

Creates a new issue.

{
  "owner": "owner",
  "repo": "repo",
  "title": "Login fails on expired session",
  "body": "Steps to reproduce...",
  "labels": ["bug"]
}

comment_issue

Adds a comment.

{
  "owner": "owner",
  "repo": "repo",
  "issue_number": 123,
  "body": "Thanks for the report. I can reproduce this on main."
}

update_issue

Updates issue fields or state.

{
  "owner": "owner",
  "repo": "repo",
  "issue_number": 123,
  "state": "closed",
  "state_reason": "completed"
}

add_labels

Adds labels without replacing existing labels.

{
  "owner": "owner",
  "repo": "repo",
  "issue_number": 123,
  "labels": ["triaged", "help wanted"]
}

remove_label

Removes one label.

{
  "owner": "owner",
  "repo": "repo",
  "issue_number": 123,
  "label": "needs reproduction"
}

Development

npm run typecheck
npm run build

Avoid logging to stdout because MCP stdio transport uses stdout for protocol messages. Use stderr for diagnostics.

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-github-issue-mcp-server

Cursor configuration (mcp.json)

{ "mcpServers": { "helianthusay7-github-issue-mcp-server": { "command": "npx", "args": [ "helianthusay7-github-issue-mcp-server" ] } } }