
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
@verifasolutionsinc/mcp-server
Advanced tools
Run Verifa identity verification from any MCP client. Local stdio server that proxies to the hosted Verifa MCP endpoint with your API key.
Run identity verification from any MCP client — Claude Desktop, Cursor, Claude Code, or your own agent. Create verification sessions, hand the person a capture link, screen against sanctions and PEP lists, read results, and work the review queue, all as tools an agent can call.
{
"mcpServers": {
"verifa": {
"command": "npx",
"args": ["-y", "@verifasolutionsinc/mcp-server"],
"env": { "VERIFA_API_KEY": "vk_sandbox_...", "VERIFA_ENV": "sandbox" }
}
}
}
That is the whole install. Get a sandbox key at app.withverifa.com → Developers → API keys
(free, no card, no sales call). Sandbox keys never touch real data and can simulate every verification outcome,
so you can see the full lifecycle in a few minutes — examples/id-check does exactly that.
This package is deliberately small. It opens one authenticated connection to Verifa's hosted MCP endpoint
(https://api.withverifa.com/mcp, streamable HTTP) and forwards tools/list, tools/call, prompts/list
and prompts/get over stdio. Nothing is reimplemented here: tool schemas, PII scrubbing, rate limits and
the audit trail all live server-side, so this wrapper never drifts from the product.
If your client already speaks streamable HTTP with OAuth 2.1, you can skip this package and connect to the hosted endpoint directly — same tools, sign-in instead of an API key.
The server exposes 45 tools, grouped into toolsets. By default you get everything except destructive.
| Toolset | What an agent can do |
|---|---|
sessions | create_session, get_session, list_sessions, list_session_events, simulate_session (sandbox), reprocess_session |
checks | list_checks, get_check, list_check_hits, rerun_check — sanctions, PEP, adverse media, watchlists |
identities | search_identities, list_identities, get_identity, tag / untag |
cases | list_cases, get_case, claim_case, assign_case, add_case_comment, approve_case, reject_case, escalate_case … |
findings | list_findings, get_finding, acknowledge_finding, dismiss_finding |
lists | blocklist and custom list reads and writes |
workflows | list_workflows, get_workflow, trigger_workflow, list_verification_policies |
org | whoami, get_usage_stats, list_org_users, list_api_keys |
search | search / fetch for ChatGPT-style connectors |
destructive | redact_session, redact_identity, bulk_redact_sessions, … — off unless you opt in |
Every tool is scoped: the API key's scopes cap what the connection can do, whatever toolsets are enabled. Every call — read or write — writes an audit row that records it was made by an agent and by which key or OAuth client, so an agent's decision is never mistaken for a human's.
Fewer tools means less context spent per request and better tool selection. Pick what the job needs:
"env": {
"VERIFA_API_KEY": "vk_sandbox_...",
"VERIFA_MCP_TOOLSETS": "sessions,checks",
"VERIFA_MCP_READ_ONLY": "1"
}
| Variable | Effect |
|---|---|
VERIFA_API_KEY | Required. vk_sandbox_… or vk_live_…. Publishable keys (vk_pub_…) are rejected. |
VERIFA_ENV | sandbox or live. Inferred from the key if omitted; must match it if set. |
VERIFA_MCP_TOOLSETS | Comma-separated toolsets to expose. Default: all except destructive. |
VERIFA_MCP_READ_ONLY | 1 hides every tool that writes. |
VERIFA_MCP_ALLOW_DESTRUCTIVE | 1 adds the redaction tools. Each call also needs the redact:write scope, a written reason, and is capped at 5 per hour per key. Redaction is irreversible by design. |
VERIFA_API_URL | Override the API host (e.g. a staging environment). |
Check what a given configuration exposes without opening a client:
VERIFA_API_KEY=vk_sandbox_... npx -y @verifasolutionsinc/mcp-server --check
git clone https://github.com/Verifa-Solutions/verifa-mcp-server
cd verifa-mcp-server/examples/id-check
npm install
cp .env.example .env # paste your sandbox key
npm start # approve
npm run review # the outcome that matters: a human has to decide
The demo creates a session, generates the one-time capture link and QR code an integrator would show,
simulates an outcome (no passport needed — sandbox only), and reads the result. It prints the REST calls
in one column and the identical flow driven through this MCP server in the other. Add --webhooks with a
public URL (cloudflared tunnel --url http://localhost:8787 works) to receive the signed webhook deliveries
and see signature verification — the part most integrations get wrong.
npm install
npm run build
npm test # unit tests
VERIFA_API_KEY=vk_sandbox_... node dist/index.js --check # live smoke test
Node 20+. Logs go to stderr; stdout is the MCP transport.
VERIFA_API_URL.MIT — see LICENSE.
FAQs
Run Verifa identity verification from any MCP client. Local stdio server that proxies to the hosted Verifa MCP endpoint with your API key.
The npm package @verifasolutionsinc/mcp-server receives a total of 16 weekly downloads. As such, @verifasolutionsinc/mcp-server popularity was classified as not popular.
We found that @verifasolutionsinc/mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.