Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PAYPAY_ENVNosandbox or productionsandbox
MCP_HTTP_HOSTNoBind address127.0.0.1
MCP_HTTP_PORTNoPort when MCP_TRANSPORT=http3000
MCP_TRANSPORTNostdio or httpstdio
MCP_AUTH_TOKENNoBearer token for HTTP; mandatory for non-loopback binds
PAYPAY_API_KEYYesOPA API Key ID
PAYPAY_API_SECRETYesOPA API Key Secret
PAYPAY_MERCHANT_IDYesMerchant ID
PAYPAY_ENABLE_CANCELSNoSet to true to expose cancel_payment
PAYPAY_ENABLE_REFUNDSNoSet to true to expose refund_payment
MCP_HTTP_ALLOWED_ORIGINSNoComma-separated CORS allowlist

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_qr_codeA

Create a dynamic PayPay QR code that a customer can scan to pay. Returns the QR code both as a URL (deeplink + hosted image) and as an inline PNG image. Use wait_for_payment to poll until the customer completes the payment.

顧客がスキャンして支払うためのPayPay動的QRコードを作成します。 QRコードのURL(ディープリンクとホストされた画像)とインラインPNG画像の両方を返します。 顧客が支払いを完了するまで wait_for_payment でポーリングしてください。

get_payment_detailsA

Fetch the current status and details of a payment by merchantPaymentId. Returns status: CREATED | AUTHORIZED | COMPLETED | REFUNDED | FAILED | CANCELED. Use this for one-off status checks. For active polling, prefer wait_for_payment.

merchantPaymentIdで指定した取引の現在のステータスと詳細を取得します。 ステータス: CREATED / AUTHORIZED / COMPLETED / REFUNDED / FAILED / CANCELED。 単発の確認に使用してください。継続的な確認は wait_for_payment を推奨します。

wait_for_paymentA

Poll PayPay until a payment reaches a terminal state (COMPLETED, AUTHORIZED, REFUNDED, FAILED, CANCELED) or the timeout elapses. Uses PayPay's recommended 2–3s polling interval by default. Returns the final status and full payment detail.

取引が終了状態(COMPLETED / AUTHORIZED / REFUNDED / FAILED / CANCELED)に達するかタイムアウトするまで、PayPayをポーリングします。 PayPay推奨の2〜3秒間隔をデフォルトで使用します。 最終ステータスと取引詳細を返します。

delete_qr_codeA

Invalidate a QR code before it is paid. Cannot be used after payment has completed. Use this when an order is canceled before checkout, or to clean up expired codes.

支払い前のQRコードを無効化します。決済完了後は使用できません。 注文がキャンセルされた場合や、期限切れのコードを整理する際に使用してください。

Prompts

Interactive templates invoked by user choice

NameDescription
accept_single_paymentWalks through creating a QR code and waiting for the customer to pay. 単発の決済を受け付けるフロー。

Resources

Contextual data attached and managed by the client

NameDescription
opa_referenceEndpoint map, base URLs, auth scheme, and status vocabulary for the PayPay Open Payment API.
payment_statesPayPay payment lifecycle and the cancel-vs-refund decision rule, including the 00:14:59 JST window.
current_configNon-secret view of the active config: environment, merchant ID, base URL, transport. Credentials are never exposed.

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation4/5

create_qr_code and delete_qr_code are clearly distinct lifecycle actions, and get_payment_details vs wait_for_payment are differentiated as one-off status checks vs polling. There is slight conceptual overlap between the two payment-status tools, but the descriptions make the intended use clear.

Naming Consistency5/5

All tool names follow a consistent verb-first snake_case pattern: create_qr_code, get_payment_details, delete_qr_code, wait_for_payment. The naming is predictable and easy to reason about.

Tool Count5/5

Four tools is appropriate for a narrowly scoped PayPay QR code payment server. The count feels focused rather than sparse, with no redundant or filler tools.

Completeness4/5

The core lifecycle is covered: create a QR code, poll/wait for payment, fetch payment details, and invalidate an unpaid QR code. A refund/cancel operation is absent even though REFUNDED appears in the status enum, but this is likely beyond the server's primary checkout-focused scope.

Maintenance

ActivitySlowing
ResponsivenessNo issues