Qashier MCP by usefulapi

Read checkout sessions; create payment links, expire sessions and refund payments in Qashier.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
72%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'qashier_create_checkout_session' name length outside 3-30 rangein qashier_create_checkout_session
  • LOWTool 'qashier_expire_checkout_session' name length outside 3-30 rangein qashier_expire_checkout_session

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,078Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (0.84% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "qashier": {
      "url": "https://qashier.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://qashier.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢qashier_list_checkout_sessions(status, limit, starting_after, ending_before)

List online payment Checkout Sessions, newest first, with status (open/complete/expired), payment status, amount in cents, refunds and receipt number. Cursor pagination: pass starting_after with the last id. GET /checkout/sessions.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only sessions with this status.",
      "type": "string",
      "enum": [
        "open",
        "complete",
        "expired"
      ]
    },
    "limit": {
      "description": "Page size 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "starting_after": {
      "description": "Cursor: a session id; returns the next page after it.",
      "type": "string"
    },
    "ending_before": {
      "description": "Cursor: a session id; returns the previous page before it.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢qashier_get_checkout_session(session_id)

Get one Checkout Session by id: status, payment status, payment method, amount in cents, checkout url and refunds. GET /checkout/sessions/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "minLength": 1,
      "description": "Checkout Session id."
    }
  },
  "required": [
    "session_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴qashier_create_checkout_session(unit_amount, currency, return_url, success_url, customer_email, ...)

WRITE: create a payment Checkout Session for ONE item and return its payment url. It charges nothing until the customer pays at that url. Amount is in cents (SGD 12.50 = 1250). POST /checkout/sessions.

Input Schema

{
  "type": "object",
  "properties": {
    "unit_amount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Amount to charge in cents (non-negative integer)."
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "Currency code, uppercase, for example SGD, MYR, PHP."
    },
    "return_url": {
      "type": "string",
      "format": "uri",
      "description": "https URL where the customer returns after paying or cancelling."
    },
    "success_url": {
      "type": "string",
      "format": "uri",
      "description": "https URL where the customer goes when payment is complete."
    },
    "customer_email": {
      "description": "Email that receives the payment receipt.",
      "type": "string",
      "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,}$"
    },
    "expires_at": {
      "description": "Expiry as epoch seconds, 30 minutes to 24 hours from now (default 24 hours).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "description": "Optional idempotency key (max 255 chars). Reuse the same key to retry safely without a duplicate.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    }
  },
  "required": [
    "unit_amount",
    "currency",
    "return_url",
    "success_url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴qashier_expire_checkout_session(session_id, idempotency_key)

WRITE: expire an OPEN Checkout Session so the customer can no longer pay it. It fails if the session is not open. POST /checkout/sessions/{id}/expire.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "minLength": 1,
      "description": "Checkout Session id."
    },
    "idempotency_key": {
      "description": "Optional idempotency key (max 255 chars). Reuse the same key to retry safely without a duplicate.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    }
  },
  "required": [
    "session_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴qashier_refund_payment(session_id, amount)

WRITE, MONEY: refund a paid Checkout Session to the customer's original payment method. Omit amount for a full refund; amount is in cents. The refund runs asynchronously (status pending). This call has no idempotency key, so do NOT retry it: check qashier_get_checkout_session first. POST /refund.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "minLength": 1,
      "description": "Id of the completed Checkout Session to refund."
    },
    "amount": {
      "description": "Partial refund in cents. Omit to refund the full amount.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "session_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools