Skip to main content
The Fingerprint MCP Server connects AI assistants and agents to Fingerprint’s device intelligence platform. Once connected, your AI tools can query identification events, detect anomalies, investigate fraud patterns, and manage your Fingerprint workspace through natural language. The server is available in two forms:
  • Managed service: Hosted by Fingerprint. No setup or maintenance required.
  • Open source: Self-host anywhere for full control over deployment and configuration.
This guide covers the managed service. For self-hosting instructions, see the GitHub repository.

Prerequisites

To use the Fingerprint MCP Server, you need an active Fingerprint account and permission to create API keys in your workspace. No additional setup is required before connecting. API keys and workspace access are configured automatically during the OAuth connection flow.

Connection Details

Server URL

https://mcp.fpjs.io/mcp

Authentication

The Fingerprint MCP server uses OAuth. When you connect your AI client, you will be redirected to the Fingerprint dashboard to authorize access and select the workspace to connect to. If you have only one workspace, the selection step is skipped automatically. If your AI client does not support OAuth, you can authenticate by passing your API key directly in the client’s configuration. Go to the Fingerprint dashboard for configuration options.

Installation

See the Claude Connector documentation for general setup instructions.
1

Open Connectors

Go to Customize > Connectors and add a custom connector.
2

Add the server

Set Name to Fingerprint and URL to https://mcp.fpjs.io/mcp, then click Add.
3

Connect

Find Fingerprint in the Not connected list and click Connect.
4

Authorize

Complete the OAuth authorization in your browser when prompted.
See the Claude Code MCP documentation for general setup instructions.
1

Add the server

Run the following command to add the Fingerprint MCP server:
claude mcp add --transport http fingerprint https://mcp.fpjs.io/mcp
2

Open the MCP menu

Start Claude Code and open the MCP menu:
claude
/mcp
3

Authorize

Select Fingerprint and complete the OAuth authorization in your browser when prompted.
See the Cursor MCP documentation for general setup instructions.
1

Open Cursor Settings

Go to Cursor > Settings… > Cursor Settings.
2

Add a custom MCP server

Navigate to Tools & MCP and click Add Custom MCP. Add this configuration to your mcp.json:
{
  "mcpServers": {
    "Fingerprint": {
      "url": "https://mcp.fpjs.io/mcp"
    }
  }
}
3

Connect

Return to Tools & MCP and click Connect to authenticate with Fingerprint in your browser.
See the VS Code MCP documentation for general setup instructions.Quick setup: Open the Command Palette (Ctrl+Shift+P / ⇧⌘P), run MCP: Add Server, and follow the guided flow for remote servers.Manual setup:
1

Open your MCP config

Create or open .vscode/mcp.json in your project (to share with your team), or open the Command Palette and run MCP: Open User Configuration to configure across all workspaces.
2

Configure the server

Add the following to your mcp.json:
{
  "servers": {
    "Fingerprint": {
      "type": "http",
      "url": "https://mcp.fpjs.io/mcp"
    }
  }
}
3

Connect

Save the file. Click Start above the Fingerprint server entry, then complete the OAuth authorization in your browser.
Any MCP-compatible client can connect to the Fingerprint MCP server.
1

Add the server

Follow your client’s documentation for adding an MCP server.
2

Configure the URL

Set the server URL to https://mcp.fpjs.io/mcp.
3

Authorize

Authenticate with OAuth in your browser when prompted.

Available Tools

Tools are divided into two groups: event tools for querying identification data, and management tools for administering your Fingerprint workspace.
  • Event tools let you retrieve and search identification events, including Smart Signal data like bot detection, VPN, proxy, incognito mode, and more.
  • Management tools let you create, update, and delete workspace environments and API keys.
For a full list of tools, see the tool reference in the GitHub repository.

Example Queries and Prompts

Once connected, you can ask your AI assistant questions in plain language. Some examples:
  • Fetch the last 50 events for visitor ID Abck1234CUFmcnjLwIs4A9 and summarize their activity.
  • Find all events linked to order ID 3936532456 and tell me if anything looks suspicious.
  • Show me recent events where a bot was detected, filtered to the last 6 hours.
  • List all environments in my workspace and create a new one called “staging”.
The server also includes an onboarding prompt, a guided walkthrough for integrating Fingerprint into a new project that covers JavaScript agent installation and verification steps. Trigger it by asking your AI assistant to walk you through Fingerprint setup.

Security Considerations

Prompt injection

Fields like linkedId and tag are customer-controlled values attached to identification events. If a malicious actor controls what gets stored in these fields, they could attempt to embed instructions that manipulate your AI assistant. Most AI clients show you each tool call before it executes, so keep manual approval enabled and review them before confirming.

Sensitive operations

Management tools can create, edit, and delete API keys and environments. Avoid connecting the server in shared or untrusted AI environments.

Troubleshooting

Authentication failures

  • Ensure you completed the OAuth flow and selected the correct Fingerprint workspace.
  • Try disconnecting and reconnecting the MCP server in your client settings.
  • If workspace authorization fails, your account may have reached the maximum number of allowed API keys (typically 5). Remove an unused key from the Fingerprint Dashboard and try again.

Tools not appearing

  • Restart your MCP client after adding the server configuration.
  • Try disconnecting and reconnecting the MCP server in your client settings.

Rate limit errors

  • Reduce the number of concurrent or rapid sequential tool calls.
  • Use specific filters (visitor_id, linked_id, time ranges) to reduce the number of API requests needed to answer a question.