Provides a cross-vendor kill switch and spend guard to manage and audit financial transactions for AI agents.
Also known as countersign-network/packages, @countersign/mcp
- Stars
- 1
- Tools
- 5
- Downloads, 30 days
- 232
- Latest version
- 0.2.2
- Last commit
- Nov 3, 2026
- License
- —
What is Countersign MCP?
Countersign provides a cross-vendor kill switch and spend guard to manage and audit financial transactions for AI agents. It exposes 5 tools, such as countersign_request_spend, countersign_freeze, countersign_apply_policy.
Summary generated from the project's README
About Countersign MCP server
Countersign provides a centralized control plane for managing financial transactions performed by AI agents. It functions as a cross-vendor spend guard and kill switch, allowing developers to implement unified policies, such as spending caps or allow lists, across multiple wallet and card backends. The server operates by connecting to a Countersign Core instance via a URL, requiring an API key if authentication is enabled on your specific Core setup.
Users can integrate this server into MCP clients like Claude Desktop, Claude Code, or Cursor using npx. The toolset includes specific commands for safety and auditing, such as countersign_request_spend for pre-flight checks and countersign_freeze to halt all agent activity across every backend in under a second. It also features a tamper-evident, hash-chained audit ledger via the countersign_ledger tool to ensure transaction history remains verifiable and secure.
What you can do with it
- 1Verify transaction permissionAsk the agent to check if a specific expenditure is permitted before it interacts with a wallet.
- 2Emergency agent shutdownImmediately halt all agent activity across every connected backend using a single command.
- 3Manage spending constraintsDeploy a single set of rules including spending limits and approval thresholds to all agent backends.
- 4Audit financial historyAccess a secure, append-only record to verify the history of agent transactions.
Written from the project's README. Every use case is checked against a quote from it.
How to install Countersign MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Countersign MCP in Claude Code
$ claude mcp add --env 'COUNTERSIGN_API_KEY=<YOUR_COUNTERSIGN_API_KEY>' --env 'COUNTERSIGN_URL=<COUNTERSIGN_URL>' countersign -- npx -y @countersign/mcpInstall Countersign MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"countersign": {
"command": "npx",
"args": [
"-y",
"@countersign/mcp"
],
"env": {
"COUNTERSIGN_API_KEY": "<YOUR_COUNTERSIGN_API_KEY>",
"COUNTERSIGN_URL": "<COUNTERSIGN_URL>"
}
}
}
}Install Countersign MCP in VS Code
.vscode/mcp.json
{
"servers": {
"countersign": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@countersign/mcp"
],
"env": {
"COUNTERSIGN_API_KEY": "<YOUR_COUNTERSIGN_API_KEY>",
"COUNTERSIGN_URL": "<COUNTERSIGN_URL>"
}
}
}
}Install Countersign MCP in VS Code CLI
$ code --add-mcp '{"name":"countersign","type":"stdio","command":"npx","args":["-y","@countersign/mcp"],"env":{"COUNTERSIGN_API_KEY":"<YOUR_COUNTERSIGN_API_KEY>","COUNTERSIGN_URL":"<COUNTERSIGN_URL>"}}'Install Countersign MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"countersign": {
"command": "npx",
"args": [
"-y",
"@countersign/mcp"
],
"env": {
"COUNTERSIGN_API_KEY": "<YOUR_COUNTERSIGN_API_KEY>",
"COUNTERSIGN_URL": "<COUNTERSIGN_URL>"
}
}
}
}Install Countersign MCP in Codex
$ codex mcp add countersign --env 'COUNTERSIGN_API_KEY=<YOUR_COUNTERSIGN_API_KEY>' --env 'COUNTERSIGN_URL=<COUNTERSIGN_URL>' -- npx -y @countersign/mcpInstall Countersign MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.countersign] command = "npx" args = ["-y", "@countersign/mcp"] [mcp_servers.countersign.env] COUNTERSIGN_API_KEY = "<YOUR_COUNTERSIGN_API_KEY>" COUNTERSIGN_URL = "<COUNTERSIGN_URL>"
Install Countersign MCP in Gemini CLI
$ gemini mcp add -s user -e 'COUNTERSIGN_API_KEY=<YOUR_COUNTERSIGN_API_KEY>' -e 'COUNTERSIGN_URL=<COUNTERSIGN_URL>' countersign npx -- -y @countersign/mcpInstall Countersign MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"countersign": {
"command": "npx",
"args": [
"-y",
"@countersign/mcp"
],
"env": {
"COUNTERSIGN_API_KEY": "<YOUR_COUNTERSIGN_API_KEY>",
"COUNTERSIGN_URL": "<COUNTERSIGN_URL>"
}
}
}
}Countersign MCP tools 5
Detected from the READMEcountersign_request_spendcountersign_freezecountersign_apply_policycountersign_ledgercountersign_unfreeze
| countersign_request_spend | — | |
| countersign_freeze | — | |
| countersign_apply_policy | — | |
| countersign_ledger | — | |
| countersign_unfreeze | — |
Configuration
COUNTERSIGN_API_KEYRequiredSecretAPI key for the Core (self-serve one at https://app.countersign.network/start or POST /signup).
COUNTERSIGN_URLRequiredBase URL of the Countersign Core to govern (hosted or self-hosted).
| Name | Description | |
|---|---|---|
| COUNTERSIGN_API_KEY | API key for the Core (self-serve one at https://app.countersign.network/start or POST /signup). | RequiredSecret |
| COUNTERSIGN_URL | Base URL of the Countersign Core to govern (hosted or self-hosted). | Required |
Automated checks
Ran Nov 13, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work · What to fix for more points
- Source repository linked and reachablecountersign-network/packages is public and reachablegithub.com/countersign-network/packages ↗Pass
- Package names this repository as its source@countersign/mcp names countersign-network/packages as sourcenpmjs.com/package/@countersign/mcp ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for @countersign/mcpnpmjs.com/package/@countersign/mcp/v/0.2.2#provenance ↗Pass
- Open source license (OSI)No licenseFinding
- Commit or release in the last yearLast commit or release 2026-11-03github.com/countersign-network/packages ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from @countersign/mcpPass
- No critical advisory in the package or its dependencies104 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHub@countersign/mcp
The cross-vendor kill switch + spend guard for AI agents — as MCP tools, inside any MCP client.
Countersign is a neutral control plane that holds one policy, one freeze, and one tamper-evident audit ledger across every agent-wallet backend at once. This package exposes it as Model Context Protocol tools, so an agent (or you, from chat in Claude / Cursor) can ask "may I spend this?" before acting — and freeze everything in under a second.
Tools
| Tool | What it does |
|---|---|
countersign_request_spend |
Pre-flight guard — ask whether a spend is allowed before touching the wallet (allow / deny / needs_approval). |
countersign_freeze |
The kill switch — freeze every agent on every backend at once. |
countersign_apply_policy |
Apply one unified policy (caps, allow/deny lists, approval threshold) across all backends. |
countersign_list_agents / countersign_health |
See the governed fleet + control-plane health. |
countersign_list_approvals / countersign_approve / countersign_deny |
The human-approval queue. |
countersign_ledger |
Read + re-verify the append-only, hash-chained audit ledger. |
countersign_unfreeze |
Lift a freeze (recover). |
Setup
It governs a running Countersign Core. The hosted Core at app.countersign.network is paused since
2026-09-18 and answers 503, so point this at a Core you run yourself. Set:
COUNTERSIGN_URL— your Core, e.g.https://app.countersign.networkCOUNTERSIGN_API_KEY— required when the Core has auth enabled
Claude Desktop / Claude Code / Cursor
Add to your MCP config (claude_desktop_config.json, or claude mcp add, or Cursor's mcp.json):
{
"mcpServers": {
"countersign": {
"command": "npx",
"args": ["-y", "@countersign/mcp"],
"env": {
"COUNTERSIGN_URL": "https://app.countersign.network",
"COUNTERSIGN_API_KEY": "csk_…"
}
}
}
}
That's it — your agent now has the spend guard and the kill switch.
Show it (the "powered by" badge)
If Countersign guards your agent, say so — it tells users (and other agents) that spending is governed, and points the next operator at the same kill switch. Drop this in your README:
[](https://countersign.network)
Listing in MCP registries (distribution)
Countersign spreads by being easy to discover wherever agent builders look for tools. The metadata below is ready to submit to the common registries — copy it as-is.
- Official MCP registry (
registry.modelcontextprotocol.io/ themcp-registryrepo) — entry:{ "name": "io.github.countersign-network/countersign", "description": "Cross-vendor kill switch + spend guard for AI agents that spend money — one policy, one freeze, one tamper-evident ledger across every wallet/card backend.", "homepage": "https://countersign.network", "repository": "https://github.com/countersign-network/countersign", "packages": [ { "registry": "npm", "name": "@countersign/mcp", "runtime": "npx" } ], "license": "Apache-2.0" } - mcp.so — submit
@countersign/mcp; category Finance / Security / Agents. - Smithery —
npx-launched server; envCOUNTERSIGN_URL(defaulthttps://app.countersign.network) + optionalCOUNTERSIGN_API_KEY. - awesome-mcp-servers lists — one-liner:
Countersign — cross-vendor spend guard + sub-second kill switch + tamper-evident ledger for AI agents that move money (Coinbase, Turnkey, Openfort, Visa card). Testnet.
Standard listing fields:
| Field | Value |
|---|---|
| Server id | countersign |
| Launch | npx -y @countersign/mcp |
| Tools | countersign_request_spend, countersign_freeze, countersign_apply_policy, countersign_list_agents, countersign_health, countersign_list_approvals, countersign_approve, countersign_deny, countersign_ledger, countersign_unfreeze |
| Tags | payments · security · kill-switch · spend-guard · agent-payments · wallet |
Nothing here is auto-submitted — listings are made deliberately by a maintainer.
Apache-2.0. Countersign holds policy/freeze/ledger; it never takes custody of funds. Testnet only.
Countersign MCP questions
How do I add Countersign MCP to Claude Code?
Run claude mcp add --env 'COUNTERSIGN_API_KEY=<YOUR_COUNTERSIGN_API_KEY>' --env 'COUNTERSIGN_URL=<COUNTERSIGN_URL>' countersign -- npx -y @countersign/mcp in your terminal. Add --scope user to make it available in every project.
How do I add Countersign MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Countersign MCP provide?
It exposes 5 tools, including countersign_request_spend, countersign_freeze, countersign_apply_policy, countersign_ledger, countersign_unfreeze.
Does Countersign take custody of my funds?
No, Countersign only manages policies, freezes, and the ledger; it does not hold custody of any funds.
How quickly can I freeze an agent?
You can freeze all agents across every backend in under one second.