Skip to main content
Glama
Nitrostack-HAK

Fraud Alert MCP Server

INITIALIZATION

Go to Claude, and under settings, choose Connectors. Add a new connector and paste the following link: "https://fraud-alert-mcp-ha-hak-team-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp" Give it the required action permissions and reference it by a name. You can now use this in Claude.

Fraud Alert MCP Server

A Model Context Protocol (MCP) server for real-time fraud detection and transaction analysis. Integrates with Claude and other AI models to provide intelligent fraud risk assessment.

What is MCP?

The Model Context Protocol (MCP) is a standard that allows AI models like Claude to safely invoke tools and access resources from external servers. This MCP server exposes fraud detection tools that Claude can call to analyze transactions, flag suspicious activity, and manage fraud rules.

Related MCP server: ChainGuard

How to Use This Server

1. Local Development

# Install dependencies
npm install

# Start the MCP server
npm run dev

The server will start and be ready to accept MCP connections.

2. Connect in Claude Desktop

Add this server to your claude_desktop_config.json:

{
  "mcpServers": {
    "fraud-alert": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}

Then restart Claude Desktop. The fraud detection tools will appear in the Tools panel.

3. Programmatic Integration

Use any MCP client library to connect:

// Example: Node.js MCP client
const client = new MCPClient();
await client.connect('fraud-alert');
const result = await client.callTool('analyze_transaction', {
  transactionId: 'TX-123',
  userId: 'U-456',
  amount: 5000,
  // ... other fields
});

Available Tools

analyze_transaction

Analyzes a transaction for fraud risk. Returns a risk score (0-100), identified risk factors, and a recommended action.

Input:

  • transactionId (string): Unique transaction ID

  • userId (string): User ID

  • amount (number): Transaction amount

  • currency (string): Currency code (e.g., USD)

  • merchantCategory (string): Merchant category (e.g., electronics)

  • location (object): Transaction location with lat/long/country

  • deviceId (string): Device identifier

  • timestamp (string): ISO 8601 timestamp

Output:

  • isFraudulent (boolean): Fraud flag

  • riskScore (0-100): Risk score

  • riskFactors (array): List of identified risk factors

  • recommendedAction (enum): ALLOW, REVIEW, or BLOCK

flag_transaction_status

Updates the status of a transaction and triggers an alert.

Input:

  • transactionId (string): Transaction ID

  • actionTaken (enum): BLOCKED, FLAGGED_FOR_REVIEW, or CLEARED

  • agentReasoning (string): Reason for the action

Output:

  • success (boolean): Operation status

  • alertId (string): Unique alert ID

  • timestamp (string): Alert timestamp

Project Structure

fraud-alert-mcp/
├── src/
│   ├── modules/
│   │   ├── detection/          # Fraud detection logic
│   │   │   ├── detection.tools.ts
│   │   │   ├── detection.service.ts
│   │   │   └── detection.module.ts
│   │   ├── calculator/         # Calculator tools
│   │   ├── governance/         # Governance tools
│   │   └── ...
│   ├── widgets/                # UI widgets for tool results
│   ├── app.module.ts           # Main app module
│   └── index.ts                # Server entry point
├── package.json
├── tsconfig.json
└── README.md

Environment Variables

Create a .env file:

ANTHROPIC_API_KEY=sk-ant-...
PORT=3000

Testing

Run the included test script to verify the server works with Claude:

node test-fraud-mcp.js

This script connects to your local MCP server and runs sample fraud analysis scenarios.

Build & Deploy

# Build TypeScript
npm run build

# Start production server
npm start

License

MIT

Available Tools

9 tools
analyze_transactionB

Analyzes a real-time transaction against known patterns to return a fraud probability score

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesTransaction amount
userIdYesUser ID
currencyYesCurrency code (e.g., USD)
deviceIdYesDevice identifier
locationYesTransaction location
timestampYesISO 8601 timestamp
transactionIdYesUnique transaction identifier
merchantCategoryYesMerchant category (e.g., electronics, restaurant)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fails to disclose behavioral traits such as whether the operation is read-only, destructive, or if it has side effects. It only states it 'analyzes' and 'returns a score', but does not clarify mutation or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that is front-loaded with the purpose. No redundant or unnecessary elements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 8 parameters and a nested object, yet the description is minimal. It does not explain the return value format, error handling, or behavior for invalid inputs. However, the high schema coverage partially compensates, making it minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already documented. The description adds no additional meaning beyond what the schema provides, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'analyzes' and the resource 'real-time transaction', with a specific outcome 'return a fraud probability score'. It distinguishes from sibling tools like flag_transaction_status by focusing on probability scoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The description does not mention prerequisites, limitations, or exclusions, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_userB

Create a new user in the system

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesUser full name
emailYesUser email address
phoneNoUser phone number
userIdYesUnique user identifier
addressNoUser address

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description lacks any behavioral details like idempotency, side effects, required permissions, or error conditions. The description merely states the operation without additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no unnecessary words. It is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and no annotations, the description is insufficient. It does not explain success behavior, conflict errors, or any return values, leaving significant gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add any meaning beyond the schema; it fails to explain parameter constraints, relationships, or formats beyond what is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new user in the system', specifying the verb 'create' and resource 'user'. It effectively distinguishes from sibling tools like get_user, update_user, and delete_user.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as update_user for modifications or list_users for retrieval. There is no mention of prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_userB

Delete a user and remove their stored information

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesUser ID to delete

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the destructive action but omits consequences (e.g., irreversibility, cascading effects on related data) and access requirements. Minimal disclosure for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy. Efficiently conveys the core purpose, but could include more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the basic purpose but lacks guidance on return behavior or error cases. Adequate but not enriched.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter (userId) described as 'User ID to delete'. The tool description adds no further detail about the parameter beyond what the schema provides, so it meets baseline without enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('delete') and resource ('user'), adding specificity with 'remove their stored information'. This effectively distinguishes it from sibling tools like create_user, get_user, update_user, and list_users.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives, though the destructive nature is implied. The description does not address prerequisites or situations where deletion is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

flag_transaction_statusB

Allows the AI agent to take action by updating the status of a transaction and triggering an alert

ParametersJSON Schema
NameRequiredDescriptionDefault
actionTakenYesAction taken
transactionIdYesTransaction ID to flag
agentReasoningYesAI agent reasoning for the action

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It indicates updating status and triggering an alert, but does not disclose side effects, permissions, reversibility, or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema and does not describe return values, error handling, or confirmation behavior. For a write operation with 3 required parameters, the description is minimally complete but could include more operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all three parameters. The description adds no additional meaning beyond the schema, such as format or usage hints for agentReasoning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action (updating status and triggering alert) and resource (transaction), but does not explicitly differentiate from siblings like analyze_transaction or update_fraud_rule, though the distinction is implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as analyze_transaction or update_fraud_rule. The description implies it's for taking action after analysis, but lacks explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_userB

Retrieve a user by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesUser ID to retrieve

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It only states 'Retrieve a user by ID', implying a read operation but not disclosing behaviors like error handling (e.g., what if user not found), authentication needs, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately conveys the tool's purpose with no unnecessary words or clutter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter and no output schema, the description is minimally viable but lacks details like return format, error cases, or pagination (though not applicable). Given the lack of annotations, it could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description aligns with the parameter userId. However, it adds no additional meaning or constraints beyond what the schema already provides (e.g., format of ID, default behavior). Baseline is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Retrieve' and resource 'a user by ID', which clearly distinguishes it from sibling tools like create_user, update_user, delete_user, and list_users. It leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives, such as when to use get_user_risk_profile or list_users. There are no exclusions or context hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_risk_profileB

Fetches historical transaction behavior and current risk standing for a specific user to give the AI agent context

ParametersJSON Schema
NameRequiredDescriptionDefault
userIdYesUser ID to fetch risk profile for

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry full burden. It does not disclose whether the tool is read-only, side effects, or authorization requirements. 'Fetch' implies read but not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no redundancy. Could be slightly more structured (e.g., output description), but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description omits details like timeframe for historical data or risk scoring methodology. Sufficient for a simple tool but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage for the single parameter. Description adds minimal context (historical behavior, risk standing) but does not elaborate on input constraints or formats beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches historical transaction behavior and current risk standing for a user. It distinguishes from siblings like get_user (basic info) and flag_transaction_status (transaction actions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like analyze_transaction or get_user. The vague phrase 'to give the AI agent context' does not provide actionable selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_usersA

List all users in the system

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must convey behavioral traits. It only states 'List all users in the system' without disclosing potential performance impact, required permissions, pagination, or scope (e.g., admin-only).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at one sentence with no extraneous words. Front-loaded purpose effectively.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is mostly complete but lacks information on return format, authentication requirements, or whether the list is paginated. Adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters with 100% coverage, so no additional semantics are needed. Baseline score of 4 is appropriate as the description adds no parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description succinctly states the tool's action ('List') and resource ('all users'), clearly distinguishing it from sibling tools like get_user (single user) and create_user (add users).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or not use this tool. Implicitly suitable for retrieving all users, but no mention of alternatives like get_user for specific users or filtering criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_fraud_ruleC

Allows the AI to dynamically deploy new fraud detection rules based on emerging attack vectors

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to take when rule is triggered
ruleNameYesName of the fraud rule
ttlHoursYesTime-to-live in hours for the rule
conditionYesCondition for the rule (e.g., "amount > 5000 AND country != US")

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must explain behavioral traits. It only states it deploys new rules, implying mutation, but does not disclose side effects (e.g., whether old rules are disabled, if rules are active immediately, or any authorization requirements). The behavioral information is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it lacks structure (e.g., separate sections for purpose and behavior). Although short, it misses opportunities to be more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a mutation tool that deploys rules (4 required params, no output schema), the description is too minimal. It does not explain return values, effects on existing rules, or how the rule is evaluated. The description leaves significant gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 4 parameters with descriptions (100% coverage). The description adds context about 'emerging attack vectors' but no additional detail on parameter usage or semantics beyond the schema. Baseline 3 is appropriate since schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it allows deploying new fraud detection rules, distinguishing it from sibling tools focused on transactions and user profiles. However, the verb 'deploy' and the resource 'fraud detection rules' are clear, but the name 'update_fraud_rule' suggests modification while description says 'deploy new', causing slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, scenarios, or when not to use it. Sibling tools like analyze_transaction or flag_transaction_status could be relevant but no comparison is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_userC

Update user information (e.g., location, phone, address)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoUpdated full name
emailNoUpdated email address
phoneNoUpdated phone number
userIdYesUser ID to update
addressNoUpdated address

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only says 'update' without disclosing idempotency, partial update behavior, permission needs, or error handling. Insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded. Could be more structured by specifying required vs optional fields, but no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, 1 required, no output schema, and no annotations, the description is insufficient. It doesn't explain that userId is required, nor outcomes or return values. Fails to differentiate from create_user which likely takes similar fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds context by listing example fields but introduces 'location' which is not a parameter, slightly misleading.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update user information', using a specific verb and resource. It differentiates from sibling tools like create_user, get_user, delete_user. However, the examples (location, phone, address) partially mismatch the schema (location not present, address present).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Does not mention prerequisites like userId required, or when not to use (e.g., if user doesn't exist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 9 tool updatesv1.0.0
    • First observedanalyze_transaction
    • First observedcreate_user
    • First observeddelete_user
    • First observedflag_transaction_status
    • First observedget_user
    • First observedget_user_risk_profile
    • First observedlist_users
    • First observedupdate_fraud_rule
    • First observedupdate_user

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

All tools have clearly distinct purposes: four focus on fraud-specific actions (analyzing, flagging, risk profiling, rule updating) and five on user CRUD operations. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., flag_transaction_status, create_user), making it predictable for an agent.

Tool Count5/5

9 tools is well-scoped for the server's purpose, covering both user management and fraud operations without excess or deficiency.

Completeness4/5

User CRUD is complete, and fraud operations cover analysis, flagging, risk profiling, and rule updating. However, missing tools to retrieve transactions or list fraud rules create minor gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    AI-powered MCP server that enables Claude Desktop to perform real-time blockchain crime detection and forensic analysis across Bitcoin, Ethereum, Hedera, and Solana networks through natural language conversations.
    8
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to operate a banking fraud detection system by providing tools for submitting transactions, reading alerts, checking risk, and freezing/unfreezing accounts, with fraud rules enforced in-database.
    -