Deepvue MCP — Run Verifications From Your AI Tools
Connect Claude, Cursor, or any MCP client to the Deepvue MCP server. Run PAN, KYB, court record, FIR, PEP/AML, and DigiLocker verifications using natural language, authenticated with your Deepvue Client ID and Client Secret.
Overview
The Deepvue MCP server lets any MCP-compatible AI tool — Claude Desktop, Claude Code, Cursor, and others — run real Deepvue verifications through natural language. Instead of writing HTTP requests, you ask your AI assistant to "verify this PAN" or "screen this person for court records," and it calls the corresponding Deepvue API on your behalf.
Each customer connects with their own Client ID and Client Secret, so every call runs against your account, consumes your wallet balance, and respects your plan's enabled products and rate limits.
This is different from the Docs Search MCP. The Docs Search MCP (docs.deepvue.ai/_mcp) only searches this documentation. The Deepvue MCP described here (mcp.deepvue.ai/mcp) executes live verifications against your Deepvue account.
Server endpoint
https://mcp.deepvue.ai/mcp
This is a remote, OAuth-authenticated MCP server using streamable HTTP transport.
Prerequisites
Have an active Deepvue account
Sign up at the Deepvue Dashboard and ensure your wallet has balance for the products you want to use.
Get your credentials
In the dashboard, open the Credentials tab and copy your client_id and client_secret. These are the same credentials used for direct API authentication.
Install an MCP client
Use Claude Desktop, Claude Code, Cursor, or any other MCP-compatible AI tool.
Your client_secret authorizes real, billable verifications. Treat it like a password — never share it or commit it to version control.
Connect the server
The recommended method for Pro, Team, and Enterprise plans.
- Open Claude Desktop, then go to Settings (Claude menu → Settings, or
⌘,) and select the Connectors tab. - Scroll down and click Add custom connector. Set Name to
Deepvueand URL tohttps://mcp.deepvue.ai/mcp. Optionally, if you have your Client ID and Client Secret handy, enter them here now — you won't be asked for them again in the next step. Then click Add. - The connector appears in the list — click Connect. Your browser opens the Deepvue login page. If you didn't pre-fill them, enter your Client ID and Client Secret, then click Authorize.
- Back in Claude Desktop the connector shows Connected and its tools are registered. In any chat, open the tools/connector menu (the ⚙ / search icon near the message box) and make sure Deepvue is enabled.
Use this fallback if the Connectors tab is unavailable on your plan. Claude Desktop's config file natively supports only local (stdio) servers, so a remote server needs the mcp-remote bridge (requires Node.js).
Edit your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"deepvue": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.deepvue.ai/mcp"]
}
}
}
Restart Claude Desktop. On first use, mcp-remote opens your browser to the Deepvue login page so you can authorize with your Client ID and Client Secret.
Add the server from your terminal:
claude mcp add --transport http deepvue https://mcp.deepvue.ai/mcp
On first use, Claude Code triggers the OAuth flow — authorize with your Client ID and Client Secret in the browser. Run claude mcp list to confirm the server shows as Connected.
In Cursor, go to Settings → MCP → Add new server and use name deepvue with URL https://mcp.deepvue.ai/mcp. Cursor opens the Deepvue login page to authorize with your Client ID and Client Secret.
Available tools
Once connected, your AI client registers the Deepvue verification tools. The exact tools you see depend on the products enabled on your plan.
| Tool | What it does | Mode |
|---|---|---|
identity_verify | Verify an Indian PAN against an authoritative PAN/tax-registry source. Returns the holder profile: name, address, DOB, gender, masked Aadhaar, and Aadhaar linkage status. | Synchronous (slow, ~2-5s) |
entity_verify | Look up an Indian business or director by gstin, cin, din, or pan. Routes to GSTIN Advanced (filings, promoters, jurisdiction), company-registry CIN (master data, directors, charges), DIN (director profile), or the GSTINs linked to a PAN. For an individual's PAN identity, use identity_verify instead. | Synchronous (~1-5s) |
court_record_check | Screen an individual against Indian court records (civil, criminal, and tribunal cases). Each call is a new billable screening; if results exceed the ~90s budget it returns completed: false with a transaction_id for court_record_fetch. | Async (blocking, ~90s) |
court_record_fetch | Recovery companion — fetch a court-record result by transaction_id if the original check did not finish in time. | Async fetch |
fir_record_check | Screen an individual against FIR (First Information Report) police records by name and address. Each call is a new billable screening; if results exceed the ~90s budget it returns completed: false with a transaction_id for fir_record_fetch. | Async (blocking, ~90s) |
fir_record_fetch | Recovery companion — fetch an FIR result by transaction_id. | Async fetch |
pep_sanction_aml_check | Screen an individual against PEP (Politically Exposed Persons), sanctions, and AML watchlists by name. Each call is a new billable screening; if results exceed the ~90s budget it returns completed: false with a transaction_id for pep_sanction_aml_fetch. | Async (blocking, ~90s) |
pep_sanction_aml_fetch | Recovery companion — fetch a PEP/sanctions/AML result by transaction_id. | Async fetch |
digilocker_consent_initiate | Start a DigiLocker KYC consent flow — issues a link the user authorises in their browser. Returns a redirect_url and consent_id; show the URL to the user, then call digilocker_consent_fetch with the consent_id to complete. | Synchronous (~2s) |
digilocker_consent_fetch | Block until the DigiLocker run started by digilocker_consent_initiate completes (~90s budget). Returns granted with the verified KYC payload (name, DOB, gender, mobile, address, masked ID, DigiLocker ID), or failed, expired, or pending (still running — call again). | Blocking (~90s) |
The _fetch tools are recovery companions for the asynchronous flows. A court_record_check, fir_record_check, or pep_sanction_aml_check call submits the request and waits in-line for up to ~90 seconds. If results aren't ready in time, it returns a transaction_id — pass that to the matching _fetch tool to retrieve the result later.
Callers are responsible for having a lawful basis and a legitimate purpose to run these checks. Only the DigiLocker flow collects the individual's explicit consent — all other checks run server-side without one.
How verifications run
Synchronous tools
identity_verify and entity_verify return in a few seconds. Just ask, and the result comes back in the same turn.
Asynchronous screening
court_record_check, fir_record_check, and pep_sanction_aml_check submit a request and block for up to ~90 seconds while court records, police records, or watchlists are queried. If the upstream source is slow, you'll get completed: false with a transaction_id — ask your AI tool to fetch it again, which calls court_record_fetch, fir_record_fetch, or pep_sanction_aml_fetch.
Consent-based DigiLocker flow
digilocker_consent_initiate returns a redirect_url that the end user must open in a browser to authorize the Aadhaar share via DigiLocker. Your AI tool then calls digilocker_consent_fetch to retrieve the verified KYC payload once consent is granted.
DigiLocker verification requires explicit end-user consent. Only initiate the flow for users who have agreed to share their Aadhaar details, and present the redirect_url to that user — not to a third party.
Example prompts
Once Deepvue is enabled in your chat, try prompts like:
- "Verify PAN
ABCDE1234Fand show me the holder's name and Aadhaar linkage status." - "Look up GSTIN
27AAACR5055K1Z5and list the promoters and filing status." - "Pull the MCA company master data and directors for CIN
L17110MH1973PLC019786." - "Screen
Rahul Sharmaat42 MG Road, Bengalurufor any pending criminal court records." - "Check
Rahul Sharmaagainst PEP, sanctions, and AML watchlists." - "Start a DigiLocker Aadhaar verification and give me the link to share with the customer."
The AI tool selects the right Deepvue tool, runs the verification against your account, and returns a grounded, plain-language answer.
Troubleshooting
Your OAuth session has expired or the credentials weren't accepted. Reconnect the connector (Claude Desktop) or re-run the OAuth flow, and confirm your client_id and client_secret are correct in the Dashboard credentials tab.
Tool availability is tied to the products enabled on your Deepvue plan. If a verification you need isn't available, check your plan or contact support.
The upstream source didn't respond within the ~90 second window. Ask your AI tool to fetch the result again using the returned transaction_id — it will call court_record_fetch, fir_record_fetch, or pep_sanction_aml_fetch.
Ensure Node.js is installed (node --version). The npx -y mcp-remote ... command downloads the bridge on first run, so the initial start may take a few extra seconds.
Security and billing
- Every call runs against your Deepvue account and consumes wallet balance — monitor usage in the Dashboard.
- Authorize the connector only on machines you trust; the OAuth session grants verification access until it expires.
- Follow the same security best practices you use for direct API access.
- For data handling and consent obligations, review Consent and Compliance.