Évalue les requêtes x402 PaymentRequired par rapport à des politiques de dépenses locales pour déterminer si un agent IA doit procéder au paiement, demander une révision ou stopper l'opération.
Aussi connu sous base-buzz/paystage, preflight, @paystage/preflight
- Étoiles
- 5
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- 0.2.2
- Dernier commit
- 14 nov. 2026
- Licence
- MIT
Qu'est-ce que PayStage Preflight MCP ?
PayStage Preflight est un serveur MCP. Évalue les requêtes x402 PaymentRequired par rapport à des politiques de dépenses locales pour déterminer si un agent IA doit procéder au paiement, demander une révision ou stopper l'opération.
Résumé généré à partir du README du projet
À propos du MCP server PayStage Preflight
PayStage Preflight permet aux développeurs utilisant des agents IA d'évaluer les requêtes x402 PaymentRequired par rapport à des politiques de dépenses locales. Ce MCP server agit comme une couche de sécurité qui détermine si un agent doit poursuivre l'action, demander une révision humaine ou stopper complètement un paiement. Il fonctionne comme un outil local-first, ce qui signifie que vos politiques de dépenses résident dans un fichier JSON sur votre machine plutôt que sur un serveur distant. Cette approche garantit qu'aucun secret ni aucun appel réseau n'est requis pour parvenir à une décision.
Les utilisateurs peuvent intégrer ce serveur dans Claude Desktop ou Cursor en le configurant comme un MCP server via stdio avec npx. Vous devez fournir le chemin absolu vers votre fichier de politique en utilisant la variable d'environnement PAYSTAGE_POLICY_PATH. Le serveur évalue des contraintes spécifiques telles que les réseaux autorisés via des identifiants CAIP-2, des actifs spécifiques, des adresses payTo, ainsi que les montants maximaux par appel ou par session. Il renvoie l'un des trois verdicts déterministes suivants : pay, review ou do_not_pay.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer PayStage Preflight MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller PayStage Preflight MCP dans Claude Code
$ claude mcp add preflight -- npx -y @paystage/preflightInstaller PayStage Preflight MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"preflight": {
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}Installer PayStage Preflight MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"preflight": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}Installer PayStage Preflight MCP dans VS Code CLI
$ code --add-mcp '{"name":"preflight","type":"stdio","command":"npx","args":["-y","@paystage/preflight"]}'Installer PayStage Preflight MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"preflight": {
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}Installer PayStage Preflight MCP dans Codex
$ codex mcp add preflight -- npx -y @paystage/preflightInstaller PayStage Preflight MCP dans Codex config.toml
~/.codex/config.toml
[mcp_servers.preflight] command = "npx" args = ["-y", "@paystage/preflight"]
Installer PayStage Preflight MCP dans Gemini CLI
$ gemini mcp add -s user preflight npx -- -y @paystage/preflightInstaller PayStage Preflight MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"preflight": {
"command": "npx",
"args": [
"-y",
"@paystage/preflight"
]
}
}
}Configuration
PAYSTAGE_POLICY_PATHPath to policy.json spending rules
| Nom | Description | Type |
|---|---|---|
| PAYSTAGE_POLICY_PATH | Path to policy.json spending rules |
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/preflight
Evaluate an x402 PaymentRequired against a local spending
policy before your agent pays. Returns one of three verdicts: pay,
review, or do_not_pay.
- Local-first — policy lives in a JSON file on your machine. No secrets, no network calls to decide.
- MCP-native — runs as a stdio MCP server so Claude Desktop, Cursor, and any MCP client can call it as a tool.
- Deterministic — same input + same policy ⇒ same verdict.
Install
Run directly with npx (no global install):
npx -y @paystage/preflight
Or add it to your MCP client config.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"paystage-preflight": {
"command": "npx",
"args": ["-y", "@paystage/preflight"],
"env": {
"PAYSTAGE_POLICY_PATH": "/absolute/path/to/policy.json"
}
}
}
}
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"paystage-preflight": {
"command": "npx",
"args": ["-y", "@paystage/preflight"],
"env": {
"PAYSTAGE_POLICY_PATH": "/absolute/path/to/policy.json"
}
}
}
}
Example policy.json
{
"version": 1,
"name": "standard",
"allowed_networks": ["eip155:8453", "eip155:84532"],
"allowed_assets": [
"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"0x036CbD53842c5426634e7929541eC2318f3dCF7e"
],
"allowed_pay_to": ["0x209693Bc6afc0C5328bA36FaF03C514EF312287C"],
"max_amount_per_call": "1.00",
"max_amount_per_session": "10.00",
"require_human_above": "0.50",
"max_timeout_seconds": 300,
"default_verdict": "review"
}
Amounts are human-readable USDC (e.g. "0.50" = 0.50 USDC). Networks use
CAIP-2 identifiers.
Verdicts
| Verdict | Meaning |
|---|---|
pay |
Within policy — safe to proceed automatically. |
review |
Allowed but above a human threshold — ask a human before paying. |
do_not_pay |
Violates policy (network, asset, payTo, amount, timeout, or malformed). |
Supply chain and access
Socket.dev scores this package on what it can do, not what it does with it, so the flags it raises are worth explaining rather than removing:
| Flag | Why it is there |
|---|---|
| Filesystem access | Reads the policy JSON you point it at (policy_path / PAYSTAGE_POLICY_PATH). Nothing is written. |
| Environment variable access | PAYSTAGE_POLICY_PATH only (and PAYSTAGE_RPC_URL via auth-watch). |
| Network access, URL strings | None in this package. The RPC endpoints you may see in the tree belong to @paystage/auth-watch. |
No shell, no eval, no telemetry, no key custody. The full table is in
SECURITY.md; the deny list is published with a citation per
entry in KNOWN_DRAINERS.md.
Links
- Website: https://paystage.xyz
- X: https://x.com/paystage_xyz
- Source: https://github.com/base-buzz/paystage
- License: MIT
Questions sur PayStage Preflight MCP
Comment ajouter PayStage Preflight MCP à Claude Code ?
Exécutez claude mcp add preflight -- npx -y @paystage/preflight dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter PayStage Preflight 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.
Quels sont les verdicts possibles renvoyés par le serveur ?
Le serveur renvoie l'un des trois verdicts suivants : pay (sécurisé pour procéder), review (nécessite une intervention humaine) ou do_not_pay (viole la politique).
Comment la politique de dépenses est-elle stockée et consultée ?
La politique est stockée localement dans un fichier JSON sur votre machine, ce qui garantit qu'aucun secret ni aucun appel réseau n'est nécessaire pour prendre une décision.
Ce serveur nécessite-t-il un accès réseau pour évaluer les politiques ?
Non, le package lui-même n'utilise pas d'accès réseau ni de chaînes d'URL pour l'évaluation des politiques.
Puis-je l'utiliser avec Claude Desktop ou Cursor ?
Oui, il fonctionne comme un MCP server via stdio qui peut être intégré dans Claude Desktop et Cursor via leurs fichiers de configuration respectifs.