MCP Server

Trusgent MCP

io.github.Trusgent/trusgent-mcp

What this MCP does

Provides trust-layer agent cards, Hong Kong registry searches, business and merchant profiles, rankings, verification, restaurant orders, and reservation requests.

check_availability
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['handle', 'date', 'time'], 'properties': {'date': {'type': 'string', 'description': 'Reservation date (YYYY-MM-DD)'}, 'time': {'type': 'string', 'description': 'Reservation time (HH:mm)'}, 'handle': {'type': 'string', 'description': 'Public facade handle (AgentID)'}}}
create_order
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.
Open world
Input schema
{'type': 'object', 'required': ['handle', 'table', 'items'], 'properties': {'note': {'type': 'string', 'description': 'Optional note for the kitchen'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'qty'], 'properties': {'qty': {'type': 'integer', 'maximum': 40, 'minimum': 1}, 'name': {'type': 'string'}, 'price': {'type': 'string', 'description': 'Optional display price echo from menu'}, 'currency': {'type': 'string', 'description': 'Optional currency echo from menu'}}}, 'description': 'Menu lines — names must match published facade menu'}, 'table': {'type': 'string', 'description': 'Table code from facade.tables, or TAKEAWAY / PICKUP for off-premise'}, 'handle': {'type': 'string', 'description': 'Public facade handle (AgentID)'}, 'guestName': {'type': 'string', 'description': 'Guest name (required for takeaway/pickup)'}, 'guestPhone': {'type': 'string', 'description': 'Guest phone (required for takeaway/pickup)'}, 'fulfillmentMode': {'enum': ['DINE_IN', 'TAKEAWAY', 'PICKUP'], 'type': 'string', 'description': 'Defaults to DINE_IN'}}}
create_reservation
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.
Open world
Input schema
{'type': 'object', 'required': ['handle', 'name', 'phone', 'partySize', 'date', 'time'], 'properties': {'date': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'mode': {'enum': ['table', 'appointment'], 'type': 'string', 'description': 'table for dine-in; appointment for generic services'}, 'name': {'type': 'string', 'description': 'Guest name'}, 'note': {'type': 'string', 'description': 'Optional note for the merchant'}, 'time': {'type': 'string', 'description': 'HH:mm'}, 'email': {'type': 'string', 'description': 'Optional guest email'}, 'phone': {'type': 'string', 'description': 'Guest phone (E.164 or local)'}, 'table': {'type': 'string', 'description': 'Optional table code from facade.tables'}, 'handle': {'type': 'string', 'description': 'Public facade handle (AgentID)'}, 'service': {'type': 'string', 'description': 'Optional service label'}, 'partySize': {'type': 'integer', 'description': 'Party size (1–40)'}}}
get_agent
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['trusgentId'], 'properties': {'trusgentId': {'type': 'string', 'description': 'Public AgentID, e.g. TG-S-839201'}}}
get_business_facade
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['handle'], 'properties': {'handle': {'type': 'string', 'description': 'Agent Handle / facade handle'}}}
get_merged_profile
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['registryId'], 'properties': {'locale': {'type': 'string', 'description': 'en | zh-CN | zh-HK'}, 'registryId': {'type': 'string', 'description': 'Public registry handle, e.g. fehd-3715038328'}}}
get_ranking
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).
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['slug'], '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)'}}}
get_registry
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['registryId'], 'properties': {'registryId': {'type': 'string', 'description': 'Public registry handle, e.g. fehd-3715038328'}}}
list_rankings
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'track': {'type': 'string', 'description': 'Optional filter: trust | market'}, 'locale': {'type': 'string', 'description': 'en | zh-CN | zh-HK'}}}
search_agents
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free-text query (name, headline, keyword)'}, 'sort': {'type': 'string', 'description': 'Optional sort key supported by the directory search API'}, 'type': {'type': 'string', 'description': 'PERSONAL | COMPANY | ORGANIZATION | SERVICE_PROVIDER | PRODUCT | AI_AGENT'}, 'country': {'type': 'string', 'description': 'ISO country code, e.g. CN, HK'}, 'agentReady': {'type': 'string', 'description': 'true | false — filter agent-ready cards'}, 'verificationLevel': {'type': 'string', 'description': 'Optional verification level filter'}}}
search_registry
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Free-text query'}, 'limit': {'type': 'number', 'description': 'Max results (default 25, max 50)'}, 'source': {'type': 'string', 'description': 'Registry source enum, optional'}, 'country': {'type': 'string', 'description': 'ISO country code, e.g. HK'}}}
verify_agent
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.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['trusgentId'], 'properties': {'trusgentId': {'type': 'string', 'description': 'Public AgentID to verify'}}}
Added
get_ranking
Sept. 19, 2026, 2:47 a.m.
Added
list_rankings
Sept. 19, 2026, 2:47 a.m.
Added
get_merged_profile
Sept. 17, 2026, 12:52 p.m.
Added
search_registry
Sept. 17, 2026, 12:52 p.m.
Added
get_registry
Sept. 17, 2026, 12:52 p.m.
Added
create_order
Sept. 17, 2026, 12:52 p.m.
Added
create_reservation
Sept. 17, 2026, 12:52 p.m.
Added
check_availability
Sept. 17, 2026, 12:52 p.m.
Added
get_business_facade
Sept. 17, 2026, 12:52 p.m.
Added
verify_agent
Sept. 17, 2026, 12:52 p.m.
Added
get_agent
Sept. 17, 2026, 12:52 p.m.
Added
search_agents
Sept. 17, 2026, 12:52 p.m.