Instamojo MCP by usefulapi
io.usefulapi/instamojousefulapi.iostreamable-httpv1.0.0Scanned
Read Instamojo payment requests, payments and refunds; create payment links and refund payments.
9 tools: 2 can delete or cancel things, 2 do something that can't be undone and 5 only read.
- Reads private data · 0
- Reads text others write · 9
- Can send data out · 1
- No findings
Anlyon alternative
4 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
9 tools
Deletes or cancels 2Claude Code: deny
instamojo_create_refundWRITE (moves money): refund a payment, in full or in part.Reads text others writeNo findings
Why it is in this group
- The name "instamojo_create_refund" says "create": a word for a change.
- The name "instamojo_create_refund" also says "refund": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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/.
Annotations the server declares
- title: Create refund
- destructiveHint: true
- openWorldHint: true
instamojo_disable_payment_requestWRITE: disable a payment request so its link no longer accepts payments (instamojo_enable_payment_request undoes it).Reads text others writeNo findings
Why it is in this group
- The name "instamojo_disable_payment_request" says "disable": a word for a change.
- The name "instamojo_disable_payment_request" also says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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/.
Annotations the server declares
- title: Disable payment request
- destructiveHint: true
- openWorldHint: true
Can't be undone 2Claude Code: ask
instamojo_create_payment_requestWRITE: create a payment request (a payment link) and return its id and URLs (longurl, shorturl) to share with the buyer.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "instamojo_create_payment_request" says "create": a word for a change.
- The name "instamojo_create_payment_request" also says "payment": a word that usually means money moves, which cannot be taken back.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a destination (input.phone): what the tool writes goes there.
- outboundThe input takes a URL (input.webhook): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it 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/.
Annotations the server declares
- title: Create payment request
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
instamojo_enable_payment_requestWRITE: enable a previously disabled payment request so its link accepts payments again.Reads text others writeNo findings
Why it is in this group
- The name "instamojo_enable_payment_request" says "enable": a word for a change.
- The name "instamojo_enable_payment_request" also says "payment": a word that usually means money moves, which cannot be taken back.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it WRITE: enable a previously disabled payment request so its link accepts payments again. POST /payment-requests/{id}/enable/.
Annotations the server declares
- title: Enable payment request
- idempotentHint: true
- openWorldHint: true
Only reads 5Show 5 read-only tools
instamojo_get_paymentOne 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 …Reads text others writeNo findings
Why it is in this group
- The name "instamojo_get_payment" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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}/.
Annotations the server declares
- title: Get payment
- readOnlyHint: true
- openWorldHint: true
instamojo_get_payment_requestOne payment request by id, with its status and the payments made against it (the payment ids go to instamojo_get_payment).Reads text others writeNo findings
Why it is in this group
- The name "instamojo_get_payment_request" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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}/.
Annotations the server declares
- title: Get payment request
- readOnlyHint: true
- openWorldHint: true
instamojo_get_refundOne refund by its id (the case id from instamojo_list_refunds, e.g.Reads text others writeNo findings
Why it is in this group
- The name "instamojo_get_refund" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it One refund by its id (the case id from instamojo_list_refunds, e.g. C5c0751272). GET /refunds/{id}/.
Annotations the server declares
- title: Get refund
- readOnlyHint: true
- openWorldHint: true
instamojo_list_payment_requestsList 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.Reads text others writeNo findings
Why it is in this group
- The name "instamojo_list_payment_requests" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "list" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it 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/.
Annotations the server declares
- title: List payment requests
- readOnlyHint: true
- openWorldHint: true
instamojo_list_refundsList refunds with id (case id), payment id, status, reason type, refund and total amount (INR) and date.Reads text others writeNo findings
Why it is in this group
- The name "instamojo_list_refunds" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List refunds with id (case id), payment id, status, reason type, refund and total amount (INR) and date. Paged: use next_page. GET /refunds/.
Annotations the server declares
- title: List refunds
- readOnlyHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write9
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
No check matched anything in these tool definitions. That is not a safety guarantee.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http instamojo https://instamojo.usefulapi.io/mcpclaude mcp add --transport http instamojo https://instamojo.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__instamojo__instamojo_list_payment_requests",
"mcp__instamojo__instamojo_get_payment_request",
"mcp__instamojo__instamojo_get_payment",
"mcp__instamojo__instamojo_list_refunds",
"mcp__instamojo__instamojo_get_refund"
],
"ask": [
"mcp__instamojo__instamojo_create_payment_request",
"mcp__instamojo__instamojo_enable_payment_request"
],
"deny": [
"mcp__instamojo__instamojo_disable_payment_request",
"mcp__instamojo__instamojo_create_refund"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as instamojo. Review it before you use it.
Capability tags behind 9 rules
- mcp__instamojo__instamojo_list_payment_requests untrusted-input
- mcp__instamojo__instamojo_get_payment_request untrusted-input
- mcp__instamojo__instamojo_create_payment_request untrusted-input, outbound
- mcp__instamojo__instamojo_disable_payment_request untrusted-input
- mcp__instamojo__instamojo_enable_payment_request untrusted-input
- mcp__instamojo__instamojo_get_payment untrusted-input
- mcp__instamojo__instamojo_list_refunds untrusted-input
- mcp__instamojo__instamojo_get_refund untrusted-input
- mcp__instamojo__instamojo_create_refund untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.usefulapi/instamojo/verify?hash=d573b1c7b6e9325bc30671980a0511f7d85071b52b1a3617ba85620bf921a7af" | jq -e '.changed == false'Pinned hash d573b1c7b6e9, from Oct 24, 2026, 21:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.usefulapi/instamojo/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.usefulapi/instamojo)Source: MCP Registry · repository. Synced Oct 24, 2026, 21:17 UTC.