npm frisk-mcpstdioMITupdated 9d ago
Pre-transaction risk screening for autonomous AI agents.
What can you do with Frisk?
Frisk
Pre-transaction risk screening for autonomous AI agents.
Before your agent pays an x402 seller or calls an unfamiliar tool, ask Frisk
whether the counterparty is trustworthy and whether the transaction fits your
policy. Frisk returns a verdict — allow, review, or block — with a trust
score and human-readable reasons. It is advisory: your agent stays in control
of the decision.
import { Client } from "frisk-screen";
const client = new Client(); // lite mode, no key required
const result = await client.screen("0x9a3f1b2c3d4e5f60718293a4b5c6d7e8f9a0bc12", {
endpoint: "https://api.seller.x402/quote",
amount: 2.5,
asset: "USDC",
policy: { maxPerCall: 5.0 },
});
if (!result.allowed) {
console.log(result.verdict, result.trustScore, result.reasons);
}
Surfaces
| Surface | Package | Source |
|---|---|---|
| TypeScript SDK | frisk-screen (npm) |
typescript/ |
| Python SDK | frisk-screen (PyPI) |
python/ |
| MCP server | frisk-mcp (npm) |
mcp/ |
Both SDKs expose the same model: a Client with a screen() call, a lite
mode that runs locally with zero dependencies, and an optional hosted mode for
reputation history and live threat intelligence.
MCP server
For agents that cannot import a library, and for asking the question
interactively, the same checks are available as an MCP server exposing one
tool, screen_payment:
{
"mcpServers": {
"frisk": {
"command": "npx",
"args": ["-y", "frisk-mcp"]
}
}
}
No API key and no account: with no configuration it screens entirely on your
machine. It is listed in the MCP registry as dev.tryfrisk/frisk.
An MCP tool runs only when a model chooses to call it, so a check the model can
skip is a weaker guarantee than the same check on the code path that signs the
payment. Where the money actually moves, prefer the SDK. Details in
mcp/.
Lite mode vs. hosted
| Lite (default) | Hosted (API key) | |
|---|---|---|
| Runs | Locally, offline | Frisk API |
| Signals | Public, structural checks only | Reputation graph, trained models, threat feed |
| Confidence | Always low |
Rises with coverage |
| Cost | Free | Usage-based |
Lite mode catches obvious problems — malformed counterparties, payTo swaps,
insecure endpoints, policy violations, and a small seed blocklist — without a
network call. The hosted API (https://api.tryfrisk.dev) adds reputation
history and continuously updated threat intelligence.
Design principles
- Advisory, not in-path. Frisk never holds your funds or blocks a payment itself; it returns a verdict and your code decides.
- Zero runtime dependencies. The TypeScript SDK is built on the platform
fetchAPI (Node, Bun, Deno, Workers, browser); the Python SDK uses only the standard library. - Typed. Both SDKs ship with full type information.
Contributing
See CONTRIBUTING.md. Security disclosures: SECURITY.md.
License
The hosted API at api.tryfrisk.dev is additionally governed by the
Terms of Service.
Install
Add Frisk to your client. Pick the one you use.
claude mcp add frisk-mcp -- npx -y frisk-mcpcodex mcp add frisk-mcp -- npx -y frisk-mcpamp mcp add frisk-mcp -- npx -y frisk-mcp{
"mcpServers": {
"frisk-mcp": {
"command": "npx",
"args": [
"-y",
"frisk-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"frisk-mcp": {
"command": "npx",
"args": [
"-y",
"frisk-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"frisk-mcp","command":"npx","args":["-y","frisk-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"frisk-mcp": {
"command": "npx",
"args": [
"-y",
"frisk-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"frisk-mcp": {
"command": "npx",
"args": [
"-y",
"frisk-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"frisk-mcp": {
"command": "npx",
"args": [
"-y",
"frisk-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"frisk-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"frisk-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"frisk-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"frisk-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y frisk-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 2 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.0.1Latest | Jul 30, 2026 |