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
- Run the baseline agent and save its scores.
- Add a small test suite.
- 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 2026Exhibit 01 · Walk-through
One complaint, three tool calls
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.
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.
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.
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· stamped
CyberTriage sorts fraud complaints into 13 categories. What does its classifier use to decide?
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.
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