Build with AI: manage FingerPrint Checker from Claude, Cursor and the command line

Let an AI assistant read your FingerPrint Checker projects, events and rules through a local MCP server, or script the same things from a terminal with the fpchecker command line.

FingerPrint Checker has a command line and a local MCP server in one npm package. Both talk to the Management API with a management key, so you can ask an AI assistant about your projects, events and rules, or run the same things from a terminal or a script.

The MCP server runs on your computer and speaks to your assistant over stdio. It is read-only by default.

1. Create a management key

Account owners and admins create management keys in the console under API keys (/console/api-keys). A key is shown once, has a read or write scope, and can expire after 30, 90 or 365 days. Give an assistant a read key unless you want it to change things.

Create a free account

2. Try the command line

Node 18 or later. Set the key in your environment and run any command through npx. The package is @fingerprintchecker/cli and the command is fpchecker.

export FPCHECKER_MANAGEMENT_KEY=mk_…
npx -y @fingerprintchecker/cli projects list
VariableRequiredMeaning
FPCHECKER_MANAGEMENT_KEYYesA management key (mk_…). A read key can only read.
FPCHECKER_API_URLNoThe API address. Default https://api.fpchecker.com.
  • The key is read only from the environment and is never passed as a command-line argument, because arguments end up in shell history and process lists.
  • The key is never printed: not in output, not in errors, not in --json.

Commands

fpchecker projects list
fpchecker projects get <projectId>
fpchecker projects create --name <name>
fpchecker environments create <projectId> --name <env>
fpchecker keys rotate <projectId> --key secret|publishable
fpchecker events list <projectId> [--visitor-id <id>] [--limit <n>] [--since <time>] [--cursor <c>]
fpchecker events get <projectId> <eventId>
fpchecker visitors get <projectId> <visitorId>
fpchecker ruleset get <projectId>
fpchecker ruleset set <projectId> --file <ruleset.json>
fpchecker ruleset test <projectId> --event <eventId> [--file <ruleset.json>]
fpchecker webhooks list <projectId>
fpchecker usage
fpchecker audit [--limit <n>] [--cursor <c>]
fpchecker mcp [--allow-writes]
  • Add --json to any command to print the server’s JSON instead of a table.
  • ruleset set takes the whole ruleset including ifVersion, the version it is based on; a stale version is refused. ruleset test is a dry run against a stored event and saves nothing.
  • Exit codes: 0 ok, 1 the server refused the request or could not be reached, 2 usage error.

3. Connect an AI assistant (MCP)

fpchecker mcp is a local MCP server over stdio. Add it to your assistant with one of the snippets below, using your own key in place of mk_….

It is read-only by default. The write tools exist only when you start it with --allow-writes (add it after mcp), and a read key cannot use them anyway. Results are the server’s JSON, not summaries.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "fpchecker": {
      "command": "npx",
      "args": ["-y", "@fingerprintchecker/cli", "mcp"],
      "env": { "FPCHECKER_MANAGEMENT_KEY": "mk_…" }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "fpchecker": {
      "command": "npx",
      "args": ["-y", "@fingerprintchecker/cli", "mcp"],
      "env": { "FPCHECKER_MANAGEMENT_KEY": "mk_…" }
    }
  }
}

Claude Code

claude mcp add --env FPCHECKER_MANAGEMENT_KEY=mk_… fpchecker -- npx -y @fingerprintchecker/cli mcp

Read tools (always on)

  • list_projects
  • get_project
  • get_usage
  • search_events
  • get_event
  • get_visitor
  • get_ruleset
  • test_ruleset
  • list_webhooks
  • list_audit

Write tools (only with --allow-writes)

  • update_ruleset
  • create_environment
  • rotate_key

Things to ask

  • Which of my projects used the most checks in the last 30 days?
  • Show me the last ten events for this visitor and tell me what the ruleset did with them.
  • Dry-run this draft ruleset against event <eventId> and tell me what would change.
  • What changed in my account this week? Read the audit log.

Staying safe

  • Start with a read key and the default read-only server. Move to a write key and --allow-writes only for a session where you want changes made.
  • Review any ruleset or key change before you approve it. Every change made with a management key is recorded in the account audit log with the key as the actor.
  • Keep the key in your assistant’s config or a secret store, never in a repository, a page or an app. Revoke it in the console and it stops working at once.
  • The Management API allows 120 reads and 30 writes a minute per account, shared by all keys.
  • It cannot buy credits, manage members or create management keys. Those stay in the console.

Resources