Permet à un client IA d'effectuer des vérifications préalables de paiement, de surveiller les autorisations en attente et d'évaluer les ordres de transaction HIP-3 par rapport aux politiques locales.
Aussi connu sous base-buzz/paystage, mcp, @paystage/mcp
- Étoiles
- 5
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- 0.3.2
- Dernier commit
- 14 nov. 2026
- Licence
- MIT
Qu'est-ce que PayStage MCP ?
PayStage est un serveur MCP. Permet à un client IA d'effectuer des vérifications préalables de paiement, de surveiller les autorisations en attente et d'évaluer les ordres de transaction HIP-3 par rapport aux politiques locales.
Résumé généré à partir du README du projet
À propos du MCP server PayStage
PayStage permet de gérer la sécurité financière et la conformité des transactions directement depuis un agent IA. Les développeurs peuvent utiliser ce MCP server global pour effectuer des vérifications préalables sur les paiements x402 et les ordres de transaction HIP-3 par rapport aux règles de dépenses locales. Il fonctionne comme une passerelle de politique locale qui fournit des verdicts tels que allow, review ou do not trade, sans pour autant passer des ordres ou recommander des transactions spécifiques.
Les utilisateurs configurent le serveur via npx ou npm, en utilisant une connexion stdio. Le serveur peut être personnalisé à l'aide de la variable d'environnement PAYSTAGE_POLICY_PATH pour pointer vers un fichier local policy.json contenant les règles de dépenses, ou PAYSTAGE_RPC_URL pour remplacer l'URL RPC de Base. Il propose des outils spécifiques pour lister les autorisations ERC-20, Permit2 et EIP-3009 en attente, ainsi que des outils pour signaler les autorisations qui ont été approuvées mais jamais réglées.
Au-delà des simples vérifications, le système permet de vérifier des reçus signés pour garantir que les décisions n'ont pas été modifiées. Cela le rend idéal pour les développeurs qui construisent des agents nécessitant un respect strict des fichiers de politique locale et des modèles de dépenses.
Ce que vous pouvez faire avec
- 1Valider les paiements proposésDemandez à l'IA de vérifier si un paiement x402 proposé est conforme à votre politique de dépenses locale avant la signature.
- 2Surveiller les autorisations en attenteDemandez à l'agent d'identifier les autorisations ERC-20 ou Permit2 en attente qui nécessitent une attention particulière.
- 3Auditer les ordres de transactionUtilisez l'agent pour évaluer les ordres de transaction HIP-3 par rapport à une TradePolicy spécifique afin de décider s'ils doivent être exécutés.
- 4Vérifier l'intégrité des décisionsVérifiez un reçu signé pour confirmer qu'un verdict de politique est authentique et n'a pas été falsifié.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer PayStage MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller PayStage MCP dans Claude Code
$ claude mcp add mcp -- npx -y @paystage/mcpInstaller PayStage MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Installer PayStage MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Installer PayStage MCP dans VS Code CLI
$ code --add-mcp '{"name":"mcp","type":"stdio","command":"npx","args":["-y","@paystage/mcp"]}'Installer PayStage MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Installer PayStage MCP dans Codex
$ codex mcp add mcp -- npx -y @paystage/mcpInstaller PayStage MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp] command = "npx" args = ["-y", "@paystage/mcp"]
Installer PayStage MCP dans Gemini CLI
$ gemini mcp add -s user mcp npx -- -y @paystage/mcpInstaller PayStage MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@paystage/mcp"
]
}
}
}Configuration
PAYSTAGE_POLICY_PATHPath to policy.json spending rules
PAYSTAGE_RPC_URLBase RPC URL override
| Nom | Description | Type |
|---|---|---|
| PAYSTAGE_POLICY_PATH | Path to policy.json spending rules | |
| PAYSTAGE_RPC_URL | Base RPC URL override |
Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessibleRéussi
- Licence open source (OSI)Réussi
- Commit ou version publiée au cours de l'année écouléeRéussi
- Nom du package non proche d'un package populaireRéussi
- L'endpoint distant utilise HTTPSNon vérifié
- Les outils destructifs sont étiquetésNon vérifié
- Aucune instruction cachée destinée au modèleRéussi
- Aucun avis critique dans le package ou ses dépendancesRéussi
README
Voir sur 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
Questions sur PayStage MCP
Comment ajouter PayStage MCP à Claude Code ?
Exécutez claude mcp add mcp -- npx -y @paystage/mcp dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter PayStage MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
L'outil de pré-vérification des transactions passe-t-il des ordres réels ?
Non, l'outil agit uniquement comme une passerelle de politique locale et ne passe pas d'ordres et ne fournit pas de recommandations de transaction.
Comment puis-je vérifier un reçu de décision ?
Vous pouvez utiliser la commande paystage-verify pour vérifier un reçu signé par rapport à une clé publiée afin de vous assurer qu'il n'a pas été altéré.