démarrer
démarrage rapide
Obtenez une clé sandbox en 30 secondes, branchez Nostro sur Claude Code, Claude Desktop ou Cursor, et regardez un agent payer, être mis en attente d'approbation, puis être bloqué.
-
obtenez une clé sandbox
Le plus rapide : la page nostro.ag/sandbox. Saisissez votre e-mail, copiez les clés. Ou depuis un terminal :
shellcurl -s -X POST https://mcp.nostro.ag/api/sandbox/signup \ -H "content-type: application/json" \ -d '{"email":"you@company.com","company":"Acme","lang":"fr"}'Réponse attendue (les clés ne sont affichées qu'une fois, enregistrez-les tout de suite). Limites : 3 espaces sandbox par e-mail, 10 inscriptions par heure et par IP.
201 Created{ "workspace_id": "ws_7c1e9a42b0d3", "admin_key": "nsa_9Hc2••••••••••••••••••••••••", "agent": { "id": "agt_3f2b8d10", "name": "demo-agent", "key": "nst_k3Jd••••••••••••••••••••••••", "policy": { "currency": "EUR", "perTxMax": 500, "dailyMax": 2000, "monthlyMax": 5000, "approvalAbove": 250, "allowedMccs": [], "blockedMerchants": [], "transfersEnabled": false, "transferApprovalAbove": 0 } }, "mcp_url": "https://mcp.nostro.ag/mcp", "balance": { "amount": 10000, "currency": "EUR", "fake": true }, "sandbox": true }Vous obtenez un espace avec 10 000 EUR fictifs, une clé admin (
nsa_, pour vous) et la clé d'un demo-agent prêt à l'emploi (nst_, pour votre agent) avec ce mandat :règle valeur par paiement 500 EUR par jour 2 000 EUR approbation humaine au-delà de 250 EUR -
branchez votre agent
Donnez la clé agent à votre client MCP. Jamais la clé admin.
Claude CodeUne commande, puis relancez la session (
/mcpl'affiche connecté) :shellclaude mcp add --transport http nostro https://mcp.nostro.ag/mcp \ --header "Authorization: Bearer nst_YOUR_AGENT_KEY"Claude DesktopRéglages > Développeur > Modifier la config, ajoutez le serveur dans
claude_desktop_config.jsonpuis redémarrez Claude. Le pontmcp-remotetransmet l'en-tête bearer (Node 18+ requis).claude_desktop_config.json{ "mcpServers": { "nostro": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.nostro.ag/mcp", "--header", "Authorization:${AUTH}" ], "env": { "AUTH": "Bearer nst_YOUR_AGENT_KEY" } } } }CursorAjoutez à
~/.cursor/mcp.json(global) ou.cursor/mcp.json(projet). Ne commitez jamais un fichier contenant une clé.mcp.json{ "mcpServers": { "nostro": { "url": "https://mcp.nostro.ag/mcp", "headers": { "Authorization": "Bearer nst_YOUR_AGENT_KEY" } } } }autre client / curlLe serveur est en Streamable HTTP sans état, réponses JSON : vous pouvez appeler un outil directement, sans session.
shellcurl -s https://mcp.nostro.ag/mcp \ -H "Authorization: Bearer $NOSTRO_AGENT_KEY" \ -H "content-type: application/json" \ -H "accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_wallet","arguments":{}}}' -
faites un premier paiement
Demandez à votre agent, en langage naturel :
promptVérifie mon portefeuille Nostro, puis paie 49 EUR à Vercel pour le plan Pro (MCC 5734).L'agent appelle
get_wallet, puispay. Sous le seuil, c'est exécuté :pay · arguments{ "amount": 49, "merchant": "Vercel", "mcc": "5734", "description": "Pro plan" }allowpay · result{ "status": "paid", "transactionId": "tx_883b5610", "amount": 49, "merchant": "Vercel" } -
déclenchez une approbation humaine
Demandez maintenant 320 EUR pour AWS. C'est sous le plafond de 500 EUR mais au-dessus du seuil de 250 EUR, donc la dépense attend :
reviewpay · result{ "status": "pending_approval", "requestId": "req_ef5c846c", "reason": "Au-dessus du seuil d'approbation (250 €)", "message": "Demande transmise à un humain de l'entreprise. Vérifie son statut avec get_request_status." }Approuvez avec votre clé admin, depuis un terminal ou un client MCP connecté avec
nsa_(outilapprove_request) :shellcurl -s -X POST https://mcp.nostro.ag/api/requests/req_ef5c846c/approve \ -H "Authorization: Bearer $NOSTRO_ADMIN_KEY"200 OK{ "id": "req_ef5c846c", "kind": "card_payment", "amount": 320, "status": "executed", "reason": "Au-dessus du seuil d'approbation (250 €)", "result": { "amount": 320, "status": "paid", "merchant": "AWS", "transactionId": "tx_acf5376d" }, "createdAt": "2026-11-05T09:19:33.478Z", "decidedAt": "2026-11-05T09:20:41.561Z" }L'agent voit le même résultat avec
get_request_status. -
observez un blocage
Demandez 900 EUR pour Apple : au-dessus du plafond par paiement, c'est bloqué net, jamais escaladé.
blockpay · result{ "status": "denied", "reason": "Dépasse le plafond par transaction (500 €)" } -
lisez le journal d'audit
shellcurl -s "https://mcp.nostro.ag/api/events?limit=10" -H "Authorization: Bearer $NOSTRO_ADMIN_KEY"Chaque tentative y figure, y compris celle refusée, avec sa raison. Voir journal d'audit.
create_agent), restreignez les catégories avec allowedMccs, et lisez comment les décisions sont prises.