Instamojo MCP by usefulapi
Read Instamojo payment requests, payments and refunds; create payment links and refund payments.
使うべきか
品質と安全性
検出事項(4)
- LOWinstamojo_list_payment_requests 内
- LOWinstamojo_create_payment_request 内
- LOWinstamojo_disable_payment_request 内
- LOWinstamojo_enable_payment_request 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"instamojo": {
"url": "https://instamojo.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://instamojo.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(9)
🟢instamojo_list_payment_requests(page, limit)
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/.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Rows per page, 1-500 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢instamojo_get_payment_request(payment_request_id)
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}/.
入力スキーマ
{
"type": "object",
"properties": {
"payment_request_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Payment request id (a 32-character hex id from instamojo_list_payment_requests)."
}
},
"required": [
"payment_request_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡instamojo_create_payment_request(amount, purpose, buyer_name, email, phone, ...)
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/.
入力スキーマ
{
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000000,
"description": "Amount in INR (Instamojo documents a minimum of 9 and a maximum of 200000 per request)."
},
"purpose": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "What the payment is for (shown to the buyer). Often used as your own order reference."
},
"buyer_name": {
"description": "Name of the payer.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"email": {
"description": "Email of the payer (required when send_email is true).",
"type": "string",
"maxLength": 200,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"description": "Phone number of the payer (required when send_sms is true).",
"type": "string",
"minLength": 5,
"maxLength": 20
},
"redirect_url": {
"description": "URL the buyer is redirected to after paying (Instamojo appends payment_request_id, payment_status and payment_id).",
"type": "string",
"maxLength": 500,
"format": "uri"
},
"webhook": {
"description": "URL Instamojo POSTs the payment details to after a payment.",
"type": "string",
"maxLength": 500,
"format": "uri"
},
"allow_repeated_payments": {
"description": "true = the link accepts several payments (Instamojo's default); false = one payment only.",
"type": "boolean"
},
"send_email": {
"description": "true = Instamojo emails the link to the payer (needs email). Default false: nothing is sent.",
"type": "boolean"
},
"send_sms": {
"description": "true = Instamojo texts the link to the payer (needs phone). Default false: nothing is sent.",
"type": "boolean"
}
},
"required": [
"amount",
"purpose"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴instamojo_disable_payment_request(payment_request_id)
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/.
入力スキーマ
{
"type": "object",
"properties": {
"payment_request_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Payment request id."
}
},
"required": [
"payment_request_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡instamojo_enable_payment_request(payment_request_id)
WRITE: enable a previously disabled payment request so its link accepts payments again. POST /payment-requests/{id}/enable/.
入力スキーマ
{
"type": "object",
"properties": {
"payment_request_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Payment request id."
}
},
"required": [
"payment_request_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢instamojo_get_payment(payment_id)
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}/.
入力スキーマ
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Payment id, e.g. MOJO5a06005J21512197 (from instamojo_get_payment_request)."
}
},
"required": [
"payment_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢instamojo_list_refunds(page, limit)
List refunds with id (case id), payment id, status, reason type, refund and total amount (INR) and date. Paged: use next_page. GET /refunds/.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Use next_page from the previous reply.",
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"limit": {
"description": "Rows per page, 1-500 (default 50).",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢instamojo_get_refund(refund_id)
One refund by its id (the case id from instamojo_list_refunds, e.g. C5c0751272). GET /refunds/{id}/.
入力スキーマ
{
"type": "object",
"properties": {
"refund_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Refund id (case id)."
}
},
"required": [
"refund_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴instamojo_create_refund(payment_id, type, body, refund_amount, transaction_id, ...)
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/.
入力スキーマ
{
"type": "object",
"properties": {
"payment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Payment id (MOJO...) of the payment to refund."
},
"type": {
"type": "string",
"enum": [
"RFD",
"TNR",
"QFL",
"QNR",
"EWN",
"TAN",
"PTH"
],
"description": "Reason 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."
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 500,
"description": "Text explaining the refund."
},
"refund_amount": {
"description": "Amount to refund in INR; default the full paid amount.",
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"transaction_id": {
"description": "Your own unique id for this refund case; Instamojo uses it to refuse a replayed call (mandatory from the second refund case onwards).",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"confirm": {
"description": "Must be true to actually create the refund; otherwise only a preview is returned.",
"type": "boolean"
}
},
"required": [
"payment_id",
"type",
"body"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス