Skip to main content
Glama
hdbookie

Mercado Pago MCP Server

by hdbookie

Mercado Pago MCP Server

A comprehensive Model Context Protocol (MCP) server for Mercado Pago API integration. This server provides 27+ tools for payment processing, PIX payments with QR codes, fraud detection, analytics, accounting exports, and much more - making any AI capable of handling complete payment operations.

🚀 Quick Install

Simply use npx to run the server directly in your Claude Desktop configuration:

{
  "mcpServers": {
    "mercado-pago": {
      "command": "npx",
      "args": ["mercado-pago-mcp"],
      "env": {
        "MERCADOPAGO_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
        "MERCADOPAGO_ENVIRONMENT": "sandbox"
      }
    }
  }
}

Option 2: Global Install

npm install -g mercado-pago-mcp

Then in Claude Desktop config:

{
  "mcpServers": {
    "mercado-pago": {
      "command": "mercado-pago-mcp",
      "env": {
        "MERCADOPAGO_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
        "MERCADOPAGO_ENVIRONMENT": "sandbox"
      }
    }
  }
}

Option 3: Local Install

git clone https://github.com/hdbookie/mercado-pago-mcp.git
cd mercado-pago-mcp
npm install
npm run build

Then in Claude Desktop config:

{
  "mcpServers": {
    "mercado-pago": {
      "command": "node",
      "args": ["/path/to/mercado-pago-mcp/dist/index.js"],
      "env": {
        "MERCADOPAGO_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN",
        "MERCADOPAGO_ENVIRONMENT": "sandbox"
      }
    }
  }
}

Related MCP server: mercadolibre-mcp

Features

🎯 Core Capabilities (v1.0)

  • Payment Operations

    • Create payments

    • Get payment details

    • Search payments with filters

    • Cancel pending payments

  • Refund Processing

    • Full refunds

    • Partial refunds

  • Customer Management

    • Create customers

    • Get customer details

    • Search customers

  • Payment Links

    • Create checkout preferences

    • Generate payment links with custom URLs

    • Set expiration dates

🚀 Advanced Features (v2.0)

  • PIX Payments

    • Create PIX payments with QR codes

    • Generate copy-paste PIX codes

    • Set custom expiration times

  • Subscription Management

    • Create recurring subscriptions

    • Update/pause/cancel subscriptions

    • Manage subscription frequencies

  • Marketplace & Split Payments

    • Split payments between multiple sellers

    • Configure platform fees

    • Manage disbursements

  • Card Management

    • Save cards for future use

    • List customer's saved cards

    • Tokenized card payments

  • Batch Processing

    • Create multiple payments in bulk

    • Batch status updates

    • Bulk refund processing

  • Reports & Analytics

    • Generate payment reports

    • Export data in multiple formats

    • Date range filtering

💼 Business Features (v3.0)

  • Real-time Monitoring

    • Monitor payment status changes

    • Configurable check intervals

    • Status change notifications

  • Fraud Detection

    • Risk scoring system

    • Pattern analysis

    • Fraud indicators and recommendations

  • Analytics Dashboard

    • Revenue metrics and KPIs

    • Payment method breakdowns

    • Customer insights and trends

  • Accounting Integration

    • Export to QuickBooks format

    • Export to Xero format

    • Export to Sage format

    • CSV export for custom systems

  • Tax Calculations

    • Brazilian tax calculations (ICMS, PIS, COFINS, ISS)

    • Regional tax rates by state

    • Product type tax differentiation

  • Payment Automation

    • Automatic retry for failed payments

    • Payment reminder scheduling

    • Smart retry strategies

  • Testing Tools

    • Webhook simulation

    • Sandbox/Production environment support

⚙️ Configuration

Step 1: Get Mercado Pago Credentials

  1. Go to Mercado Pago Developers

  2. Create an application

  3. Get your Access Token:

    • For Testing: Use the TEST token (starts with TEST-)

    • For Production: Use the PRODUCTION token (starts with APP_USR-)

Step 2: Configure Claude Desktop

Open your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Add the configuration from the Quick Install section above.

Step 3: Restart Claude Desktop

After updating the configuration, restart Claude Desktop to load the MCP server.

🔐 Environment Configuration

{
  "MERCADOPAGO_ACCESS_TOKEN": "TEST-your-sandbox-token",
  "MERCADOPAGO_ENVIRONMENT": "sandbox"
}

Production

{
  "MERCADOPAGO_ACCESS_TOKEN": "APP_USR-your-production-token",
  "MERCADOPAGO_ENVIRONMENT": "production"
}

Running Both Environments

You can run both staging and production simultaneously:

{
  "mcpServers": {
    "mercado-pago-sandbox": {
      "command": "npx",
      "args": ["mercado-pago-mcp"],
      "env": {
        "MERCADOPAGO_ACCESS_TOKEN": "TEST-your-sandbox-token",
        "MERCADOPAGO_ENVIRONMENT": "sandbox"
      }
    },
    "mercado-pago-production": {
      "command": "npx",
      "args": ["mercado-pago-mcp"],
      "env": {
        "MERCADOPAGO_ACCESS_TOKEN": "APP_USR-your-production-token",
        "MERCADOPAGO_ENVIRONMENT": "production"
      }
    }
  }
}

Available Tools (27+ Total)

Core Payment Tools

create_payment

Create a new payment in Mercado Pago.

Parameters:

  • amount (number, required): Payment amount

  • description (string, required): Payment description

  • payerEmail (string, required): Payer's email address

  • paymentMethodId (string, required): Payment method (e.g., 'pix', 'credit_card')

  • installments (number, optional): Number of installments for credit card

Example:

{
  "amount": 100.50,
  "description": "Product purchase",
  "payerEmail": "customer@example.com",
  "paymentMethodId": "pix"
}

get_payment

Get detailed information about a specific payment.

Parameters:

  • paymentId (string, required): The payment ID to retrieve

search_payments

Search for payments with various filters.

Parameters:

  • status (string, optional): Payment status (approved, pending, rejected)

  • dateFrom (string, optional): Start date in ISO format

  • dateTo (string, optional): End date in ISO format

  • payerEmail (string, optional): Filter by payer email

  • limit (number, optional): Maximum results (default: 10)

cancel_payment

Cancel a pending payment.

Parameters:

  • paymentId (string, required): Payment ID to cancel

create_refund

Create a full or partial refund for a payment.

Parameters:

  • paymentId (string, required): Payment ID to refund

  • amount (number, optional): Amount to refund (omit for full refund)

create_customer

Create a new customer profile.

Parameters:

  • email (string, required): Customer email

  • firstName (string, optional): First name

  • lastName (string, optional): Last name

  • phone (string, optional): Phone number

  • identificationType (string, optional): ID type (CPF, CNPJ, etc.)

  • identificationNumber (string, optional): ID number

get_customer

Get customer details by ID.

Parameters:

  • customerId (string, required): Customer ID

search_customers

Search for customers.

Parameters:

  • email (string, optional): Filter by email

  • limit (number, optional): Maximum results (default: 10)

Create a payment link (checkout preference).

Parameters:

  • title (string, required): Product/service title

  • amount (number, required): Price

  • quantity (number, optional): Quantity (default: 1)

  • expirationDate (string, optional): Expiration date in ISO format

  • successUrl (string, optional): Redirect URL after success

  • failureUrl (string, optional): Redirect URL after failure

  • pendingUrl (string, optional): Redirect URL for pending

Example:

{
  "title": "Premium Subscription",
  "amount": 29.99,
  "quantity": 1,
  "successUrl": "https://mysite.com/success",
  "failureUrl": "https://mysite.com/failure"
}

simulate_webhook

Simulate webhook notifications for testing.

Parameters:

  • type (string, required): Webhook type

    • payment.created

    • payment.updated

    • payment.approved

    • payment.rejected

  • paymentId (string, required): Payment ID for the webhook

Advanced Payment Tools (v2.0+)

create_pix_payment

Create a PIX payment with QR code and copy-paste code.

Parameters:

  • amount (number, required): Payment amount

  • description (string, required): Payment description

  • payerEmail (string, required): Payer's email

  • expirationMinutes (number, optional): Minutes until expiration

create_subscription

Create a recurring subscription.

Parameters:

  • title (string, required): Subscription title

  • amount (number, required): Recurring amount

  • frequency (number, required): Billing frequency

  • frequencyType (string, required): 'days', 'months', or 'years'

  • payerEmail (string, required): Subscriber's email

create_split_payment

Create marketplace split payments between multiple sellers.

Parameters:

  • amount (number, required): Total amount

  • splits (array, required): Array of split configurations with collectorId, amount, and fee

batch_create_payments

Create multiple payments in a single batch operation.

Parameters:

  • payments (array, required): Array of payment objects

  • processInParallel (boolean, optional): Process payments in parallel

Business Intelligence Tools (v3.0+)

get_analytics_dashboard

Get comprehensive payment analytics and insights.

Parameters:

  • period (string, optional): 'day', 'week', 'month', 'quarter', 'year'

  • metrics (array, optional): Specific metrics to include

detect_fraud_risk

Analyze a payment for fraud risk indicators.

Parameters:

  • paymentId (string, required): Payment ID to analyze

  • includeRecommendations (boolean, optional): Include action recommendations

monitor_payment_status

Monitor a payment for status changes in real-time.

Parameters:

  • paymentId (string, required): Payment ID to monitor

  • intervalSeconds (number, optional): Check interval

  • maxChecks (number, optional): Maximum number of checks

export_to_accounting

Export payment data to accounting software formats.

Parameters:

  • format (string, required): 'quickbooks', 'xero', 'sage', or 'csv'

  • dateFrom (string, required): Start date

  • dateTo (string, required): End date

  • includeRefunds (boolean, optional): Include refunded payments

calculate_taxes

Calculate Brazilian taxes for payments.

Parameters:

  • amount (number, required): Base amount

  • region (string, required): Brazilian state code

  • productType (string, optional): 'physical', 'digital', or 'service'

schedule_payment_reminder

Schedule payment reminders for customers.

Parameters:

  • customerId (string, required): Customer ID

  • amount (number, required): Payment amount

  • dueDate (string, required): Due date

  • reminderSchedule (array, optional): Days before due date to send reminders

retry_failed_payment

Automatically retry a failed payment with smart strategies.

Parameters:

  • originalPaymentId (string, required): Failed payment ID

  • updateAmount (boolean, optional): Allow amount adjustment

  • useAlternativeMethod (boolean, optional): Try alternative payment methods

Usage Examples

With Claude Desktop

Once configured, you can use natural language to interact with Mercado Pago:

"Create a payment for $50 for john@example.com using PIX"

"Search for all approved payments from the last week"

"Create a refund for payment ID 12345678"

"Generate a payment link for a $99 product that expires in 24 hours"

Direct API Usage

// Example: Create a payment
const payment = await createPayment({
  amount: 100.00,
  description: "Test payment",
  payerEmail: "test@example.com",
  paymentMethodId: "pix"
});

// Example: Process a refund
const refund = await createRefund({
  paymentId: "12345678",
  amount: 50.00  // Partial refund
});

Development

# Run in development mode with hot reload
npm run dev

# Build for production
npm run build

# Start production server
npm start

# Debug mode
npm run inspect

Testing

The server includes sandbox support for safe testing:

  1. Use sandbox Access Token

  2. Set MERCADOPAGO_ENVIRONMENT=sandbox

  3. Use test credit cards provided by Mercado Pago

  4. Simulate webhooks with the simulate_webhook tool

Test Credit Cards (Sandbox)

  • Approved: 5031 4332 1540 6351

  • Pending: 5031 4332 1540 6351

  • Rejected: 5031 4332 1540 6351

Security Considerations

  • Never commit your Access Token to version control

  • Use environment variables for sensitive data

  • Use sandbox environment for development

  • Implement proper error handling in production

  • Consider rate limiting for production deployments

Webhook Integration

For production use, set up webhooks in your Mercado Pago dashboard:

  1. Go to Your Application > Webhooks

  2. Add your webhook URL

  3. Select events to receive

  4. Use the simulate_webhook tool for testing

Troubleshooting

Common Issues

"Invalid Access Token"

  • Verify your token is correct

  • Check if using sandbox vs production token

  • Ensure token has necessary permissions

"Payment method not available"

  • Check if payment method is enabled in your account

  • Verify country/region support

"Customer already exists"

  • Use search_customers to find existing customer

  • Update existing customer instead of creating new

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Support

For issues and questions:

  • Open an issue on GitHub

  • Check Mercado Pago documentation

  • Contact Mercado Pago support for API-specific issues

Roadmap

✅ Completed (v2.0 - v3.0)

  • PIX payments with QR codes

  • Subscription management

  • Marketplace/split payments

  • Saved cards management

  • Batch payment processing

  • Advanced reporting and analytics

  • Fraud detection system

  • Payment status monitoring

  • Accounting software exports (QuickBooks, Xero, Sage)

  • Brazilian tax calculations

  • Payment retry automation

  • Payment reminder scheduling

🚧 Planned Features

  • Multi-language support (Portuguese, Spanish, English)

  • Rate limiting and caching optimization

  • Boleto bancário support

  • Advanced webhook management

  • Payment dispute handling

  • Multi-currency conversion

  • A/B testing for payment methods

  • Machine learning fraud detection


Built with ❤️ for the developer community

Available Tools

27 tools
batch_create_paymentsC

Create multiple payments in batch

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentsYesArray of payments to create

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of revealing behavior. It only says 'create multiple payments', which is a write operation, but it omits critical batch characteristics such as atomicity, partial failure handling, error reporting, idempotency, or response shape. This is insufficient for a batch 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?

The description is a single concise sentence with no redundancy. It is front-loaded and economical, though it could use the available space to add valuable batch context without harming conciseness.

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?

The tool has no annotations and no output schema, so the description must explain return values, error behavior, and batch semantics. It only states the basic action, leaving out essential context like whether the batch is atomic, what happens if one payment fails, and what is returned. This is incomplete for a batch operation.

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% for the top-level 'payments' parameter (described simply as 'Array of payments to create'), and the description adds no extra meaning about the array elements or required fields. Baseline 3 applies due to high schema coverage.

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 verb ('create') and resource ('payments'), and the modifier 'batch' distinguishes it from the singular sibling tool create_payment. However, it does not explicitly differentiate from alternatives beyond the name, so it stops short of a 5.

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?

There is no guidance on when to use this tool versus create_payment, no mention of batch size limits, or any exclusions. The 'batch' wording implies multiple payments, but that is already evident from the name and does not constitute practical usage guidance.

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

calculate_taxesA

Calculate taxes for a payment based on region

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesBase amount
regionYesRegion/state code
productTypeNoProduct type for tax calculationphysical

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral transparency. It only states 'Calculate taxes' without disclosing whether this is a read-only calculation, whether it makes external API calls, requires special permissions, or what side effects exist. This leaves significant ambiguity about the tool's behavior.

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, clear sentence that front-loads the verb and resource. It contains no filler or redundant information and is appropriately sized for a simple calculation tool.

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 no output schema, so the description should clarify what the function returns. It does not mention the return format, whether it returns a single numeric value or a breakdown, or the tax rate source. While the tool is relatively simple, this missing information leaves the context incomplete for an agent deciding how to use the result.

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?

The input schema already provides descriptions for all three parameters (amount, region, productType), achieving 100% schema coverage. The description adds no additional parameter meaning beyond what the schema already documents, so a baseline score of 3 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 'Calculate taxes for a payment based on region' clearly identifies the action (calculate taxes) and the resource (a payment) with a scoping condition (region). This is specific and distinguishes it from sibling payment tools that don't compute taxes.

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?

The description implies use when calculating taxes for a payment, but provides no explicit when-to-use or when-not-to-use guidance, and does not mention alternatives. Since there are no direct tax siblings, some implicit usage context exists, but it lacks explicit exclusions or alternative references.

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

cancel_paymentB

Cancel a pending payment

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentIdYesPayment ID to cancel

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 carries full burden. It states only the action 'cancel' but does not disclose side effects, reversibility, idempotency, or behavior when payment is not pending. Minimal transparency for a mutation 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, direct, and free of filler. It is appropriately front-loaded, though perhaps too sparse to add substantial value.

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?

For a mutation tool with no annotations and no output schema, the description should explain return behavior, failure modes, or when cancellation is allowed. It does not. However, the single-parameter schema is well-covered, so it is slightly better than a completely under-specified tool.

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 with a description for paymentId. The description adds no extra meaning beyond the schema, so the baseline of 3 applies.

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 uses specific verb 'cancel' and resource 'payment' with a status qualifier 'pending'. Clearly distinguishes from sibling create_payment, get_payment, search_payments, and create_refund.

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 create_refund or when a payment can be canceled. The 'pending' qualifier implies a context but does not explain exclusions or prerequisites.

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

create_customerB

Create a new customer

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesCustomer email
phoneNoPhone number
lastNameNoLast name
firstNameNoFirst name
identificationTypeNoID type (CPF, CNPJ, etc.)
identificationNumberNoID number

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 carries the full burden. It only states the fundamental action, without disclosing behaviors like required fields, idempotency, possible side effects, or error conditions. The write nature is implied but not elaborated.

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?

The description is extremely concise, using only four words with no filler. It is front-loaded and easily parsed, though it may be slightly under-specified for a tool with six parameters.

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 six parameters, no output schema, and no annotations, the description does not provide enough context about return values, validation rules, or post-creation behavior. It is minimally sufficient for a basic create operation but lacks depth for reliable agent decision-making.

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 each parameter has a description in the schema, which already explains the meaning. The tool description adds no additional semantic value, so the baseline of 3 applies.

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 'Create a new customer' uses a specific verb and resource, clearly distinguishing this tool from siblings like get_customer and search_customers. It unambiguously states the action and target resource.

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. There is no mention of prerequisites, such as checking for existing customers via search_customers, or any exclusions for other customer-related operations.

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

create_paymentC

Create a new payment in Mercado Pago

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesPayment amount
payerEmailYesPayer's email address
descriptionYesPayment description
installmentsNoNumber of installments (for credit card)
paymentMethodIdYesPayment method ID (e.g., 'pix', 'credit_card')

TDQS

C2.9/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 responsibility for behavioral disclosure. It fails to mention side effects, idempotency, required permissions, or whether the operation is synchronous, leaving the agent with no safety or behavioral context.

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?

The description is a single, clear sentence with no wasted words. It is concise and front-loaded, though it could benefit from additional contextual sentences 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 tool has 5 parameters, no output schema, no annotations, and many sibling tools with overlapping functionality, the description is far too sparse. It does not explain return values, when to use it, or how it differs from similar tools, making it incomplete.

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%, with all 5 parameters described (amount, payerEmail, description, paymentMethodId, installments). The description adds no additional meaning beyond the schema, so the baseline score of 3 applies.

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 action ('Create a new payment') and resource ('in Mercado Pago'). However, it does not distinguish from sibling tools like create_pix_payment, create_split_payment, or create_payment_link, so it lacks sibling differentiation.

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, nor any exclusions, prerequisites, or context for selection. The description is simply one sentence with no usage direction.

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

create_pix_paymentB

Create a PIX payment with QR code

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesPayment amount
payerEmailYesPayer's email
descriptionYesPayment description
payerDocumentNoPayer's CPF/CNPJ
payerLastNameNoPayer's last name
payerFirstNameNoPayer's first name
expirationMinutesNoQR code expiration in minutes

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 discloses that a PIX payment is created and a QR code is involved, but does not mention whether the payment is charged immediately, what response to expect, permission requirements, or potential side effects. For a financial operation, this lack of behavioral detail is a significant gap.

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?

The description is a single clear sentence with no wasted words. It is appropriately concise, but could afford a bit more detail on behavior or return values without becoming bloated.

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?

There is no output schema and no annotations. The tool has 7 parameters and performs a financial transaction, yet the description only states what it creates. It fails to explain prerequisites, return values, or edge cases, leaving the agent with insufficient context to use it confidently.

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?

The input schema provides descriptions for all 7 parameters, achieving 100% coverage. The tool description itself adds no parameter-level meaning beyond the schema. Baseline 3 is appropriate since the schema does the heavy lifting.

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 ('Create') and identifies the exact resource ('PIX payment') plus a distinguishing feature ('with QR code'). This sets it apart from sibling tools like create_payment (generic) or create_payment_link (link-based).

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?

The name and description imply this is for PIX payments, but there is no explicit guidance on when to choose it over alternatives such as create_payment, batch_create_payments, or create_payment_link. The usage context is present only by inference.

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

create_refundC

Create a refund for a payment

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoAmount to refund (partial refund if less than total)
paymentIdYesPayment ID to refund

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the action without disclosing side effects (e.g., whether refunds are immediate, reversible, or affect payment status). It also does not mention partial refund behavior beyond the schema's amount description.

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?

The description is a single clear sentence with no wasted words. However, it is almost too brief, sacrificing valuable context for brevity.

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?

For a simple 2-parameter tool with no output schema, the description should at least mention refund semantics (partial vs full), idempotency, or return values. It only provides the basic purpose, leaving the agent to infer critical details.

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 both parameters (amount and paymentId) are already described. The description adds no extra meaning beyond the schema, making the baseline 3 appropriate.

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 action ('Create a refund') and the target resource ('a payment'). It distinguishes itself from sibling tools like cancel_payment and create_payment, though it doesn't explicitly contrast them.

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 about when to use this tool versus alternatives such as cancel_payment or retry_failed_payment. There are no prerequisites, exclusions, or situational context.

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

create_split_paymentC

Create a marketplace split payment

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesTotal payment amount
splitsYesPayment splits configuration
payerEmailYesPayer's email
descriptionYesPayment description
paymentMethodIdYesPayment method

TDQS

C2.8/5.0
Behavior1/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states 'Create a marketplace split payment' with no mention of side effects, idempotency, required permissions, or error behavior. For a mutation tool, this is a complete lack of transparency.

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 of six words, making it extremely concise. However, it is under-specified for the tool's complexity, containing no information about the split structure or marketplace context. It is not misleading, but it lacks the minimal detail needed to be truly helpful.

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?

The tool has 5 parameters including a nested 'splits' array, and there are no annotations or output schema to supplement the description. The one-sentence description does not explain what a marketplace split payment is, how splits relate to the total amount, or any constraints, leaving significant gaps for correct invocation.

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 baseline score is 3. The description itself adds no parameter details, but each parameter already has a minimal description in the schema. No extra semantic meaning is provided beyond what the schema already offers.

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 action ('Create') and the specific resource ('marketplace split payment'), distinguishing it from sibling tools like 'create_payment' and 'create_pix_payment'. The addition of 'marketplace split' clarifies the unique purpose compared to a generic payment creator.

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 provides no guidance on when to use this tool versus alternatives such as 'create_payment' or 'create_pix_payment'. It does not mention any prerequisites, exclusions, or context that would help an agent decide between similar payment creation tools.

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

create_subscriptionC

Create a recurring subscription

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesSubscription title
amountYesRecurring amount
endDateNoEnd date (ISO format)
frequencyYesFrequency in days (e.g., 30 for monthly)
startDateNoStart date (ISO format)
payerEmailYesSubscriber's email
frequencyTypeNoFrequency typemonths

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for disclosing behavior. It only states the action and target, without mentioning side effects, validation requirements, or any impacts on related entities. For a creation tool, crucial details like whether it requires an existing customer or generates payment schedules are absent.

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?

The description is a single, concise sentence that is easy to parse and front-loads the key verb. However, it is almost too terse for a complex tool, offering little beyond a basic label, though it does not waste 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?

For a tool with 7 parameters and no output schema or annotations, the description is severely underspecified. It does not explain subscription semantics, interaction with payment tools, or expected behavior, making it insufficient for an agent to confidently invoke the tool in varied contexts.

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 the schema already documents all parameters. The description adds no parameter-level meaning, but per the baseline rule, a score of 3 is appropriate since the schema does the heavy lifting and the description does not mislead.

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 uses a specific verb ('Create') and resource ('recurring subscription'), clearly indicating the tool's primary action. It partially distinguishes from sibling tools like get_subscription and update_subscription, but does not elaborate on what constitutes a recurring subscription (e.g., automatic payments).

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 create_payment or create_pix_payment. The description lacks any context about prerequisites, typical scenarios, or exclusions, leaving the agent to guess based on tool names alone.

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

detect_fraud_riskB

Analyze payment for fraud risk indicators

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentIdYesPayment ID to analyze
includeRecommendationsNoInclude action recommendations

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It merely states the tool analyzes fraud risk but does not disclose side effects, permissions required, rate limits, or what the output looks like (e.g., risk score, flags). This is a significant gap for an analysis tool.

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 states the core function without any filler or redundant phrasing. It is front-loaded and easy to parse.

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?

The tool has no output schema, so the description should explain what results the user can expect. It does not mention return values, how to interpret risk indicators, or any behavioral context. Given the tool's fraud analysis nature, this is insufficient for an agent to use it correctly.

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?

The schema already documents both parameters with clear descriptions ('Payment ID to analyze', 'Include action recommendations'), and schema coverage is 100%. The tool description adds no additional parameter semantics, so the baseline score of 3 applies.

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 'Analyze payment for fraud risk indicators' clearly identifies the verb (Analyze), the resource (payment), and the specific focus (fraud risk indicators). This is unique among sibling tools, which are mostly payment lifecycle operations, so it distinguishes the tool effectively.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or appropriate contexts such as 'use before creating a payment' or 'for suspicious transactions.' The intended usage must be inferred entirely from the generic phrase.

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

export_to_accountingB

Export payment data to accounting software format

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToYesEnd date (ISO format)
formatYesExport formatcsv
dateFromYesStart date (ISO format)
includeRefundsNoInclude refunds

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 carries the full burden of disclosing behavior. It does not state whether the export is a read-only operation, whether it triggers external systems, requires permissions, or how results are delivered. The lack of output schema and any behavioral details leaves the agent guessing.

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?

The description is a single sentence, concise and free of fluff. It communicates the core function directly, though it lacks structure or additional detail. For a simple tool, this is appropriately sized and front-loaded.

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 four parameters, no output schema, and no annotations, the description is incomplete. It does not explain what the export produces (file, response, URL?), any side effects, or how to interpret results. The schema covers parameters but not the broader 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?

The schema provides 100% coverage with descriptions for all four parameters, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already offers; it simply restates the purpose rather than enriching understanding of parameters.

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 ('Export'), identifies the resource ('payment data'), and clarifies the destination ('accounting software format'), which clearly distinguishes it from sibling tools like generate_reports or search_payments. It precisely conveys the tool's purpose.

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?

There is no guidance on when to use this tool versus alternatives. The description does not mention use cases, prerequisites, or context that would help an agent decide between this and similar reporting/export tools.

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

generate_reportsC

Generate payment reports

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToYesEnd date (ISO format)
formatNoOutput formatjson
dateFromYesStart date (ISO format)
reportTypeYesType of report

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Generate payment reports' only states the action, with no information about output format, potential side effects, processing time, authorization requirements, or what the generated report contains. This is a significant gap for a tool that likely has non-trivial behavior.

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?

The description is a single, short sentence that wastes no words. It is front-loaded and immediately states the tool's purpose. However, given the tool's complexity (4 parameters), the extreme brevity borders on under-specification, but the conciseness dimension rewards efficiency, and this description is 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?

The tool has 4 parameters, no output schema, and no annotations. The description is minimal and does not explain what the generated reports contain, how to interpret them, or any limitations. This is inadequate for an agent to fully understand the tool's behavior and output, making the description incomplete for the tool's complexity.

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?

The input schema has 100% description coverage, with each parameter (dateFrom, dateTo, format, reportType) already explained. The description adds no additional semantic meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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 'Generate payment reports' uses a specific verb ('generate') and a clear resource ('payment reports'), making the tool's primary function clear. However, it does not differentiate from any sibling tools, but no sibling appears to serve the same report-generation purpose, so the lack of differentiation is not a significant issue.

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 provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions. While siblings like 'export_to_accounting' might overlap, there is no explicit direction, leaving the agent to infer usage from the name alone.

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

get_analytics_dashboardC

Get comprehensive payment analytics and metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoAnalysis periodmonth
metricsNoMetrics to include

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It provides no information about aggregation, default period, return shape, or any side effects. The single vague word 'comprehensive' offers no meaningful behavior.

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?

The description is a single short sentence with no wasted words. It is front-loaded with the action and resource. However, it is slightly too terse for a tool with no other documentation, but as a concise statement it is effective.

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?

For an analytics tool with no output schema and no annotations, this description is quite incomplete. It lacks information about what metrics are returned, how the period interacts with data, and any examples or expected output. The bare-bones statement leaves the agent with insufficient context to invoke correctly in rich scenarios.

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 parameters are already documented with 'Analysis period' and 'Metrics to include'. The description adds no additional semantic context beyond what the schema provides, meeting the baseline for high schema coverage.

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 gets payment analytics and metrics. However, it does not differentiate from sibling tools like generate_reports or get_payment_methods, making the purpose clear but generic.

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. The description does not mention appropriate scenarios, exclusions, or suggest any sibling tools for comparison.

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

get_customerB

Get customer details

ParametersJSON Schema
NameRequiredDescriptionDefault
customerIdYesCustomer ID

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 burden of behavioral disclosure. It only states 'Get customer details' without mentioning that it is a read-only operation, what data is returned, error behavior, or authorization requirements.

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 redundant words. It is front-loaded and easy to parse, maintaining appropriate brevity for a simple get-by-ID tool.

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 is simple (one parameter, no output schema), but the description lacks context about return values, usage scenarios, or differentiation from sibling search tools. It is minimally viable but leaves gaps for an agent deciding between get_customer and search_customers.

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?

The schema fully describes the customerId parameter with a clear description, and the schema coverage is 100%. The tool description adds no additional parameter semantics, so the baseline of 3 is appropriate.

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 'Get customer details' clearly states a specific verb (get) and resource (customer). It is unambiguous but does not differentiate from sibling tools like search_customers, which also retrieves customer information.

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 usage guidance is provided. The description does not indicate when to use this tool over alternatives such as search_customers or get_payment_methods, nor does it mention any prerequisites like the need for an existing customer ID.

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

get_paymentC

Get payment details by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentIdYesPayment ID

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, and the description simply restates the basic getter behavior. It does not disclose additional traits such as error handling, authentication needs, or response format, leaving the agent without important behavioral context.

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?

A single, front-loaded sentence that is efficient and to the point. It is not under-specified, but it could be more informative 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 low-complexity getter, the description is minimally viable but lacks usage context, error behavior, and output expectations. With no annotations or output schema, the description does not fully compensate for these gaps.

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?

The schema provides full coverage for the single parameter with a description ('Payment ID'), so the baseline is 3. The tool description mentions 'by ID' but adds no extra semantic detail beyond what the schema already provides.

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 action (get) and resource (payment details) with an identifier (by ID). This distinguishes it from search_payments or get_payment_methods, though it doesn't explicitly name these alternatives.

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 like search_payments. It lacks context on typical usage scenarios, prerequisites, or exclusions.

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

get_payment_methodsA

Get available payment methods for your country

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must convey behavior. It states the tool returns payment methods based on 'your country', implying geo-dependence, but it does not disclose whether this is user-account or IP based, nor any error conditions. As a read-only getter, the risk is low, so a neutral score is appropriate.

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, front-loaded sentence: 'Get available payment methods for your country'. Every word is informative and there is no superfluous content.

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

Completeness4/5

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

For a zero-parameter getter with no output schema, the description is largely sufficient. It could optionally mention what the returned list contains or how 'country' is determined, but the core function is clear and the tool seems simple.

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 tool has zero parameters, so the baseline is 4. The description does not add parameter-specific details, but there are none to describe. No ambiguity is introduced.

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 identifies the resource ('available payment methods') and adds a specific scope ('for your country'), distinguishing it from sibling tools like get_payment (singular) or search_payments (general search). The verb 'Get' is specific and matches 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?

No guidance is provided on when to use this tool versus alternatives such as list_saved_cards or search_payments. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage solely from the name.

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

get_subscriptionC

Get subscription details

ParametersJSON Schema
NameRequiredDescriptionDefault
subscriptionIdYesSubscription ID

TDQS

C2.9/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 the full burden of behavioral transparency. It does not indicate that the operation is read-only, whether it requires special permissions, or what the response contains. The verb 'get' implies read-only, but that's implicit rather than explicitly disclosed.

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?

The description is a single short sentence, 'Get subscription details,' which is efficient and front-loaded. However, it is minimal and could be slightly more informative without sacrificing conciseness, but it earns its place as a clear and direct statement.

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 absence of annotations and an output schema, the description should explain what the tool returns, any error conditions, or how it relates to other subscription tools. It only states the basic action, which is insufficient for a tool expected to retrieve detailed information.

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?

The input schema already provides full documentation for the single parameter (subscriptionId with description 'Subscription ID'), giving 100% schema coverage. The description adds no additional parameter semantics, so a baseline score of 3 is appropriate.

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 a verb (get) and resource (subscription details), and it is distinct from sibling tools like create_subscription or update_subscription. However, it lacks specifics about the scope or what exactly 'details' includes, so it doesn't fully differentiate beyond the basic action.

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 provides no guidance on when to use this tool versus alternatives. There are no prerequisites, no mention of search tools, and no context about whether this is for current or historical data. It simply states the action without any usage context.

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

list_saved_cardsC

List customer's saved cards

ParametersJSON Schema
NameRequiredDescriptionDefault
customerIdYesCustomer ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'List' without mentioning pagination, rate limits, authentication needs, or return format. This minimal disclosure leaves significant uncertainty for an agent.

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 short sentence with no redundant information. It is concise and front-loaded, efficiently stating the core purpose.

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?

The description is extremely sparse, lacking any mention of return values, pagination, or edge cases. Without an output schema and with no annotations, the agent has no additional context to correctly interpret the result or understand how it differs from get_payment_methods.

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?

The input schema fully describes the only parameter customerId, achieving 100% schema description coverage. The description adds no additional semantic value beyond what the schema already provides, so the baseline score of 3 is appropriate.

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 action (List) and the resource (customer's saved cards). However, it does not explicitly differentiate this from the sibling tool get_payment_methods, which may cover overlapping functionality.

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 get_payment_methods or save_card. The description only states the basic action without any contextual cues or exclusions.

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

monitor_payment_statusC

Monitor payment status changes in real-time

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentIdYesPayment ID to monitor
webhookUrlNoURL to send status updates
checkIntervalNoCheck interval in seconds

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only says 'monitor payment status changes in real-time' without explaining how the monitoring works, whether it blocks, how updates are delivered, or the lifecycle of the monitoring session. This is a significant gap for a real-time 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?

The description is a single, clear sentence with no redundancy. It is concise and easy to parse, though it could include more detail 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 there is no output schema and no annotations, the description is incomplete. It does not explain what the tool returns, how the webhook and check interval interact, or how to stop monitoring. The agent is left without enough context to invoke it correctly.

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 descriptive parameter comments, so the baseline is 3. The description adds no additional meaning about parameters beyond what the schema already provides, such as the role of webhookUrl or checkInterval.

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 verb 'monitor' clearly indicates ongoing observation of payment status, distinguishing it from one-time retrieval tools like get_payment. The resource is specific ('payment status changes'), but the mechanism (webhook vs polling) is not stated, which leaves some 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios such as needing real-time notifications or that get_payment should be used for one-time status checks.

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

retry_failed_paymentC

Automatically retry a failed payment with smart logic

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentIdYesFailed payment ID
maxRetriesNoMaximum retry attempts
retryStrategyNoRetry strategyexponential_backoff

TDQS

C2.9/5.0
Behavior1/5

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

With no annotations, the description must disclose behavioral traits, but it only says 'automatically retry' and 'smart logic' without explaining what happens during retries, side effects, permission requirements, or failure outcomes. This is a significant gap 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?

The description is a single, front-loaded sentence with no fluff. It is concise and well-structured, though the vague 'smart logic' phrase could be replaced with more concrete details without harming conciseness.

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?

Despite having a complete schema, this is a mutation tool with no annotations and no output schema. The description lacks critical context such as return behavior, error semantics, or what 'smart logic' entails. It is not sufficiently complete for an agent to predict side effects or success criteria.

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?

The input schema provides full descriptions for all three parameters, including defaults and enum values. The description adds no extra meaning beyond the schema, so the baseline score of 3 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 clearly states the tool's function with a specific verb ('retry') and resource ('failed payment'), and adds 'smart logic' hinting at advanced behavior. It is easily distinguished from sibling tools like cancel_payment or create_refund.

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?

There is no explicit guidance on when to use this tool versus alternatives. While 'failed payment' implies the context, the description does not state prerequisites, exclusions, or preferred alternatives. It relies on the agent inferring usage from the name.

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

save_cardB

Save a card for future payments

ParametersJSON Schema
NameRequiredDescriptionDefault
cardNumberYesCard number
customerIdYesCustomer ID
securityCodeYesCVV/CVC
cardholderNameYesCardholder name
expirationYearYesExpiration year (YYYY)
expirationMonthYesExpiration month (MM)

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 the full burden of behavioral disclosure. It only states 'Save a card' without explaining security implications, tokenization, idempotency, duplicate handling, or what the response contains. This is minimal added value beyond the tool name.

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 is front-loaded with the action and purpose. It contains zero waste and is easy to parse.

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?

The tool has 6 required parameters including securityCode, and no output schema. The description does not clarify whether a card token is returned, how duplicates are handled, or any compliance/security considerations. Given the sensitive nature of card data, this is a significant gap.

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%, with each parameter having a clear description. The tool description itself adds no parameter-specific meaning, but with full schema coverage, the baseline of 3 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 'Save a card for future payments' clearly identifies the action (save), the resource (card), and the purpose (future payments). This distinguishes it from siblings like create_payment (which processes a payment) and list_saved_cards (which lists cards).

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?

The description implies the tool is used when you need to store a card for later payments, but it does not explicitly state when to use it vs alternatives like create_payment or get_payment_methods. There is no mention of exclusions or prerequisites.

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

schedule_payment_reminderC

Schedule automatic payment reminders

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount due
dueDateYesPayment due date (ISO format)
customerIdYesCustomer ID
reminderScheduleNoDays before due date to send reminders

TDQS

C2.9/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 burden of behavioral disclosure. It only states the action ('schedule automatic payment reminders') without explaining side effects, whether it modifies existing reminders, what happens upon scheduling, or if it's idempotent. This is a significant gap for a mutation-like 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?

The description is a single clear sentence with no wasted words. It front-loads the purpose and is appropriately concise for a simple tool, though it 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?

With full parameter coverage and a clear purpose, the tool is minimally viable for invocation. However, the absence of annotations and an output schema means the agent cannot anticipate return values or side effects, leaving a clear gap in completeness.

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 descriptions for all four parameters, so the schema carries the parameter semantics. The description adds no additional parameter-level meaning beyond the schema, but that is acceptable per the baseline.

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 'Schedule automatic payment reminders' uses a specific verb ('schedule') and resource ('automatic payment reminders'), clearly distinguishing it from sibling payment tools. However, it doesn't explicitly differentiate from alternatives or explain the scope, so it's clear but not outstanding.

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 vs alternatives. The description does not mention context, prerequisites, or exclusions. Given the presence of sibling tools, the agent receives no direction on when this is the appropriate choice.

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

search_customersC

Search for customers

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoFilter by email
limitNoMax results

TDQS

C2/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of disclosure, but it only states the action without revealing any behavioral traits such as return format, pagination behavior, ordering, or side effects. It adds no information beyond the tool name, essentially being a tautology.

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

Conciseness2/5

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

The description is extremely brief and front-loaded, but it is under-specified rather than appropriately concise. It repeats the tool name and provides zero useful information, which fails the requirement that every sentence earn its place.

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?

For a search tool with two optional parameters and no output schema, the description is insufficient. It does not explain what the results look like, whether unfiltered search is allowed, or any other contextual detail needed for an agent to invoke it correctly. The simplicity of the tool does not excuse the lack of essential information.

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?

The input schema provides full descriptions for both parameters (email and limit), achieving 100% schema description coverage. The description itself offers no additional parameter semantics, but since the schema is self-sufficient, the baseline score of 3 applies.

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

Purpose2/5

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

The description 'Search for customers' is essentially a restatement of the tool name 'search_customers' with spaces added. It does not add any specificity beyond the name and fails to distinguish this tool from siblings like get_customer or search_payments.

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?

There is no guidance on when to use this tool compared to alternatives like get_customer or create_customer. The description lacks any contextual cues about appropriate usage scenarios, required prerequisites, or intended use cases.

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

search_paymentsC

Search for payments with filters

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
dateToNoEnd date (ISO format)
statusNoPayment status (approved, pending, rejected)
dateFromNoStart date (ISO format)
payerEmailNoFilter by payer email

TDQS

C2.9/5.0
Behavior2/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It fails to mention result format, pagination, ordering, default limit, or how multiple filters are combined (e.g., AND logic). Users are left unaware of what the search returns or how it behaves with edge cases.

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?

The description is a single, front-loaded sentence with no unnecessary words. It is concise and to the point. While it lacks context, brevity is a plus and nothing is wasted.

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 no output schema and no annotations, the description should explain return values, default behaviors, and filter semantics. Instead, it offers a minimal statement. For a search tool with five optional parameters, this is insufficient for an agent to understand expected results, pagination, or error scenarios.

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?

The input schema covers all five parameters with descriptions (100% coverage), so the description need not repeat them. However, the description only says 'with filters' and does not add meaning about filter interplay, inclusivity of date ranges, or validation rules. Thus it meets the baseline but adds no extra semantic value.

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 uses a specific verb 'search' with a clear resource 'payments' and indicates the filter mechanism. It distinguishes itself from singular tools like get_payment and creation tools like create_payment. However, it does not specify the scope (e.g., all payments for a user) or what fields are searchable, which is slightly vague.

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 given on when to use this tool versus alternatives such as get_payment for a single record or search_customers for customer lookup. There is no mention of prerequisites, exclusions, or typical use cases. The description solely states what it does but not why one would choose it.

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

simulate_webhookA

Simulate a webhook notification for testing

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesWebhook type
paymentIdYesPayment ID for the webhook

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not explain whether simulation triggers real side effects, returns a response, or modifies data. The phrase 'for testing' implies no real impact, but this is not explicit, leaving significant ambiguity about the tool's behavior.

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 is front-loaded with the action and purpose. Every word contributes to clarity, with no unnecessary filler or redundancy.

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 simplicity of the tool (2 parameters, no output schema, no annotations), the description is somewhat minimal. It does not explain what 'simulate' entails or what the caller should expect. For a testing tool, a bit more context about the simulation mechanism or side effects would improve completeness, but the current level is adequate for a basic understanding.

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?

The schema has 100% parameter coverage, so the baseline is 3. The description adds no additional meaning beyond the schema, but the schema descriptions ('Webhook type', 'Payment ID for the webhook') are adequate for understanding the parameters. The enum values provide clear options.

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's action ('Simulate a webhook notification') and its purpose ('for testing'). The verb 'simulate' is specific, and the resource is well-defined, distinguishing it from sibling tools that perform actual payment operations.

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?

The description implies the tool is used for testing webhook notifications, but does not explicitly state when to use it versus other tools or when not to use it. It lacks guidance on prerequisites or scenarios beyond the basic testing context.

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

update_subscriptionB

Update subscription (pause, resume, modify)

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoNew amount (optional)
statusNoNew status
subscriptionIdYesSubscription ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden for behavioral disclosure. It only says 'update' and lists action types, but does not explain side effects (e.g., billing proration, cancellation implications, auth requirements, reversibility), leaving the agent unaware of the operational impact.

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?

The description is a single, efficient sentence with no filler words. It is front-loaded with the action and resource, and the parenthetical examples add value without bloat. Slightly under-specified but appropriately concise for the tool's simplicity.

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?

Despite having a clear schema, the tool is a mutating operation with no annotations and no output schema. The description does not convey necessary context about return values, error conditions, idempotency, or when status changes are valid. This is a significant gap for an update tool.

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?

The input schema provides complete descriptions for all parameters (100% coverage), so the description adds no extra meaning. The listed actions map loosely to the status enum but do not clarify relationships between amount and status. Baseline 3 is appropriate because the schema does the heavy lifting.

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 action ('update') and the resource ('subscription'), and adds examples of update types ('pause, resume, modify'), which distinguishes it from create/get siblings. It is specific and unambiguous.

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 create_subscription or get_subscription. The description does not mention prerequisites, exclusion conditions, or preferred scenarios.

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. 27 tool updatesv3.0.0
    • First observedbatch_create_payments
    • First observedcalculate_taxes
    • First observedcancel_payment
    • First observedcreate_customer
    • First observedcreate_payment
    • First observedcreate_payment_link
    • First observedcreate_pix_payment
    • First observedcreate_refund
    • First observedcreate_split_payment
    • First observedcreate_subscription
    • First observeddetect_fraud_risk
    • First observedexport_to_accounting
    • First observedgenerate_reports
    • First observedget_analytics_dashboard
    • First observedget_customer
    • First observedget_payment
    • First observedget_payment_methods
    • First observedget_subscription
    • First observedlist_saved_cards
    • First observedmonitor_payment_status
    • First observedretry_failed_payment
    • First observedsave_card
    • First observedschedule_payment_reminder
    • First observedsearch_customers
    • First observedsearch_payments
    • First observedsimulate_webhook
    • First observedupdate_subscription

TDQS

C2.9/5.0

Scored across 27 tools

Disambiguation4/5

Most tools target distinct resource-action pairs, but there is some potential confusion between general payment creation (create_payment) and specific variants (create_pix_payment, create_split_payment, batch_create_payments) as well as among reporting/analytics tools. Descriptions mitigate most ambiguity.

Naming Consistency4/5

All tools use snake_case and mostly follow a verb_noun pattern, but a few names deviate from the standard (batch_create_payments, monitor_payment_status, schedule_payment_reminder) and mix verb forms. The convention is more consistent than not.

Tool Count2/5

With 27 tools, the server exceeds the threshold for a well-scoped toolset. While Mercado Pago is a complex platform, the number is high and could overwhelm agents, and several tools could be consolidated (e.g., payment creation variants, reporting tools).

Completeness4/5

The toolset covers the core payment lifecycle (create, read, search, cancel, refund), customer management, subscriptions, cards, and adds analytics, fraud, and reporting. Minor gaps exist like no customer update/delete, no subscription cancellation, and no card removal, but these are not critical for basic workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Connects AI agents to Mercado Pago, the leading payment platform in Latin America. Create payment links, search payments, get payment details, issue refunds, and retrieve merchant info.
    5
    23 npm
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects AI agents to MercadoLibre, the largest e-commerce marketplace in Latin America. Search products, get item details, browse categories, track trends, and convert currencies.
    8
    15 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to accept payments in Mexico via Mercado Pago, including OXXO cash vouchers, SPEI bank transfers, cards, and Mercado Pago wallet, through a stateless hosted checkout.
    MIT