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.
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| Variable | Required | Meaning |
|---|---|---|
| FPCHECKER_MANAGEMENT_KEY | Yes | A management key (mk_…). A read key can only read. |
| FPCHECKER_API_URL | No | The 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 mcpRead tools (always on)
list_projectsget_projectget_usagesearch_eventsget_eventget_visitorget_rulesettest_rulesetlist_webhookslist_audit
Write tools (only with --allow-writes)
update_rulesetcreate_environmentrotate_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.