Skip to main content
PE

Persona

v0.2.0API Key

Modern developer-first KYC โ€” great DX and template-driven workflows. 4th identity entry (Unico BR / Onfido global / Jumio enterprise / Persona modern).

20 tools2 env vars๐ŸŒ GLOBALstable on npm

Install

terminal
$ npm install @codespar/mcp-persona

Quickstart

Add this entry to your claude_desktop_config.json (or any MCP-compatible client config).

claude_desktop_config.json
{
  "mcpServers": {
    "persona": {
      "command": "npx",
      "args": [
        "-y",
        "@codespar/mcp-persona"
      ],
      "env": {
        "PERSONA_API_KEY": "<your_persona_api_key>"
      }
    }
  }
}

After restart, your agent can call any of the 20 tools below โ€” try create_inquiry first.

Environment variables ยท 2

Required to authenticate the server. Stored encrypted when using CodeSpar managed hosting.

PERSONA_API_KEY
requiredsecret

Persona API key. Sent as 'Authorization: Bearer <value>'.

PERSONA_API_VERSION
optional

Persona API version pin (sent as 'Persona-Version' header). Defaults to '2023-01-05'.

Available tools ยท 20

Each tool is independent โ€” your agent loads only what it needs to reduce context and response time.

WRITEcreate_inquiry
Create a Persona inquiry โ€” a verification session bound to an inquiry template you configured in the Persona dashboard. The template defines which verifications run (document, selfie, database, phone, etc). Returns an inquiry id and (for hosted flows) a one-time link for the end user.
READretrieve_inquiry
Retrieve an inquiry by id. Response includes overall status ('created' | 'pending' | 'completed' | 'expired' | 'failed' | 'needs_review' | 'approved' | 'declined') and embedded verifications / reports. Poll this to track progress.
READlist_inquiries
List inquiries, filterable by reference-id (your internal user id) or status. Useful for reconciling state or finding a user's inquiry history.
WRITEapprove_inquiry
Mark an inquiry as approved. This records your final decision on the Persona inquiry โ€” useful for dashboard reporting and Persona's feedback loop. Does NOT itself gate the user; you must still enforce the decision in your app.
READdecline_inquiry
Mark an inquiry as declined. Records your final reject decision on the Persona inquiry for reporting and feedback.
READredact_inquiry
Redact an inquiry (GDPR right-to-erasure). Scrubs PII, captured images, and verification detail for this inquiry on Persona's side. Irreversible.
WRITEcreate_account
Create a persistent Persona account โ€” a long-lived end-user record that multiple inquiries can attach to. Enables re-use of previously verified fields and longitudinal fraud signals across sessions.
READretrieve_account
Retrieve a Persona account by id, including summary PII and linked inquiries / verifications.

Compatible frameworks

MCP is a protocol โ€” any framework that speaks it can mount this server.

Claude Agent SDKAnthropic
OpenAI AgentsOpenAI
Vercel AI SDKVercel
LangChainLangChain
LlamaIndexLlamaIndex
CrewAICrewAI
MastraMastra
Any MCP clientProtocol

Frequently asked questions

All credentials are encrypted at rest in an isolated vault scoped per organization. OAuth2 tokens are automatically refreshed before expiry. Your agent code never sees raw secrets โ€” it receives scoped, short-lived session tokens.
Servers โ€” Every LatAm commerce API your agent needs | CodeSpar