Skip to content

trulioo/trulioo-mcp

v0.7.6Apache-2.0

Business verification (KYB) and agent identity (KYA) for AI agents, over Trulioo's hosted MCP server. Reads the tool contract the connected session advertises instead of assuming one.

Trulioo - portable, KYA-signed Agent Plugin

Business verification and agent identity for AI agents. This package connects Claude Code, ChatGPT, Codex, and Claude Desktop to Trulioo's hosted MCP server at https://mcp.trulioo.com/mcp. No token or client secret is stored in the package: each user authenticates to Trulioo when they connect, over OAuth 2.1 authorization code with PKCE. Sessions last 30 days, extended by activity, up to 90 days.

Install

Claude Code

/plugin marketplace add Trulioo/trulioo-mcp
/plugin install trulioo-mcp@trulioo

Claude Desktop

  • Chat: add https://mcp.trulioo.com/mcp as a custom connector (Settings > Connectors), then press Connect; the Trulioo OAuth flow opens in a browser. On Team and Enterprise plans an organization Owner adds the connector first. Chat uses the MCP tools only.
  • Cowork: install this plugin from the marketplace, as in Claude Code; Cowork loads the skills, command and agent too.

Use one route per Desktop app. Installing the plugin and also adding a separate URL connector gives two OAuth grants and duplicate tools.

ChatGPT and Codex

Add https://mcp.trulioo.com/mcp as a remote MCP connector and connect it; the client opens the Trulioo OAuth flow in a browser.

For a local ChatGPT plugin test, first register that endpoint in ChatGPT developer mode and copy the technical ID, which starts with plugin_asdk_app. Make a workspace-local copy of the package, copy .app.json.example to .app.json, replace the placeholder, then validate the binding from the mirror repository root:

node check-chatgpt-app-binding.mjs trulioo-mcp/.app.json

The committed .app.json stays {"apps":{}}. A connection ID belongs to one ChatGPT workspace and must never be committed or treated as publisher-signed package identity.

Client support

ClientMCP toolsPackaged skills, command, agentMCP Apps UI
Claude CodeYesYesNot claimed by this projection
Claude Desktop (Cowork)YesYesNot claimed
Claude Desktop (chat, URL connector)YesNoNot enabled on the hosted server
ChatGPTYesNo Claude-specific assetsYes, through the registered .app.json connection
Claude API MCP connectorTools onlyNoNo

Desktop chat loads only the MCP tools; Cowork installs the full plugin. The Claude API MCP connector is a separate tools-only integration; it does not consume MCP resources or render MCP Apps UI.

What you get

MCP server trulioo - the Trulioo tool surface enabled for your connection. Call trulioo_capabilities and use what it lists: some families are off by default or ride an account entitlement, so a tool named in any document (including this one) is not a promise that your session has it. The server uses progressive discovery: tools/list holds a small resident set, and the rest are found with trulioo_find_tools and called through trulioo_invoke_tool.

Billed actions are confirmed by the agent, not the server: the skills tell the model to state what it will submit and get your agreement before a billed call.

Skills - each one encodes the field structures, quirks, and result interpretation for its domain, so an agent does not have to rediscover them:

SkillCovers
trulioo-onboardingRead the session's contract before the first call: health, capabilities, packages, country context
trulioo-kybBusiness search, verification, beneficial ownership, reporting, monitoring
trulioo-kyaResolve and verify agent credentials and spend mandates; issue and roll your own
trulioo-agent-assuranceRequest and interpret multi-collector software assurance for an agent
trulioo-agent-readinessMeasure what an agent publishes, starting from an account-owned Digital Agent Profile; the server derives its bound host

Slash command - /trulioo-mcp:kyb-due-diligence, the guided business due-diligence sequence end to end.

Agent identity-orchestrator - picks the tools the session actually advertises and chains them, without turning any single signal into a decision.

The assurance skill discovers its contract at runtime. It carries no scanner binary, vendor policy, credential, score translation, or hidden threshold; when the operation it needs is not advertised it reports the route as unavailable rather than improvising.

One portable bundle (Agent Plugins 1.0.0)

The package follows the agent-plugins.org open standard: one canonical plugin.json + mcp.json + skills/, with each client's config under its own reverse-DNS extensions namespace (com.anthropic.claude-code, com.openai.chatgpt, com.anthropic.claude-desktop). The per-client manifests - .claude-plugin/plugin.json, .codex-plugin/plugin.json, .mcp.json - are generated projections of that one manifest, so a capability is edited once.

Verify who published this

The bundle carries a com.trulioo.kya attestation: an Ed25519 signature over a content digest of the manifest, skills, command, and agent. The released bundle is signed by the Trulioo KYA issuer - the same authority that signs agent identities - so its key id resolves in the issuer's published JWKS.

attest-plugin.mjs sits one level above this file, at the repository root. Run:

node ../attest-plugin.mjs --verify --resolve

It needs Node 18 or newer and no install step. Two things have to hold for it to print ATTESTATION OK, and it fails closed on either: the bytes on disk match what was signed, and the signing key resolves in Trulioo's published JWKS.

--resolve is what checks the second one, over the network. Leave it off and a released plugin stops with a message telling you to add it - deliberately, because an attestation verified against a key carried inside its own file proves integrity and nothing at all about provenance.

See com.trulioo.kya/README.md for the wire format.

This directory is generated

Do not send changes here. The package is produced from Trulioo's MCP server sources of truth and published by CI: skill bodies, the command set, and the client-manifest projections are regenerated and checked against the server on every release, and the attestation is re-signed. A hand-edit is reverted by the next publish - and would break the attestation in the meantime.

Report issues to mcp@trulioo.com.

License

Apache License 2.0; see LICENSE. Access to Trulioo services is governed separately by the applicable Trulioo agreement and authentication.