Memungkinkan AI client untuk melakukan preflight check pembayaran, memantau otorisasi yang belum selesai, dan mengevaluasi order perdagangan HIP-3 terhadap kebijakan lokal.
Juga dikenal sebagai base-buzz/paystage, mcp, @paystage/mcp
- Stars
- 5
- Tools
- —
- Unduhan, 30 hari
- —
- Versi terbaru
- 0.3.2
- Commit terakhir
- 14 Nov 2026
- Lisensi
- MIT
Apa itu PayStage MCP?
PayStage adalah MCP server. Memungkinkan AI client untuk melakukan preflight check pembayaran, memantau otorisasi yang belum selesai, dan mengevaluasi order perdagangan HIP-3 terhadap kebijakan lokal.
Ringkasan dibuat dari README proyek
Tentang PayStage MCP server
PayStage memungkinkan pengelolaan keamanan finansial dan kepatuhan perdagangan langsung dari dalam AI agent. Developer dapat menggunakan MCP server ini untuk melakukan preflight check pada pembayaran x402 dan order perdagangan HIP-3 terhadap aturan pengeluaran lokal. Tool ini berfungsi sebagai gate kebijakan lokal yang memberikan verdict seperti allow, review, atau do not trade tanpa benar-benar melakukan order atau merekomendasikan perdagangan tertentu.
User dapat menyiapkan server melalui npx atau npm, dengan konfigurasi melalui koneksi stdio. Server ini dapat dikustomisasi menggunakan environment variable PAYSTAGE_POLICY_PATH untuk mengarah ke file policy.json lokal untuk aturan pengeluaran, atau PAYSTAGE_RPC_URL untuk menimpa Base RPC URL. Server ini menyediakan tool spesifik untuk menampilkan daftar otorisasi ERC-20, Permit2, dan EIP-3009 yang masih outstanding, serta tool untuk menandai otorisasi yang sudah disetujui namun belum diselesaikan (settled).
Selain pengecekan sederhana, sistem ini mendukung verifikasi tanda terima yang telah ditandatangani untuk memastikan keputusan tidak diubah. Hal ini membuatnya sangat cocok bagi developer yang membangun agent yang membutuhkan kepatuhan ketat terhadap file kebijakan lokal dan pola pengeluaran.
Apa yang bisa Anda lakukan dengannya
- 1Validasi usulan pembayaranMinta AI untuk memeriksa apakah usulan pembayaran x402 sudah sesuai dengan kebijakan pengeluaran lokal Anda sebelum melakukan signing.
- 2Pantau otorisasi tertundaBiarkan agent mengidentifikasi otorisasi ERC-20 atau Permit2 yang masih outstanding dan memerlukan perhatian.
- 3Audit order perdaganganGunakan agent untuk mengevaluasi order perdagangan HIP-3 terhadap TradePolicy tertentu guna memutuskan apakah order tersebut dapat dilanjutkan.
- 4Verifikasi integritas keputusanPeriksa tanda terima yang telah ditandatangani untuk mengonfirmasi bahwa verdict kebijakan tersebut autentik dan tidak dimanipulasi.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal PayStage MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal PayStage MCP di Claude Code
$ claude mcp add mcp -- npx -y @paystage/mcpInstal PayStage MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Instal PayStage MCP di VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Instal PayStage MCP di VS Code CLI
$ code --add-mcp '{"name":"mcp","type":"stdio","command":"npx","args":["-y","@paystage/mcp"]}'Instal PayStage MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Instal PayStage MCP di Codex
$ codex mcp add mcp -- npx -y @paystage/mcpInstal PayStage MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp] command = "npx" args = ["-y", "@paystage/mcp"]
Instal PayStage MCP di Gemini CLI
$ gemini mcp add -s user mcp npx -- -y @paystage/mcpInstal PayStage MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Konfigurasi
PAYSTAGE_POLICY_PATHPath to policy.json spending rules
PAYSTAGE_RPC_URLBase RPC URL override
| Nama | Deskripsi | Tipe |
|---|---|---|
| PAYSTAGE_POLICY_PATH | Path to policy.json spending rules | |
| PAYSTAGE_RPC_URL | Base RPC URL override |
Pengecekan otomatis
Berjalan 13 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauLolos
- Lisensi open source (OSI)Lolos
- Ada commit atau release dalam satu tahun terakhirLolos
- Nama package tidak mirip dengan package populerLolos
- Remote endpoint menggunakan HTTPSTidak diperiksa
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Tidak ada instruksi tersembunyi untuk modelLolos
- Tidak ada advisory kritis pada paket atau dependensinyaLolos
README
Lihat di GitHub@paystage/mcp
PayStage umbrella MCP server: payment preflight, auth watch, HIP-3 trade preflight, and velocity checks.
Not financial advice. The trade preflight tool is a local policy gate only — it does not place orders or recommend trades.
Published on npm as @paystage/mcp — see the npm page for the current version rather than a number here that can go stale.
What a valid receipt means
paystage-verify returning exit 0 means the key it verified against signed this receipt
and it has not been altered. That is all it means — and which key that was matters:
key_source: "published"→ PayStage's published key: the issuer signed it.key_source: "supplied"(you passed--keyor--key-url) → the key you named signed it, which is a weaker claim and not evidence about PayStage at all. Exit 0 on that path says nothing more than that the holder of that key produced the receipt.
It does not mean the payment happened — settlement is a separate on-chain event. It does not mean the verdict was correct — a receipt records a decision, not the soundness of the policy behind it. And it does not identify the caller; no caller identity is bound into the payload, by design.
Two narrower points a careful reader should know:
key_sourcetells you where the verifying key came from:published(PayStage's endpoint) orsupplied(someone passed--key). A receipt verified against a supplied key proves only that the holder of that key signed it.- A receipt with
signed: falseis still useful: the request and policy digests are checkable, so "over these inputs" survives even when provenance does not. --max-ageis your policy, not the issuer's. Nothing in the signed payload says how long a verdict is meant to hold, so a freshness bound is set by the verifier. If "this verdict is good for 24 hours" ever becomes the issuer's promise it has to be signed, and that is a format change.
Install
npx -y -p @paystage/mcp paystage-mcp
The server waits silently for an agent app to connect. That's normal; press Ctrl+C to exit. To try the tools without an app, run npx @modelcontextprotocol/inspector npx -y -p @paystage/mcp paystage-mcp.
Or:
npm install @paystage/mcp
The package exposes a stdio MCP server (bin: paystage-mcp).
MCP configuration
{
"mcpServers": {
"paystage": {
"command": "npx",
"args": ["-y", "-p", "@paystage/mcp", "paystage-mcp"],
"env": {
"PAYSTAGE_POLICY_PATH": "./policy.json"
}
}
}
}
Environment variables (all optional):
PAYSTAGE_POLICY_PATH— path topolicy.jsonspending rulesPAYSTAGE_RPC_URL— Base RPC URL override
Tools
evaluate_mcp_payment — Available now
Evaluates a proposed x402 payment against a local policy file and returns a verdict before the agent signs anything.
list_outstanding_auths — Available now
Lists outstanding ERC-20, Permit2, and EIP-3009 authorizations.
evaluate_outstanding_auths — Available now
Flags outstanding authorizations that need attention (e.g. authorized but never settled).
evaluate_hip3_trade — Available now
Evaluates a proposed HIP-3 / trade.xyz order against a local TradePolicy and returns a
decision: allow | review | do_not_trade.
Backed by @paystage/trade-preflight
(published separately), which can also be run standalone:
npx -y @paystage/trade-preflight
The policy is passed as a tool argument; no extra environment variables are required for this tool.
Packages
| Package | Version | Purpose |
|---|---|---|
@paystage/mcp |
Umbrella server (5 tools) | |
@paystage/preflight |
x402 payment preflight | |
@paystage/auth-watch |
Outstanding-auth tools | |
@paystage/trade-preflight |
HIP-3 / trade.xyz trade preflight | |
@paystage/velocity |
Rate / spend-pattern checks | |
@paystage/policy |
Shared policy schema + loader |
Verify a receipt
Every verdict can carry a signed receipt. paystage-verify checks one without trusting
us — it fetches the published key and verifies the signature over the canonical payload.
npx -y -p @paystage/mcp paystage-verify receipt.json
cat receipt.json | npx -y -p @paystage/mcp paystage-verify -
Exit codes are distinct on purpose:
| Code | Meaning |
|---|---|
| 0 | signature matches the payload |
| 1 | invalid — altered, or signed by a different key |
| 2 | unsigned — a record of the decision, with no proof of who made it |
| 3 | unverifiable — the key could not be fetched, or an input file could not be read, so nothing can be checked |
| 4 | inputs-mismatch — the receipt is genuine but does not cover the --request/--policy you supplied |
| 5 | stale — the receipt is genuine but older than --max-age allows |
"Invalid" and "could not check" are different facts and must not collapse into one
failure. --key <file> verifies against a local JWK for point-in-time checks.
Supply chain and access
This is the umbrella, so its install tree is wider than any single tool and Socket flags it accordingly. What it actually contains:
| Flag | Where it comes from |
|---|---|
| Network access, URL strings | @paystage/auth-watch (Base RPC reads) and @paystage/trade-preflight (one Hyperliquid info query). |
| Filesystem access | @paystage/policy reading your policy file. |
| Environment variable access | PAYSTAGE_POLICY_PATH, PAYSTAGE_RPC_URL. |
| "AI-detected code anomaly" | The official @modelcontextprotocol/server SDK's bundled JSON-schema validator, not PayStage code. |
The umbrella itself is ~16 KB with no network, no filesystem and no eval — the
capability lives in the dependencies, because that is what the tools are for.
Install a narrower surface if you only need part of it: @paystage/preflight and
@paystage/policy make no network calls at all.
Full table: SECURITY.md.
Links
-
Verify receipts:
npx -y -p @paystage/mcp paystage-verify <receipt.json> -
Website: paystage.xyz
-
HIP-3 context: docs.trade.xyz
-
Source: github.com/base-buzz/paystage
License
MIT
Pertanyaan tentang PayStage MCP
Bagaimana cara menambahkan PayStage MCP ke Claude Code?
Jalankan claude mcp add mcp -- npx -y @paystage/mcp di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan PayStage MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Apakah tool trade preflight ini melakukan transaksi perdagangan nyata?
Tidak, tool ini hanya berfungsi sebagai gate kebijakan lokal dan tidak melakukan order atau memberikan rekomendasi perdagangan.
Bagaimana cara saya memverifikasi tanda terima keputusan?
Anda dapat menggunakan command paystage-verify untuk memeriksa tanda terima yang telah ditandatangani terhadap key yang dipublikasikan guna memastikan data tersebut tidak diubah.