{"name":"io.github.ericlovold/sanction","slug":"ericlovold-sanction","title":"Sanction","description":"Approval and budget checks before agent spending or tool use. Cooperative MCP; host must ask.","url":"https://mcp.market/server/ericlovold-sanction","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":40,"stars":3,"forks":0,"downloads_week":145,"last_push_at":"2026-10-29T23:57:26.000Z","license":"NOASSERTION"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-05T16:15:48.688Z","last_ok_at":"2026-11-05T16:15:48.688Z","latency_ms":883},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/ericlovold/sanction","website":"https://getsanction.com","version":"0.10.0","remotes":[{"type":"streamable-http","url":"https://getsanction.com/mcp","headers":[{"description":"Sanction agent key (pxy_...). Store in the host secret configuration, never in chat.","isRequired":true,"isSecret":true,"name":"x-api-key"}]}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"sanction-mcp","version":"0.10.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Agent API key (pxy_...). Create one at https://getsanction.com or via POST /api/v1/wallets then POST /api/v1/agents.","isRequired":true,"isSecret":true,"name":"SANCTION_API_KEY"},{"description":"Optional override for sanction_wallet_status; by default the wallet derives from the agent key.","name":"SANCTION_WALLET_ID"},{"description":"Sanction API base URL.","default":"https://getsanction.com/api/v1","name":"SANCTION_API_URL"}]}],"tools":[],"scan":{"score":81,"grade":"B","scanned_at":"2026-10-30T06:02:38.945Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-30T06:02:38.890Z","components":{"code":{"score":20,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2177ms (auth required)"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (endpoint requires auth); not counted"]},"auth":{"score":9,"max":15,"notes":["auth enforced (unknown)"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"mcp-server.js: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…"}],"inputs":{"probes":[{"url":"https://getsanction.com/mcp","reachable":true,"authRequired":true,"latencyMs":2177,"authScheme":"unknown"}],"packages":[{"registryType":"npm","identifier":"sanction-mcp","version":"0.10.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-10-03T02:29:57.566Z","repositoryUrl":"git+https://github.com/ericlovold/sanction.git","weeklyDownloads":145}],"repo":{"found":true,"owner":"ericlovold","repo":"sanction","archived":false,"pushedAt":"2026-10-29T23:57:26Z","stars":3,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/140542120?v=4","ownerCreatedAt":"2023-07-25T17:12:38Z","license":"NOASSERTION"},"icon":{"url":"https://getsanction.com/icon.svg?icon.2srgc-_9n77u5.svg","source":"registry"},"presence":{"stars":3,"forks":0,"downloadsWeek":145,"license":"NOASSERTION","lastPushAt":"2026-10-29T23:57:26.000Z","score":40}}}},"grade_history":[],"reviews":[]}