Skip to main content
Glama
README.md
# gh-triage-mcp

Three MCP tools for GitHub issue triage. TypeScript. Stdio.

Most GitHub MCPs wrap REST 1:1 and dump the JSON. Same pass rate, much more context. [HN measured 5×](https://news.ycombinator.com/item?id=48407391) on that pattern. This server returns what the next call needs: `number`, `owner`, `repo`, a short body, a suggested action.

`draft_comment` does not POST unless `confirm=true`.

## Tools

| Tool | Returns | Writes? |
| --- | --- | --- |
| `search_issues` | short list + `next.owner` / `next.repo` | no |
| `summarize_issue` | that plus last five comments | no |
| `draft_comment` | the draft; posts only with `confirm` | gated |

## Eval

Twenty synthetic issues. Shaped vs raw dump.

| | Next call fillable | ~tokens |
| --- | --- | --- |
| raw REST | 0/20 | 12350 |
| this server | 20/20 | 4227 |

2.92× fewer tokens. Not a model score. `npm run eval` fails the build if that ratio collapses.

Failure modes: [`evals/failure_modes.md`](evals/failure_modes.md).

## Run

```bash
npm install
npm test
npm run eval
npm run build
```

```json
{
  "mcpServers": {
    "gh-triage": {
      "command": "node",
      "args": ["/absolute/path/to/gh-triage-mcp/dist/index.js"],
      "env": { "GITHUB_TOKEN": "ghp_..." }
    }
  }
}
```

Node 20+. Token optional for public read; required to comment.

## Demo

Live: https://01a05643-d6bf-7a9d-9634-4f367e3a2682.skydive.app/gh_triage_mcp

```bash
pip install -r requirements.txt
streamlit run app.py
```

Does not call GitHub. Side-by-side dump vs shaped payload.

Not in this repo: labels, assignees, closing, projects. Use [github/github-mcp-server](https://github.com/github/github-mcp-server) if you need the kitchen sink.

MIT. Ashley Gross, 2026.

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: search_issues finds issues, summarize_issue loads details and comments, and draft_comment creates a proposed response. There is no meaningful overlap or ambiguous boundary between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: search_issues, summarize_issue, draft_comment. The naming style is uniform and predictable across the entire server.

Tool Count5/5

Three tools form a tight, well-scoped set for an issue triage workflow: find, understand, and draft a response. The count is neither too sparse nor excessive for the stated purpose.

Completeness5/5

The server covers the full triage lifecycle: discovering relevant issues, reading issue context with comments, and drafting a comment with optional posting. There are no obvious dead ends for the intended use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues