Skip to main content
Glama

Instamojo MCP by usefulapi

Server Details

Read Instamojo payment requests, payments and refunds; create payment links and refund payments.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation5/5

Each tool maps to a distinct resource/action: payment request create/list/get/enable/disable, payment get, and refund create/list/get. The enable/disable pair and payment-request-vs-payment distinction are clearly separated by names and descriptions.

Naming Consistency5/5

All tools use the instamojo_ prefix followed by a consistent snake_case verb_noun pattern. Pluralization only changes predictably for list operations.

Tool Count5/5

Nine tools is well scoped for the payment-request, payment, and refund surface. There are no redundant tools, and the set is not too thin for the domain.

Completeness4/5

The set covers payment request creation, listing, retrieval, enable/disable, refund creation/list/get, and payment retrieval. The main gap is no account-wide list_payments tool, though payment IDs can often be found through payment request details or refunds.

Available Tools

9 tools
instamojo_create_payment_requestCreate payment requestAInspect

WRITE: create a payment request (a payment link) and return its id and URLs (longurl, shorturl) to share with the buyer. Amount is in INR. The buyer is NOT emailed or texted unless send_email / send_sms is true (they then need email / phone). Nothing is charged; the buyer pays on the link. POST /payment-requests/.

NameRequiredDescriptionDefault
emailNoEmail of the payer (required when send_email is true).
phoneNoPhone number of the payer (required when send_sms is true).
amountYesAmount in INR (Instamojo documents a minimum of 9 and a maximum of 200000 per request).
purposeYesWhat the payment is for (shown to the buyer). Often used as your own order reference.
webhookNoURL Instamojo POSTs the payment details to after a payment.
send_smsNotrue = Instamojo texts the link to the payer (needs phone). Default false: nothing is sent.
buyer_nameNoName of the payer.
send_emailNotrue = Instamojo emails the link to the payer (needs email). Default false: nothing is sent.
redirect_urlNoURL the buyer is redirected to after paying (Instamojo appends payment_request_id, payment_status and payment_id).
allow_repeated_paymentsNotrue = the link accepts several payments (Instamojo's default); false = one payment only.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true; the description adds real value on top by clarifying that no money moves at creation time, that buyer contact only happens when send_email/send_sms are true, and that the endpoint is POST /payment-requests/. It omits auth requirements and rate limits.

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

Conciseness5/5

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

Four tight sentences, front-loaded with the "WRITE:" marker and the primary outcome, then money semantics, then notification caveats, then the endpoint. No filler sentences.

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?

With 10 parameters and no output schema, the description compensates by naming the return fields (id, longurl, shorturl) and the unit of amount. Only the broader response payload shape and error behavior are left unmentioned, which is acceptable.

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 every parameter (including the email/phone-conditional and webhook/redirect semantics) is already documented in the schema. The description's notes on INR and the email/phone prerequisites largely restate schema content, so it sits at the baseline rather than adding new meaning.

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?

States a specific verb and resource ("create a payment request (a payment link)") plus the returned artifacts (id, longurl, shorturl), which cleanly separates it from siblings like instamojo_get_payment_request, instamojo_list_payment_requests and the enable/disable pair.

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

Usage Guidelines4/5

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

Explains the transactional model — nothing is charged and the buyer pays on the link — plus the conditional notification behavior, which tells the agent when this tool versus a charge/refund flow applies. It does not explicitly name a sibling to prefer or state exclusions, so it stops short of full routing guidance.

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

instamojo_create_refundCreate refundA
Destructive
Inspect

WRITE (moves money): refund a payment, in full or in part. Instamojo allows only ONE refund per payment, so a partial refund cannot be topped up later. Without confirm: true nothing is sent and the call returns a preview of the refund; ask the user to confirm, then call again with confirm: true. Reason types: RFD = duplicate/delayed payment, TNR = product/service no longer available, QFL = customer not satisfied, QNR = product lost/damaged, EWN = digital download issue, TAN = event was canceled/changed, PTH = problem not described above. POST /refunds/.

NameRequiredDescriptionDefault
bodyYesText explaining the refund.
typeYesReason code. RFD = duplicate/delayed payment, TNR = product/service no longer available, QFL = customer not satisfied, QNR = product lost/damaged, EWN = digital download issue, TAN = event was canceled/changed, PTH = problem not described above.
confirmNoMust be true to actually create the refund; otherwise only a preview is returned.
payment_idYesPayment id (MOJO...) of the payment to refund.
refund_amountNoAmount to refund in INR; default the full paid amount.
transaction_idNoYour own unique id for this refund case; Instamojo uses it to refuse a replayed call (mandatory from the second refund case onwards).

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond destructiveHint=true by disclosing the irreversible business rule (only ONE refund per payment, partial refunds cannot be topped up) and the dry-run/confirm gating behavior. This is exactly the context an agent needs before moving money.

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 critical warning and confirm workflow are front-loaded, which is good. But the full reason-code glossary duplicates the schema's enum descriptions word-for-word, consuming a large share of the text for zero added information.

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 destructive, no-output-schema money-movement tool, it covers the safety essentials: preview behavior, irreversibility, and the partial-refund constraint. Minor gaps remain (transaction_id replay protection and error/duplicate-call behavior are only in the schema).

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?

Schema coverage is 100%, so the baseline is 3; the description earns more by explaining how confirm changes the call's effect and by tying refund_amount semantics to the one-refund-only constraint. It loses a point for restating the enum reason codes verbatim rather than adding meaning.

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?

Opens with an explicit verb+resource ('refund a payment, in full or in part') and a WRITE/moves-money label. The scope (one refund per payment) and endpoint are stated, which clearly separates it from read-only siblings like instamojo_get_refund and instamojo_list_refunds.

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

Usage Guidelines4/5

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

Gives a concrete usage protocol: call without confirm to get a preview, ask the user, then call again with confirm: true. It does not name sibling alternatives (e.g. use instamojo_get_refund to check status), so it falls just short of a 5.

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

instamojo_disable_payment_requestDisable payment requestA
Destructive
Inspect

WRITE: disable a payment request so its link no longer accepts payments (instamojo_enable_payment_request undoes it). Existing payments are not touched. POST /payment-requests/{id}/disable/.

NameRequiredDescriptionDefault
payment_request_idYesPayment request id.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true; the description adds value beyond that by stating what is NOT affected (existing payments are untouched) and that the state is reversible via enable. It also surfaces the underlying endpoint, but does not mention idempotency of repeated disables or error behavior for an already-disabled request.

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?

Front-loaded with a 'WRITE:' marker, then effect, reversibility, side-effect scope, and endpoint in roughly two sentences. No filler and nothing an agent needs is buried.

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

Completeness5/5

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

For a single-parameter state-change tool with no output schema, the description covers the mutation's effect, its reversibility, and the blast radius (existing payments unaffected). Combined with annotations that flag it as destructive, an agent has everything needed to call it safely.

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?

Only one parameter and schema description coverage is 100%, so the pattern and required-ness are fully documented by the schema. The description adds no extra meaning about the id format or where to obtain it, so baseline 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?

States a specific verb (disable) plus resource (payment request) and the concrete effect: the link no longer accepts payments. It explicitly distinguishes itself from instamojo_enable_payment_request, so an agent can separate the pair without opening either schema.

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

Usage Guidelines4/5

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

Clear usage context: use it to stop a payment link from accepting payments, and the reverse operation is named. There is no explicit 'when not to use' guidance (e.g. versus deleting or letting it expire), but the selection signal against the sibling is unambiguous.

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

instamojo_enable_payment_requestEnable payment requestA
Idempotent
Inspect

WRITE: enable a previously disabled payment request so its link accepts payments again. POST /payment-requests/{id}/enable/.

NameRequiredDescriptionDefault
payment_request_idYesPayment request id.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only carry openWorldHint and idempotentHint, so the description usefully supplies the mutation semantics ('WRITE:') and the real-world effect on the payment link. It does not say what happens if the request is already enabled (error vs. no-op), which is the one behavior an agent would still want confirmed.

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?

One front-loaded sentence beginning with the mutation marker and the verb, followed by the endpoint. No filler whatsoever.

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 single-parameter mutation with annotations covering idempotency and open-world scope, the description covers purpose and effect adequately. The missing piece is the already-enabled case, which matters given idempotentHint=true.

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?

Only one parameter and schema coverage is 100%, so the schema already documents payment_request_id fully. The description adds no format or lookup guidance beyond that, so baseline 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?

States a specific verb and resource ('enable a previously disabled payment request') plus the concrete outcome ('its link accepts payments again'), and the WRITE prefix plus endpoint make it trivially distinguishable from the disable sibling.

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

Usage Guidelines4/5

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

The precondition 'previously disabled' implicitly tells the agent when this applies, and the sibling set makes the alternative (instamojo_disable_payment_request) obvious. It never names the alternative or states when not to use it explicitly, so it stops short of 5.

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

instamojo_get_paymentGet paymentA
Read-only
Inspect

One payment by its id (MOJO...): status (Credit = paid, Failed), amount, fees, buyer, instrument (card, UPI, netbanking, wallet), failure reason, payout and the payment request it belongs to. GET /payments/{id}/.

NameRequiredDescriptionDefault
payment_idYesPayment id, e.g. MOJO5a06005J21512197 (from instamojo_get_payment_request).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds valuable behavioral context: it enumerates returned fields and clarifies status semantics such as Credit = paid and Failed. It does not discuss error cases or not-found behavior, which keeps it below a 5.

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 definition is one compact sentence with the core operation front-loaded and no wasted language. Its density is appropriate because every clause carries return-field or status information.

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?

With no output schema, the description appropriately compensates by listing the fields returned and explaining status values. It is largely complete for a single-record read, though it omits edge cases such as invalid or missing ids.

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 single payment_id parameter is already documented with pattern and example. The description reinforces the MOJO-prefixed id format but adds no syntax or sourcing detail beyond what the schema 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 states a specific resource and scope: one payment retrieved by its id. It effectively distinguishes payments from sibling payment-request/refund tools through the resource, though it does not explicitly name an alternative tool.

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?

Usage is implied: call this with a payment id to retrieve a single payment. There is no explicit when-to-use/when-not guidance or comparison to sibling tools such as instamojo_get_payment_request.

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

instamojo_get_payment_requestGet payment requestA
Read-only
Inspect

One payment request by id, with its status and the payments made against it (the payment ids go to instamojo_get_payment). GET /payment-requests/{id}/.

NameRequiredDescriptionDefault
payment_request_idYesPayment request id (a 32-character hex id from instamojo_list_payment_requests).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety profile is covered. The description adds genuine value beyond that by disclosing the response composition (status plus payments made against it) despite there being no output schema, though it says nothing about missing-id/404 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?

A single sentence that front-loads the tool's purpose, appends the return payload, then the sibling routing hint and the underlying endpoint. Every clause carries information; nothing is padding.

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 one-parameter read tool with no output schema, the definition covers what it fetches and roughly what comes back, which is enough to call it correctly. It stops short of detailing the full field set of a payment request or error conditions, so not a 5.

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

Parameters3/5

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

Schema coverage is 100% and the schema itself explains the 32-character hex id and its origin in instamojo_list_payment_requests. The description only restates 'by id' and adds no format or source detail beyond the schema, so baseline 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?

States a specific verb and resource ('one payment request by id') plus the payload content ('status and the payments made against it'). The singular 'by id' scope implicitly but clearly separates it from instamojo_list_payment_requests, and it even names the sibling that consumes the returned payment ids.

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?

Usage is implied by the 'by id' scope, and the description routes downstream work to instamojo_get_payment. However, it never explicitly says when to call this instead of instamojo_list_payment_requests, nor what to do if the request id is unknown.

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

instamojo_get_refundGet refundA
Read-only
Inspect

One refund by its id (the case id from instamojo_list_refunds, e.g. C5c0751272). GET /refunds/{id}/.

NameRequiredDescriptionDefault
refund_idYesRefund id (case id).

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds the underlying endpoint shape (GET /refunds/{id}/), which is mildly useful context, but says nothing about what is returned or failure behavior for an invalid id.

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?

Very short and front-loaded — the core purpose leads, with provenance and endpoint as trailing fragments. Nothing is wasted, though the trailing HTTP path is of marginal use to an agent.

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?

A simple single-parameter read with full schema coverage and annotations carrying the safety profile; the description covers what it does and where the id comes from. The only gap is that no output shape is described, and there is no output schema to compensate.

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?

Schema coverage is 100% so the schema already documents the single parameter; the description still adds value by giving a concrete id example (C5c0751272) and its provenance ('case id from instamojo_list_refunds'), clarifying the expected format beyond the pattern regex.

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?

States a specific verb and resource ('One refund by its id') and disambiguates against the sibling list tool by naming instamojo_list_refunds as the source of the id. It could be sharper about it being a single-record fetch versus the list, but an agent can tell the two apart.

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

Usage Guidelines4/5

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

Provides a clear precondition: the id is the 'case id from instamojo_list_refunds'. That effectively routes the agent to the right sibling first. No explicit when-not or error handling is given, so it falls short of a 5.

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

instamojo_list_payment_requestsList payment requestsA
Read-only
Inspect

List the payment requests (payment links) of the account with id, purpose, amount (INR), buyer, status (Pending, Sent, Failed, Completed), short and long URL and timestamps. Paged: use next_page. GET /payment-requests/.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
limitNoRows per page, 1-500 (default 50).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered; the description adds real value on top by naming the status values (Pending, Sent, Failed, Completed) an agent will encounter and disclosing the pagination mechanism. It stops short of describing default page size handling or the shape of the paging envelope.

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?

One compact sentence listing the payload, then a pagination hint and the endpoint. Front-loaded with the action and resource, no filler, every clause carries information.

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?

With no output schema, the description compensates by enumerating the fields returned (id, purpose, amount, buyer, status, URLs, timestamps), which is what an agent needs to plan downstream steps. The only gap is not stating the pagination envelope or how to detect the last page.

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 both parameters already document their ranges, defaults and the next_page pattern. The description's 'use next_page' line largely repeats the schema, so the baseline 3 applies — no additional semantics such as what limit to choose or how deep paging behaves.

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?

States a specific verb and resource ('List the payment requests (payment links) of the account') and enumerates the returned fields, which is well beyond restating the name. The plural 'List' implicitly separates it from instamojo_get_payment_request, but no sibling is named explicitly.

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 pagination instruction ('Paged: use next_page') gives concrete usage guidance for multi-page retrieval. However, there is no statement of when to prefer this over instamojo_get_payment_request for a single record, nor any prerequisites or exclusions.

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

instamojo_list_refundsList refundsA
Read-only
Inspect

List refunds with id (case id), payment id, status, reason type, refund and total amount (INR) and date. Paged: use next_page. GET /refunds/.

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
limitNoRows per page, 1-500 (default 50).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful behavioral context beyond that: the underlying GET /refunds/ endpoint and the fact that results are paged via next_page. It omits auth/rate-limit details, which is a minor gap given the annotation coverage.

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?

Two compact sentences, front-loaded with the core purpose and followed by pagination guidance and the endpoint. The field enumeration is slightly dense but every element (returned fields, paging, endpoint) is functional.

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 simple read-only listing tool with annotations covering safety and a fully described schema, the definition is complete. The absence of an output schema is offset by the description naming the fields returned. Only marginal gaps (no auth/pagination mechanics detail) remain.

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 both page and limit are already documented in the schema, including the next_page hint. The description's 'Paged: use next_page' echoes the schema rather than adding new meaning, so the baseline 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?

States a specific verb (List) and resource (refunds), and enumerates the fields returned (id, payment id, status, reason type, amounts, date). It does not explicitly name or differentiate from the singular sibling instamojo_get_refund, but the 'list' framing and field enumeration make the purpose unambiguous.

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 usage (browse/paginate refunds) and notes 'Paged: use next_page', but gives no explicit when-to-use versus when-not guidance, and never contrasts with instamojo_get_refund for single-record retrieval. The context is inferable but not spelled out.

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

Tool Schema Changelog

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

  1. 9 tool updates
    • First observedinstamojo_create_payment_request
    • First observedinstamojo_create_refund
    • First observedinstamojo_disable_payment_request
    • First observedinstamojo_enable_payment_request
    • First observedinstamojo_get_payment
    • First observedinstamojo_get_payment_request
    • First observedinstamojo_get_refund
    • First observedinstamojo_list_payment_requests
    • First observedinstamojo_list_refunds

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Razorpay payment gateway through natural language, allowing users to fetch payments, manage orders, issue refunds, and list settlements.
    3 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables interaction with the Conekta payment API to manage orders, customers, subscriptions, and financial transactions. It provides a comprehensive suite of tools for core payment operations like processing refunds, creating checkouts, and monitoring account balances.
    32
    2
    -
  • 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
    27 npm
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.