Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
作者提供的说明(英文原文)
Approval and budget checks before agent spending or tool use. Cooperative MCP; host must ask.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
SANCTION_API_KEY, SANCTION_WALLET_ID, SANCTION_API_URL, x-api-key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"sanction": {
"command": "npx",
"args": [
"-y",
"sanction-mcp"
],
"env": {
"SANCTION_API_KEY": "your-value",
"SANCTION_WALLET_ID": "your-value",
"SANCTION_API_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http sanction https://getsanction.com/mcp --header 'x-api-key: your-value'claude mcp add sanction --env SANCTION_API_KEY=your-value --env SANCTION_WALLET_ID=your-value --env SANCTION_API_URL=your-value -- npx -y sanction-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sanction": {
"url": "https://getsanction.com/mcp",
"headers": {
"x-api-key": "your-value"
}
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sanction": {
"command": "npx",
"args": [
"-y",
"sanction-mcp"
],
"env": {
"SANCTION_API_KEY": "your-value",
"SANCTION_WALLET_ID": "your-value",
"SANCTION_API_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sanction": {
"type": "http",
"url": "https://getsanction.com/mcp",
"headers": {
"x-api-key": "your-value"
}
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sanction": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sanction-mcp"
],
"env": {
"SANCTION_API_KEY": "your-value",
"SANCTION_WALLET_ID": "your-value",
"SANCTION_API_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
SANCTION_WALLET_ID envSANCTION_API_URL envx-api-key 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
服务器要求先登录,才会列出它的工具。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 ericlovold 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 2219 毫秒内响应(HTTP 401)
需要你自己复制粘贴密钥或令牌
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:SANCTION_API_KEY, x-api-key
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.10.0)于36天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Finance Toolkit, SolidInvoice, Korea Tax Calculator
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
The independent authorization plane for AI agents.
Before an agent spends money, invokes a tool, touches a credential, or provisions a resource, it asks Sanction. Sanction approves, escalates to a human, or denies. Every decision is logged and auditable. Sanction belongs to no platform: one policy engine answers across model providers, payment rails, identities, and agent ecosystems.
Connect Sanction to your agent, then ask it to call sanction_authorize_tool with require_approval: true and the exact proposed action. Approve or deny through the existing approval link or configured Slack channel. Approval gives that request an expiring, single-use grant; the agent must redeem it before acting. No policy edit is required, and blocked actions stay blocked.
Individuals can use Sanction free, without a card. The host must ask and honor the decision; connection alone does not enforce its other tools. Choose your host and try one approval.
One policy decision engine governs every kind of agent action:
| Governed action | What Sanction enforces |
|---|---|
Spend (/authorize) | Auto-approve floor, human-escalation band, per-transaction hard cap, daily and monthly budgets — checked and debited atomically. |
Tools (/authorize/tool) | Block/allow/escalate lists for any MCP tool or external action. Escalations reach the approval inbox like spend does. |
Credentials (/exec + /mandate/verify + /credentials/inject) | AES-256-GCM envelope-encrypted vault (KMS-wrapped, rotating keys). Injection requires a scoped 15-minute mandate JWT and clearance ≥ the credential's bar. Counterparties verify the mandate with no API key. Every access audit-logged. |
Provisioning (/authorize/provision) | Seats, licenses, infrastructure — resource, line item, quantity, and dollars authorized in one call. |
Capability (/authorize/capability) | Skills, plugins, new APIs — acquiring capability is governed like spending money. One ordered rule list (block / allow / escalate, prefix-glob patterns) gates new power before it lands in an agent. |
What a decision looks like in practice — one POST /authorize with an amount, three possible outcomes, all of them terminal or resumable:
{ "status": "approved" }; budget counters debit in the same transaction the decision persists (an advisory lock makes sibling agents queue, not race).{ "status": "escalated", "request_id": "…" }; a human sees it in the approval inbox, and approving mints a one-use grant the agent redeems by retrying with grant_id. Policy decides what a timeout means (approve or deny) — nothing hangs forever.{ "status": "denied", "decision_code": "PER_TXN_LIMIT", "remediation": "Amount exceeds the per-transaction limit. Split into smaller charges or ask the owner to raise the limit." }. Codes are stable machine strings (DAILY_BUDGET_EXCEEDED, CATEGORY_BLOCKED, WALLET_FROZEN, …) so agents branch and replan instead of parsing prose. Replays of the same request return the same code.Around the engine:
resolveApproval path as the dashboard, actor recorded. Each route subscribes to its own events. GuideGET /authorize/{id}/evidence re-runs the pure rules over the stored context and proves the outcome reproduces.POST /policy/simulate replays stored decisions under a candidate policy — which calls flip, what spend wouldn't clear — before you change anything.GET /audit-events merges every decision, token log, and secret access into one feed (CSV export included); GET /reporting/summary spans any period with day buckets and per-seat rollups; wallet stats project burn pace and exhaustion ETAs; a weekly digest lands in Slack every Monday.GET /audit/export hands you a signed, hash-chained snapshot of your governed decisions: altering, dropping, or reordering any row breaks the chain, and the head is HMAC-signed by Sanction. A regulator or the governed customer runs POST /audit/verify — self-contained, no database — to prove nothing changed after signing, down to the first broken link.owner / admin / viewer), a switcher across every membership, and a viewer who can read everything and change nothing.POST /outcomes) and a wallet over its cost-per-outcome ceiling throttles to human-gated spend. Wallets can be frozen outright, and budget reallocated across the tree.https://getsanction.com/api/gateway/ with x-sanction-key — usage is metered and budget-capped with zero per-call instrumentation.Every security claim above maps to enforcing code and a regression test in docs/TRACEABILITY.md — 1,100+ tests behind a coverage gate of 90% statements/lines, 94% functions, and 83% branches, including concurrency and Postgres row-level-security suites.
Eleven installable policy packs cover the common shapes — Startup defaults, Coding agent seat, MCP tool governance, Compliance baseline, Client-safe launch, and No-egress (Sanction Local) among them. GET /policy/packs lists them; POST /policy/packs/{id}/preview simulates one against your last 30 days of real decisions before anything changes; apply writes it as a policy revision.
Policy edits are never a leap of faith:
POST /policy/simulate replays your stored decision history under the candidate — see exactly which calls flip and what spend wouldn't clear.GET /authorize/{id}/evidence re-runs the rules over the stored context and proves the outcome reproduces.Use Sanction's vault when credentials should flow through the same policy, approval, and audit trail as spend and tools — one clearance model, no separate secrets cluster. Keep your existing Vault or Secrets Manager when you need fleet-scale secret lifecycle management independent of agent governance; Sanction consumes upstream identity and secrets rather than replacing them. Threat model: docs/SECURITY.md.
Platform vendors govern agents inside their own walls. Sanction authorizes agents wherever they run. Pick the shortest path to your stack:
| You want to… | Use | First step |
|---|---|---|
| Govern any MCP host (Claude Desktop, Cursor, …) | MCP wallet | Paste https://getsanction.com/mcp or npx sanction-mcp |
| Intercept tools/call and filter tools/list on an MCP server | MCP broker | Register the upstream, point the host at /mcp/broker/ |
| Meter model spend with zero code changes | LLM gateway | Point the SDK base URL at /api/gateway/ |
| Govern agents in a TypeScript app | SDK | npm install sanction-sdk |
| Call the engine from anything else | REST API | POST /v1/authorize with an x-api-key |
| Plug into an AuthZEN enforcement point | PDP | Point it at /api/access/v1/evaluation |
| Orchestrate on AWS Bedrock | Action Group | docs/BEDROCK.md |
The full menu:
https://getsanction.com/mcp (Streamable HTTP, x-api-key) or npx sanction-mcp in any MCP host. The agent carries the wallet. Wallet Card · guidenpm install sanction-sdk (source): SanctionClient (agent plane) and SanctionAdminClient (management plane), plus framework adapters (SanctionMiddleware, sanctionTool)/api/openapi.json (Bedrock-compatible)Fastest first decision: bash examples/setup.sh — wallet, agent, and a demo policy in one command, printing the env exports your agent needs (examples/ has runnable clients to point at it).
Agent wallet · Quickstart · Starter kit · LangChain · CrewAI · Vercel AI SDK · Bedrock Agents · Agent fleets · AuthZEN PDP · Multi-tenant runbook · Notifications
Base URL: https://getsanction.com/api/v1 — grouped by workflow. Agent endpoints take x-api-key pxy_…; management endpoints take the owner's x-mgmt-key sk_….
Ask permission — the data plane an agent calls:
POST /authorize — Authorize a spend action (grant_id redeems an approval)
POST /authorize/quote — Authorize an x402 payment challenge before the wallet signs POST /authorize/tool — Authorize a
只显示了开头部分;其余内容请在仓库中阅读