Skip to main content
Connect your AI coding tool to Truv’s MCP server. It searches the docs and retrieves full page content on demand, so you get correct auth headers, status enums, and webhook handlers without pasting context manually.

Connect the MCP server

The Truv MCP server runs at https://docs.truv.com/mcp. It exposes two tools: search across all documentation and retrieve the full content of any page by path.
claude mcp add --transport http truv-api https://docs.truv.com/mcp
Test it by starting a new chat and asking: “What headers does the Truv API use for authentication?”

Context files

Truv publishes two static context files following the llms.txt standard. Use these to seed CLAUDE.md / AGENTS.md, paste into a prompt, or as a fallback when MCP isn’t available.
FileSizeUse case
llms.txt~3.5 KBStructured overview with links to docs sections
llms-full.txt~18 KBEverything inlined: auth, endpoints, schemas, enums, webhooks, sandbox credentials
  • Authentication pattern (headers, base URL, SDK init)
  • All products and when to use each integration method
  • Complete integration code for Embedded Orders and User Token flows
  • Connection lifecycle with every status and error state
  • Webhook event types with example payloads and signature verification
  • Field-level data reference for Income & Employment, Employment, and Assets reports
  • Every enum value: job types, pay frequencies, deposit types, account types, income units
  • All API endpoints grouped by resource
  • Sandbox test credentials for every scenario

Reference repos

Clone these repos and point your AI tool at the source for working reference implementations.

What AI commonly gets wrong

What AI guessesCorrect value
Authorization: Bearer {token}X-Access-Client-Id and X-Access-Secret headers
Status: complete, success, finisheddone (task statuses: new, login, mfa, parse, full_parse, done)
Product: voie, voe, voaincome, employment, assets
TruvBridge.init({ bridgeToken }) for ordersMust include isOrder: true
Separate sandbox URLSame URL: https://prod.truv.com/v1/, credentials determine environment
Webhook signature: raw HMACFormat: v1={hmac_sha256_hex} in X-WEBHOOK-SIGN header
Income amounts as numbersStrings: "50000.00"
Pay frequency: biweekly, monthlyCodes: BW, M, SM, W

Prompting tips

Copy these prompts directly or adapt for your use case.
Build a server endpoint that creates a Truv Embedded Order for income and employment
verification. Use the Truv API with X-Access-Client-Id and X-Access-Secret headers.
Return the bridge_token to the frontend. Then build a frontend that initializes
TruvBridge with isOrder: true and handles onSuccess, onClose, and onEvent callbacks
(errors surface in onEvent with type=ERROR and an ErrorData payload -- there is no onError callback).
Create a webhook endpoint for Truv that:
1. Verifies the X-WEBHOOK-SIGN header using HMAC-SHA256 with my API secret (format: v1={hash})
2. Handles task-status-updated events - fetch the income report when status is "done"
3. Handles error statuses: login_error, mfa_error, account_locked, unavailable
4. Uses webhook_id for idempotency
5. Responds within 10 seconds
Build a Deposit Switch integration using Truv's User Token flow (NOT Embedded Orders).
Create a bridge token with product_type "deposit_switch" and include the target bank
account details (account_number, routing_number, bank_name, account_type, deposit_type).
Initialize TruvBridge WITHOUT the isOrder flag.
Write a function that takes a Truv income verification report and extracts:
- Current employer name, job title, start date, is_active status
- Most recent pay statement: gross_pay, net_pay, pay_date, pay frequency
- YTD income from annual_income_summary
- All direct deposit bank accounts with routing numbers
Use the exact field names from the Truv API docs.

Next steps

Quickstart

Create your first verification in minutes

Embedded Orders

Full integration walkthrough

Testing & Sandbox

Test credentials and sandbox environment

API Reference

Complete endpoint documentation