Trusgent

Trust Layer

Developers — Trust Layer APIs & MCP

Integrate Agent Cards into your LLM, agent runtime, or vertical assistant. Search, verify, and call real businesses.

Agent Card

Machine-readable identity unit. Same ID for /t and /b. API version 2026-08-21.

MCP tools

JSON-RPC over POST /api/mcp — search_agents, get_agent, verify_agent, get_business_facade, search_registry, get_merged_profile (preferred for HK).

HTTP v1

GET /api/v1/search · /api/v1/t/{id} · /api/v1/verify · /api/v1/b/{handle} · /api/v1/registry/{id}/merged

API keys

Public reads are IP-limited. Create a Bearer key in the dashboard for higher volume.

Hong Kong Official Registry

60k+ structured register records — restaurants, clinics, lawyers, insurers, and more. Each profile page links to official JSON and a merged profile when enrichment exists.

HTTP

GET /api/v1/registry/{registryId} · GET /api/v1/registry/{registryId}/merged · GET /api/v1/registry/search

MCP: get_registry · search_registry · get_merged_profile

Merged Profile

Combines official register fields, claimed Agent Card (if any), and external enrichment. Returns trustBreakdown and recommendedUse hints so agents know what is safe to cite.

Field Provenance

Official register fields are REGISTRY_OFFICIAL. Enrichment uses INFERRED (e.g. Google Places match) or MERCHANT_CONFIRMED after Dashboard review. Prefer recommendedUse over raw enrichment when citing hours or contact.

Live Places enrichment requires GOOGLE_PLACES_API_KEY on the server; without it, demo enrichment is used for POC.

Default Integration Path (HK Registry)

Partner agents should treat get_merged_profile (or GET /api/v1/registry/{registryId}/merged) as the default read after search_registry. Use get_registry only when you need raw official fields without enrichment or claim context.

  1. search_registry — find candidates by name, address, or licence no.
  2. get_merged_profile — fetch official + claimed + enrichment with recommendedUse
  3. If claimed.trusgentId exists: verify_agent before recommending; optional get_business_facade
  4. Cite identity when recommendedUse.identity is safe_to_cite; treat hours/contact per recommendedUse

Example Merged Response

{
  "kind": "MergedRegistryProfile",
  "apiVersion": "2026-05-01",
  "registryId": "fehd-3715038328",
  "official": {
    "verification": {
      "level": "REGISTRY_OFFICIAL"
    }
  },
  "claimed": null,
  "enrichment": {
    "status": "PENDING_REVIEW",
    "fields": {
      "hours": {
        "verificationLevel": "INFERRED",
        "source": "google_places"
      }
    }
  },
  "trustBreakdown": {
    "officialRegistry": 40,
    "merchantClaim": 0,
    "enrichmentConfirmed": 2,
    "totalHint": 42
  },
  "recommendedUse": {
    "identity": "safe_to_cite",
    "hours": "cite_with_caution",
    "contact": "do_not_cite"
  }
}

Open Agent Card contract: docs/agent-card.md · MCP guide: docs/mcp.md