No. 21of 22WaypointHackathons

Cyber-fraud triage as an MCP server and an RL environment

CyberTriage AI

Triage for Indian cyber-fraud complaints: classify the fraud type, score urgency, and route the case to the right authority. Built for two hackathons, once as a config-driven MCP server with 14 tools and once as an OpenEnv reinforcement-learning environment with three graded tasks. Classification is rule-based, and no run was saved.

When
Jan – Apr 2026
Status
Built
Team
Two hackathon entries. The second, the OpenEnv environment, was a two-member team's.

Progress

Progress70%

Both the MCP server and the reinforcement-learning environment are implemented. Classification is rule-based, and there is no test suite or saved run.

What comes next

  1. Run the baseline agent and save its scores.
  2. Add a small test suite.
  3. Deploy the environment and link it.

14

tools in the MCP server, with 3 resources and 3 prompts

A count of what exists in a 1,287-line server. The tools are rule-based; nothing about their accuracy was measured.

Server source file (cybertriage_mcp_server.py)Verified. Backed by a file or public page that has been checked.Server source file (cybertriage_mcp_server.py) — Counted in the project audit of 13 November 2026.

3

graded tasks in the OpenEnv environment, over 60 sample complaints

An environment was written. No agent was trained in it and no run was saved.

Environment source file (cybertriage_env.py)Verified. Backed by a file or public page that has been checked.Environment source file (cybertriage_env.py) — Counted in the project audit of 13 November 2026.

Not measured

accuracy, speed and baseline scores

No measured result was saved, so none is claimed.

Project audit of 13 November 2026Verified. Backed by a file or public page that has been checked.Project audit of 13 November 2026

Exhibit 01 · Walk-through

One complaint, three tool calls

  1. Step 01

    classify_intake

    The complaint's text is matched against keyword rules for 13 cyber-fraud categories. This is rule-based classification, not a trained model.

  2. Step 02

    score_severity

    The case gets an urgency score from 0 to 100, and a flag if it is still inside the 48-hour golden-hour window.

  3. Step 03

    route_case

    The category and the score decide where the case goes: a cyber cell, a bank's nodal officer, the Economic Offences Wing. The routing rules live in configuration, so another domain can be swapped in.

  4. Step 04

    What this walk-through is

    A description of the server's flow, taken from its source as the audit read it. No run was saved, so no real case and no score is shown.

01

What it is

CyberTriage takes a cyber-fraud complaint and does three things: names the type of fraud, scores its urgency from 0 to 100 while flagging cases still inside a 48-hour "golden hour" window, and routes it to the right authority, such as a cyber cell, a bank's nodal officer or the Economic Offences Wing. It was built twice in 2026, for two hackathons. No result is on record for either.

02

What was built

First, in January 2026, a Model Context Protocol server: one Python file of 1,287 lines on FastMCP over HTTP, exposing 14 tools, 3 resources and 3 prompts, so that any tool-calling model can classify, score and route a complaint. The domain lives in configuration, not code. YAML and JSON files define the 13 cyber-fraud categories, and banking and IT-support configurations can be swapped in. Cases are kept in memory or in SQLite, and there are client demos for Gemini, OpenAI and Claude tool calling. Then, in April 2026, an OpenEnv reinforcement-learning environment of 512 lines: reset, step and state, three graded tasks with partial credit (classify, triage, and the full pipeline), 60 sample complaints, and a baseline agent that calls a hosted model.

03

What it does not claim

Classification is keyword rules, not a trained model. No run was saved: there are no scores for the baseline agent, no throughput figure and no test suite, so this page counts what exists and nothing more. No agent was trained in the environment. Evidence extraction, multilingual support and links to police and bank systems are plans in the original proposal, not code.

One question

The answer is on this page. Get it right and it goes in your passport on the map.

Challenge

CyberTriage sorts fraud complaints into 13 categories. What does its classifier use to decide?

Show the answer

Keyword rules. Keyword rules. The classification is rule-based, no model was trained, and no run was saved, which is why this page counts what exists and quotes no scores. Source: the server's source file, read in the project audit of 13 November 2026.

Stack
  • Python
  • FastMCP (Model Context Protocol)
  • YAML and JSON configuration
  • SQLite
  • Docker
  • OpenEnv
  • Pydantic
  • FastAPI
  • Hugging Face router (hosted model)
  • Gemini, OpenAI and Claude tool calling