Trusgent MCP
Trusgent MCP — Trust Layer for AI agents. HK registry + Agent Cards. Default: get_merged_profile.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"trusgent-mcp": {
"url": "https://www.trusgent.com/api/mcp"
}
}
}Remote endpoints
https://www.trusgent.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (12)
🟢search_agents(q, country, type, verificationLevel, agentReady, ...)
Search the Trusgent Trust Layer directory for people and businesses with public Agent Cards. Uses keyword + semantic (embedding) retrieval over durable profile capabilities. Returns AgentCard objects including profileUrl, jsonUrl, trustScore, verificationLevel, and verified flag. Prefer verified agents when recommending. Use before recommending any agent to an end user. Do not treat this as intent/demand matching — that is a separate flow.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text query (name, headline, keyword)"
},
"country": {
"type": "string",
"description": "ISO country code, e.g. CN, HK"
},
"type": {
"type": "string",
"description": "PERSONAL | COMPANY | ORGANIZATION | SERVICE_PROVIDER | PRODUCT | AI_AGENT"
},
"verificationLevel": {
"type": "string",
"description": "Optional verification level filter"
},
"agentReady": {
"type": "string",
"description": "true | false — filter agent-ready cards"
},
"sort": {
"type": "string",
"description": "Optional sort key supported by the directory search API"
}
}
}🟢get_agent(trusgentId)
Fetch one full Agent Card by public trusgentId (same ID used in /t/{id} and /b/{id}). Returns structured profile fields, trustScore, verification, and canonical URLs for humans and machines.
Input Schema
{
"type": "object",
"properties": {
"trusgentId": {
"type": "string",
"description": "Public AgentID, e.g. TG-S-839201"
}
},
"required": [
"trusgentId"
]
}🟢verify_agent(trusgentId)
Lightweight verification lookup: whether an AgentID exists, is public, and its verification level / trustScore. Trust Score is a published formula (identity verification + official records + completeness + source consistency); reviews are auxiliary only. Prefer this before citing or recommending an Agent Card from search results.
Input Schema
{
"type": "object",
"properties": {
"trusgentId": {
"type": "string",
"description": "Public AgentID to verify"
}
},
"required": [
"trusgentId"
]
}🟢get_business_facade(handle)
Fetch a published business facade (menu/services, hours, booking capabilities) by the same public ID/handle as /b/{id}. Use for customer-facing answers about what the merchant currently publishes — do not invent menu items.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "Agent Handle / facade handle"
}
},
"required": [
"handle"
]
}🟢check_availability(handle, date, time)
Check remaining reservation capacity for a business facade slot before create_reservation. HTTP equivalent: GET /api/v1/b/{handle}/availability?date=YYYY-MM-DD&time=HH:mm.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "Public facade handle (AgentID)"
},
"date": {
"type": "string",
"description": "Reservation date (YYYY-MM-DD)"
},
"time": {
"type": "string",
"description": "Reservation time (HH:mm)"
}
},
"required": [
"handle",
"date",
"time"
]
}🟡create_reservation(handle, mode, name, phone, email, ...)
Submit a booking or appointment request for a published business facade. Creates a PENDING reservation; the merchant confirms in Dashboard. Not a guaranteed instant booking. HTTP equivalent: POST /api/v1/b/{handle}/reservations.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "Public facade handle (AgentID)"
},
"mode": {
"type": "string",
"enum": [
"table",
"appointment"
],
"description": "table for dine-in; appointment for generic services"
},
"name": {
"type": "string",
"description": "Guest name"
},
"phone": {
"type": "string",
"description": "Guest phone (E.164 or local)"
},
"email": {
"type": "string",
"description": "Optional guest email"
},
"partySize": {
"type": "integer",
"description": "Party size (1–40)"
},
"date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"time": {
"type": "string",
"description": "HH:mm"
},
"note": {
"type": "string",
"description": "Optional note for the merchant"
},
"table": {
"type": "string",
"description": "Optional table code from facade.tables"
},
"service": {
"type": "string",
"description": "Optional service label"
}
},
"required": [
"handle",
"name",
"phone",
"partySize",
"date",
"time"
]
}🟡create_order(handle, table, fulfillmentMode, guestName, guestPhone, ...)
Submit a dine-in or takeaway order from a published restaurant facade menu. Creates a PENDING order; kitchen confirms in Dashboard. Restaurant facades only; menu item names must match facade.menu. HTTP equivalent: POST /api/v1/b/{handle}/orders.
Input Schema
{
"type": "object",
"properties": {
"handle": {
"type": "string",
"description": "Public facade handle (AgentID)"
},
"table": {
"type": "string",
"description": "Table code from facade.tables, or TAKEAWAY / PICKUP for off-premise"
},
"fulfillmentMode": {
"type": "string",
"enum": [
"DINE_IN",
"TAKEAWAY",
"PICKUP"
],
"description": "Defaults to DINE_IN"
},
"guestName": {
"type": "string",
"description": "Guest name (required for takeaway/pickup)"
},
"guestPhone": {
"type": "string",
"description": "Guest phone (required for takeaway/pickup)"
},
"note": {
"type": "string",
"description": "Optional note for the kitchen"
},
"items": {
"type": "array",
"description": "Menu lines — names must match published facade menu",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"qty": {
"type": "integer",
"minimum": 1,
"maximum": 40
},
"price": {
"type": "string",
"description": "Optional display price echo from menu"
},
"currency": {
"type": "string",
"description": "Optional currency echo from menu"
}
},
"required": [
"name",
"qty"
]
}
}
},
"required": [
"handle",
"table",
"items"
]
}🟢get_registry(registryId)
Fetch one official Hong Kong registry record by registryId (e.g. fehd-3715038328). Returns official fields plus provenance and verify links. Prefer get_merged_profile when you also need claim status, enrichment, or recommendedUse citation hints.
Input Schema
{
"type": "object",
"properties": {
"registryId": {
"type": "string",
"description": "Public registry handle, e.g. fehd-3715038328"
}
},
"required": [
"registryId"
]
}🟢search_registry(q, source, country, limit)
Search Hong Kong official registry records (~60k+) by name, address, licence number, or registryId. Optional source filter (FEHD_RESTAURANT, EHEALTH_HCP, etc.). Returns lightweight rows with profileUrl and mergedUrl; follow up with get_merged_profile for citation-safe detail.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text query"
},
"source": {
"type": "string",
"description": "Registry source enum, optional"
},
"country": {
"type": "string",
"description": "ISO country code, e.g. HK"
},
"limit": {
"type": "number",
"description": "Max results (default 25, max 50)"
}
}
}🟢get_merged_profile(registryId, locale)
Preferred HK registry read: official registry fields merged with claimed Agent Card data and cited third-party enrichment (Google Places POC when available). Includes dossierLayers, citationPolicy, trustBreakdown, and recommendedUse so agents know what is safe to cite. Reviews are auxiliary and are not scraped from the open web.
Input Schema
{
"type": "object",
"properties": {
"registryId": {
"type": "string",
"description": "Public registry handle, e.g. fehd-3715038328"
},
"locale": {
"type": "string",
"description": "en | zh-CN | zh-HK"
}
},
"required": [
"registryId"
]
}🟢list_rankings(locale, track)
List Trusgent ranking boards. Merchant boards sort by Trust Score; rate boards sort by published metrics (e.g. HKD fixed-deposit rates). Returns catalog with htmlUrl + jsonUrl per board.
Input Schema
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"description": "en | zh-CN | zh-HK"
},
"track": {
"type": "string",
"description": "Optional filter: trust | market"
}
}
}🟢get_ranking(slug, locale, tenureMonths)
Fetch one ranking board as structured items for citation. Prefer this over scraping HTML. Includes methodology, asOf, paidPlacement=false, and recommendedUse. For market boards pass tenureMonths (1|3|6|12).
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Board slug, e.g. hk-restaurants or hk-fixed-deposit-rates"
},
"locale": {
"type": "string",
"description": "en | zh-CN | zh-HK"
},
"tenureMonths": {
"type": "number",
"description": "Market boards only: 1 | 3 | 6 | 12 (default 12)"
}
},
"required": [
"slug"
]
}Community
Evidence