Skip to main content
Glama
Rajkumar2002-Rk

fraud-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FRAUD_MCP_DBNoOverride the default SQLite database path (~/.local/share/fraud-mcp/fraud.sqlite3).
FRAUD_MCP_PROFILENoOptional profile to serve different interfaces (e.g., v0, v1) as used in the FINDINGS.md experiments.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_transactionsA

Return an account's transactions within a lookback window, with a summary.

This is EVIDENCE, not a verdict. It does not evaluate risk. To learn whether
an account has tripped any fraud rule, call `evaluate_fraud_rules` - reading
these rows and forming your own opinion is exactly what this server is built
to prevent.

Returns an error envelope (`ok: false`) for unknown accounts or an out-of-range
`days`. A successful response with zero transactions carries an
`empty_result_guidance` block explaining what the emptiness does and does not
imply; read it before drawing any conclusion.
evaluate_fraud_rulesA

Run all seven fraud rules against an account and return which ones fired, and why.

THIS IS THE AUTHORITATIVE RISK VERDICT. The engine is deterministic: the same
account always yields the same result. Do not second-guess it, re-derive it
from raw transactions, or soften it.

Rules evaluated: VELOCITY_BURST, AMOUNT_SPIKE, NEW_GEO_HIGH_VALUE, STRUCTURING,
SHARED_DEVICE, IMPOSSIBLE_TRAVEL, DORMANT_REACTIVATION.

Covers, in plain terms: transaction velocity and card testing, spending
anomalies against the account's own baseline, unfamiliar geography, money
laundering by structuring or smurfing below a reporting threshold, account
takeover and credential stuffing via shared devices, and cloned cards
(impossible travel). Use this tool for ANY question about whether an account
is risky, compromised, laundering, or worth escalating - not only questions
phrased around velocity.

Every rule returns one of three states, and the difference matters:
  FIRED     - the threshold was met; `evidence_txn_ids` lists the transactions.
  NOT_FIRED - evaluated, threshold not met. This is a genuine pass.
  SKIPPED   - could NOT be evaluated (e.g. too little history for a baseline).
              This is an UNKNOWN, not a pass. Report skipped rules explicitly.

Each result carries the thresholds that were applied and the observations
measured against them, so any verdict can be recomputed by hand later. Cite
`rule_id` and `evidence_txn_ids` in anything you write.

Call this BEFORE flag_case. Takes no time window: each rule applies its own
documented lookback.
lookup_device_historyA

Return every account and login event seen on a device.

Use this to pivot from one compromised account to the others driven from the
same machine - the standard way an account-takeover ring is mapped. Pay
attention to `distinct_accounts_with_events`, `failed_login_count`, and
`password_reset_count`: a device with many accounts, failed logins, and resets
is a takeover tool, not a shared family tablet.

Returns an error envelope for unknown or malformed device ids.
flag_caseA

Record an investigation outcome against an account. THIS WRITES TO THE CASE LOG.

Call this only after `evaluate_fraud_rules`, and only when you can cite the
rule ids that fired. The response includes an `audit` block that independently
re-runs the rules engine and compares your submission against it: if you cite
rules that are not firing, omit rule ids entirely, or set a severity the engine
does not support, the case is still recorded but flagged with warnings for the
human reviewer.

Not idempotent - each call creates a new case. Do not retry on success.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: transaction retrieval, rule evaluation, device history lookup, and case flagging. The descriptions explicitly differentiate evidence from verdicts and mandate a workflow, leaving no ambiguity between tools.

Naming Consistency4/5

Tool names follow a clear verb_noun pattern (get_transactions, evaluate_fraud_rules, lookup_device_history, flag_case). The minor deviation is 'flag_case' which could be 'create_case' for consistency, but the pattern is consistent enough to be highly predictable.

Tool Count4/5

With 4 tools, the server is lean and focused on the core fraud investigation workflow: read, evaluate, pivot, and act. The count is at the lower end of the acceptable range but each tool is essential and earns its place, making the small set well-scoped.

Completeness4/5

The server covers the primary investigation lifecycle well: retrieving evidence, evaluating rules, pivoting on device intelligence, and recording outcomes. An obvious gap is the lack of a tool to comment on or update an existing case (e.g., edit_case), but the core workflow is complete and the missing piece is a minor extension.

Maintenance

ActivityMaintained
ResponsivenessNo issues