Skip to main content
Glama

triage-mcp

An MCP server over my ai-triage-agent queue. A local LLM classifies support tickets and drafts replies, a human approves or rejects every one, and this server lets any MCP-capable AI client read that queue and the decision log.

It answers questions like "whats waiting for review?" or "what did I reject this week and why?" straight from the files the agent writes. Four tools, all read-only. The model can look at the queue but it cant approve, reject or send anything.

Tools

Tool

What it does

queue_status()

Counts for inbox, pending review by priority, outbox and logged decisions

pending_items(priority)

Tickets waiting for review, most urgent first, optional priority filter

recent_decisions(limit)

Latest human decisions from the audit log, newest first

search_decisions(query)

Search the decision log by id, outcome, category, priority or reject reason

Related MCP server: Ticket Queue MCP Server

Setup

pipx install triage-mcp

uvx triage-mcp works too if you prefer no install. Hacking on a clone instead:

python3 -m venv .venv
.venv/bin/pip install mcp

It reads ~/aiProjects/aminWork/automation-portfolio/ai-triage-agent/. Point TRIAGE_DATA_DIR at your own data folder if your copy lives somewhere else.

Wire it into Claude Code:

claude mcp add triage -- triage-mcp

Running from a clone, point it at the venv instead:

claude mcp add triage -- /path/to/triage-mcp/.venv/bin/python /path/to/triage-mcp/triage_mcp.py

Demo

What it looks like from Claude Code:

> anything urgent sitting in the triage queue?

⏺ triage · pending_items()

  2 pending item(s):
  demo-014 P1 security_incident -> security-team (high): User entered their password on a fake helpdesk link and asks what to do next.
  demo-017 P3 software_issue -> service-desk (medium): Spreadsheet app crashes when opening one monthly report file.

⏺ One P1. demo-014 looks like a phishing hit and is routed to security.
  Id review that one first. The Excel crash can wait.

The tickets above are demo data. The format is exactly what the server returns.

Design notes

  • Read-only by construction. No tool writes to the queue, the outbox or the log. Approving stays in review.py with a human at the keyboard.

  • Only metadata crosses the protocol. Ticket bodies, extracted entities and reply text never leave the server. Summaries and reject reasons are cut to 100 characters with emails and home paths masked.

  • Small on purpose. One file, standard library plus the mcp SDK.

Honest notes

  • It only reads what ai-triage-agent has already written. With an empty pending/ folder most answers are zeros, which is normal between triage runs.

  • The masking is regex based. It catches emails and home paths, not names written into a summary.

  • All ticket content in the demo and the tests is made up. The logic is tested against a synthetic queue in test_server.py. Run python test_server.py.

About

Al Amin Bashir Afara, Dubai · github.com/aminafara123 · linkedin.com/in/aminafara

Available Tools

4 tools
pending_itemsB
Read-onlyIdempotent

Tickets waiting for human review, most urgent first, with category, route, model confidence and a short summary. Optional priority filter like "P1".

Inputs: priority. Returns: result

queue_statusB
Read-onlyIdempotent

Counts across the pipeline: inbox, pending review by priority, outbox, and logged decisions by outcome.

Inputs: no named parameters. Returns: result

recent_decisionsB
Read-onlyIdempotent

The latest human decisions from the audit log, newest first: what the AI proposed and whether the reviewer approved, edited or rejected.

Inputs: limit. Returns: result

search_decisionsB
Read-onlyIdempotent

Case-insensitive search over the decision log by ticket id, outcome, AI category, priority or reject reason.

Inputs: query (required). Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 4 tools

    Disambiguation4/5

    Each tool has a distinct primary purpose: queue_status gives counts, pending_items lists reviewable tickets, recent_decisions browses the audit log, and search_decisions queries that same log. There is mild overlap between queue_status/pending_items and between recent_decisions/search_decisions, but the descriptions clearly separate them.

    Naming Consistency4/5

    All names use consistent snake_case and follow a two-part modifier+noun pattern (queue_status, pending_items, recent_decisions, search_decisions). The only minor deviation is search_decisions using a verb_noun form while the others are noun/noun or adjective/noun.

    Tool Count5/5

    Four tools is well-scoped for a read-oriented triage inspection/audit server. Each tool covers a distinct facet (status counts, pending list, recent decisions, decision search) without redundancy.

    Completeness3/5

    The surface covers read/inspection operations well, but there is no tool to submit a decision (approve, edit, reject) or otherwise act on a ticket. For a triage workflow, that is a notable missing write operation that limits the set to monitoring only.

    Maintenance

    ActivitySlowing
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to audit and analyze Zendesk instances through a read-only MCP interface, providing tools for triggers, automations, analytics, and cross-reference queries.
      74
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI clients to access and manage an internal support ticket queue through MCP tools, resources, and prompts, including searching and viewing tickets, adding comments, closing tickets with confirmation, reading knowledge base articles, and viewing queue summaries over OAuth-secured Streamable HTTP.
      -
    • A
      license
      B
      quality
      C
      maintenance
      Enables MCP-compatible agents to perform read-only incident investigations by querying logs, building timelines, searching runbooks, validating evidence, and creating ticket drafts only with explicit approval.
      7
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables users to check whether procedures are current and whether actions have the stored evidence needed for human review, returning status, citations, and blockers through read-only MCP tools while always requiring human review.
      -