Trusgent MCP
Server Details
Trusgent MCP — Trust Layer for AI agents. HK registry + Agent Cards. Default: get_merged_profile.
- Status
- Healthy
- Uptime
- 100.0% over 71 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- Repository
- Trusgent/trusgent-mcp
- GitHub Stars
- 1
- Server Listing
- Trusgent MCP
TDQS
Scored across 13 tools
Four read tools target the same identity domain (get_agent, get_merged_profile, get_registry, verify_agent), and search_agents vs search_registry also overlap. Descriptions do provide explicit 'prefer X over Y' guidance, which mitigates but does not eliminate the risk of misselection between these lookups.
All 13 tools follow a consistent snake_case verb_noun pattern across a small, predictable verb vocabulary (check_, create_, get_, list_, search_, verify_). No mixed conventions or vague standalone verbs.
13 tools sit comfortably in the well-scoped 3-15 range, split cleanly between discovery (search/get), trust verification, and transactional actions. Each tool maps to a distinct API surface rather than padding.
The read/discovery side is thorough (registry, agents, facades, rankings, availability), but the transactional side is create-only: create_order and create_reservation produce PENDING records with no tool to check status, list a caller's orders/reservations, or cancel them. Agents can work around by re-querying the facade, but the order/reservation lifecycle is left open.
Available Tools
13 toolscheck_availabilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Reservation date (YYYY-MM-DD) | |
| time | Yes | Reservation time (HH:mm) | |
| handle | Yes | Public facade handle (AgentID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, so the description does not need to restate those. It adds that this is a preflight capacity check and provides the HTTP GET equivalent, but it leaves the exact response shape and how capacity is represented to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the purpose and workflow position, then add the HTTP equivalent. There is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity check with rich annotations and full parameter documentation, the description is largely sufficient. It could be more explicit about what the returned availability looks like, but the name and 'remaining reservation capacity' phrasing provide enough context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with their formats, giving 100% schema coverage. The description's HTTP query string repeats those formats but does not add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—checking remaining reservation capacity for a business facade slot—and explicitly positions it as a preflight step before create_reservation. This clearly distinguishes it from sibling tools like get_business_facade or create_reservation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use this tool 'before create_reservation', giving clear contextual placement in the workflow. It does not spell out when not to use it, but the intended use case is unambiguous given the sibling tool list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_inquiryAInspect
Send a service intent to an official Business Agent identified by registryId. Works for unclaimed rows: stores the inquiry and emails a claim CTA when a contact candidate exists. If already claimed, returns nextStep to use get_agent / get_business_facade. Do not invent phone numbers for unclaimed businesses.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | en | zh-CN | zh-HK | |
| message | Yes | Guest intent in natural language (min 8 chars) | |
| agentLabel | No | Calling Personal Agent label, e.g. Muse, Instinct, or demo skill name | |
| registryId | Yes | Public registry handle, e.g. fehd-3715038328 | |
| requesterName | No | Optional guest name | |
| requesterEmail | No | Optional guest email | |
| requesterPhone | No | Optional guest phone |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real side-effect disclosure beyond the annotations: it stores the inquiry and emails a claim CTA when a contact candidate exists, and describes a conditional nextStep return. Annotations only give openWorld/non-idempotent hints, and the description usefully explains what the write actually does. It stops short of warning that repeat calls are non-idempotent and may create duplicate inquiries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences with the core action front-loaded, then branch behavior, then a guardrail. Dense and mostly waste-free, though 'claim CTA' is jargon that could be spelled out.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-read-only, open-world write with 7 params and no output schema, it covers side effects, return branching, and a data-integrity guardrail. Remaining gaps are the unclaimed-case response shape and duplicate-creation risk given non-idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each of the 7 parameters is already documented in the schema. The description adds minor context about registryId identifying an official Business Agent and implicitly warns against fabricating requesterPhone values, but nothing about formats or constraints beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Send a service intent to an official Business Agent') and ties it to the registryId key. It also splits the two behavioral branches (unclaimed vs already claimed) and explicitly names the sibling tools get_agent / get_business_facade for the claimed case, so an agent can place it among its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear conditional routing: use this for unclaimed rows, and follow nextStep to get_agent / get_business_facade when already claimed. It also adds a concrete do-not ('Do not invent phone numbers'), but it does not differentiate from other creation siblings like create_reservation or create_order.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_orderAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional note for the kitchen | |
| items | Yes | Menu lines — names must match published facade menu | |
| table | Yes | Table code from facade.tables, or TAKEAWAY / PICKUP for off-premise | |
| handle | Yes | Public facade handle (AgentID) | |
| guestName | No | Guest name (required for takeaway/pickup) | |
| guestPhone | No | Guest phone (required for takeaway/pickup) | |
| fulfillmentMode | No | Defaults to DINE_IN |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful context beyond annotations: the order is initially PENDING and kitchen confirmation happens in Dashboard, and menu item names must match facade.menu. Annotations already communicate mutation and non-idempotency; the description enriches that with operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded, with the main action in the first sentence. The HTTP-equivalent clause is useful but slightly redundant; otherwise each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complete schema coverage and the annotations, the description supplies the key behavioral facts an agent needs: pending status, kitchen confirmation, and restaurant-facade-only eligibility. It does not describe the response shape, but there is no output schema and the omission is not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description reinforces the items naming constraint but does not add substantial new parameter-specific meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Submit) and resource (order) with a clear source ('published restaurant facade menu'). The 'Restaurant facades only' qualifier and 'order' resource distinguish it from siblings like create_reservation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: submitting dine-in/takeaway orders against a published restaurant facade, with an explicit exclusion ('Restaurant facades only'). It does not explicitly name alternative tools or when-not conditions beyond facade type, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_reservationAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | YYYY-MM-DD | |
| mode | No | table for dine-in; appointment for generic services | |
| name | Yes | Guest name | |
| note | No | Optional note for the merchant | |
| time | Yes | HH:mm | |
| No | Optional guest email | ||
| phone | Yes | Guest phone (E.164 or local) | |
| table | No | Optional table code from facade.tables | |
| handle | Yes | Public facade handle (AgentID) | |
| service | No | Optional service label | |
| partySize | Yes | Party size (1–40) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already signal a non-read-only mutation that is not idempotent, and the description adds valuable behavioral context: the reservation starts as PENDING, the merchant confirms in Dashboard, and it is not an instant booking. This goes beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and every sentence earns its place: purpose, outcome state, non-guarantee, and HTTP equivalent. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains purpose and behavioral outcome, but with no output schema and 11 parameters it omits the response shape and any preconditions, such as checking availability before reserving. It is adequate but not fully complete for a create-style operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 11 parameters are already documented in the input schema. The description adds no new parameter-level meaning; the HTTP path with {handle} is essentially a restatement of the handle parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation: submit a booking or appointment request for a published business facade, creating a PENDING reservation. It does not explicitly contrast itself with sibling tools like create_order, so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied: use this tool to request a reservation or appointment. However, there is no explicit guidance about when to prefer this over check_availability or create_order, and no clear when-not-to-use criteria beyond 'not a guaranteed instant booking'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agentARead-onlyIdempotentInspect
Fetch one full Agent Card by public agentId (same ID used in /t/{id} and /b/{id}). Returns structured profile fields, trustScore, verification, and canonical URLs for humans and machines.
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | Public AgentID, e.g. TG-S-839201 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive behavior, so the safety profile is covered. The description adds value by disclosing the return payload — structured profile fields, trustScore, verification, and canonical URLs — which matters because there is no output schema. It stops short of noting error behavior for unknown IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The lookup scope is front-loaded and the return contents follow immediately, so an agent gets purpose and payload in one pass.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what comes back (profile fields, trustScore, verification, canonical URLs). It is nearly complete for a single-fetch tool but does not address lookup failure or how it relates to sibling single-agent tools like get_merged_profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single agentId parameter, giving a baseline of 3. The description goes slightly beyond by anchoring the ID's provenance ('same ID used in /t/{id} and /b/{id}'), clarifying which identifier form is expected, though the schema example already helps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch one full Agent Card by public agentId') and scopes the lookup to a single agent. However, it does not explicitly distinguish itself from close siblings like get_merged_profile or verify_agent, so an agent still has to infer which single-agent tool it wants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'by public agentId' — use this when you have a known ID and want the full card. There is no explicit when-to-use or when-not-to-use guidance, and no mention of alternatives such as search_agents for discovery or verify_agent for trust checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_business_facadeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Agent Handle / facade handle |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, open-world, idempotent, and non-destructive behavior. The description adds value by clarifying that the data reflects what the merchant 'currently publishes' and warns against inventing menu items, which reinforces the open-world nature of the data. It also clarifies that the handle is the same public ID/handle as /b/{id}.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core fetch operation and resource definition, then supplies usage context and a critical anti-hallucination instruction, all in a compact form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only fetch tool with strong annotations, the description is complete: it names the return categories, identifies the handle source, states the intended use case, and warns against fabrication. No critical information is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the single 'handle' parameter with 100% coverage, but the description adds meaningful context by noting it is the same public ID/handle used in /b/{id}. This helps an agent understand where to source the value, which goes beyond the schema's terse 'Agent Handle / facade handle' label.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and a clearly defined resource ('published business facade') with concrete contents listed (menu/services, hours, booking capabilities). It also ties the identifier to the public /b/{id} route, making the tool's role distinct from sibling tools like get_agent or get_merged_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool: 'Use for customer-facing answers about what the merchant currently publishes.' It adds a strong negative instruction ('do not invent menu items'), but it does not explicitly name alternative tools or state when not to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_merged_profileARead-onlyIdempotentInspect
Preferred HK Business Agent read: official registry fields merged with claimed Agent Card data and cited third-party enrichment. Includes businessAgent (claimStatus + capabilities), dossierLayers, citationPolicy, trustBreakdown, and recommendedUse. Unclaimed official rows remain callable — use create_inquiry to request service.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | en | zh-CN | zh-HK | |
| registryId | Yes | Public registry handle, e.g. fehd-3715038328 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the safety profile is covered. The description adds valuable context beyond that by enumerating the returned sections (businessAgent, dossierLayers, citationPolicy, trustBreakdown, recommendedUse) and explaining that unclaimed official rows remain callable, which is non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the core identity as the preferred merged read is front-loaded. The return-field enumeration is dense jargon but each term maps to a real output section, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what comes back, and it does so by naming the key sections and the claimStatus/capabilities subfields. The unclaimed-row behavior and create_inquiry escalation round out the important edge case, leaving only minor gaps such as error behavior or locale effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented there: registryId with an example handle and locale with allowed values. The description mentions neither parameter, so it adds no meaning beyond the schema and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Preferred HK Business Agent read') and precisely defines the resource as official registry fields merged with Agent Card data and cited third-party enrichment. It distinguishes itself conceptually from raw-source siblings like get_registry and get_agent, though it does not name those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It signals that this is the preferred read and routes the agent to create_inquiry when a row is unclaimed, which is clear guidance for that edge case. It stops short of explicitly stating when to choose this over get_registry or get_agent, so an agent must infer the preference from 'Preferred'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rankingARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Board slug, e.g. hk-restaurants or hk-fixed-deposit-rates | |
| locale | No | en | zh-CN | zh-HK | |
| tenureMonths | No | Market boards only: 1 | 3 | 6 | 12 (default 12) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe read-only, idempotent profile, so the description does not need to repeat that. It adds useful behavioral context by disclosing that the response includes methodology, asOf, paidPlacement=false, and recommendedUse, which tells the agent what kind of structured data to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences with no filler. The primary purpose is front-loaded, and each sentence earns its place by adding either usage guidance, alternative avoidance, return-field context, or a parameter rule.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup tool with three well-documented parameters and strong annotations, the description is complete. It names the key output fields, states the required parameter behavior for market boards, and gives the intended use case, so an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter already described in the input schema. The description repeats the tenureMonths guidance for market boards without adding meaning beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and resource ('one ranking board') and clarifies that it returns 'structured items for citation,' which distinguishes it from the sibling list_rankings tool. It also preempts an alternative approach (scraping HTML), making the tool's role unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool ('for citation') and explicitly recommends it over scraping HTML. It also gives conditional guidance for market boards via tenureMonths. It does not explicitly mention when to use list_rankings or other siblings, but the context is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_registryARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| registryId | Yes | Public registry handle, e.g. fehd-3715038328 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the description does not need to re-state safety. It adds useful behavioral context by specifying that the response contains official fields plus provenance and verify links, helping the agent anticipate the result despite no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core fetch behavior and identifier format are front-loaded, and the routing guidance to the sibling tool comes in a compact second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool, the description covers what it returns, how to identify the record, and when to choose the sibling tool instead. Annotations handle safety characteristics, and there is no output schema requirement being neglected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the sole parameter with an example, including coverage of 100%. The description echoes registryId as the lookup key but adds little semantic meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Fetch one official Hong Kong registry record by registryId') and names the distinctive output ('official fields plus provenance and verify links'). It also differentiates from get_merged_profile by mentioning what this tool does not cover.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs to prefer get_merged_profile when claim status, enrichment, or recommendedUse citation hints are needed, which tells the agent when not to use this tool and what alternative to select.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rankingsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| track | No | Optional filter: trust | market | |
| locale | No | en | zh-CN | zh-HK |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it returns a catalog with htmlUrl and jsonUrl per board, and explains the sorting logic for each board type. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The core purpose is front-loaded, the board-type distinction is explained in the second sentence, and the return format is stated in the third. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no required parameters and full schema coverage, the description is nearly complete. It states the return format (catalog with htmlUrl + jsonUrl) and the sorting semantics. It does not explain what the track filter values map to explicitly, but the board-type explanation makes this inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds the distinction between 'trust' and 'market' tracks implicitly via the board types, but does not explicitly map the track values to board categories. Baseline 3 is appropriate since the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('Trusgent ranking boards'), and immediately distinguishes the two board types (merchant vs. rate boards) with concrete examples. It also names the sibling tool 'get_ranking' implicitly by describing the catalog-level return, making it clear this is the list-level counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool returns and the two board categories, which gives clear context for when to use it. It does not explicitly name alternatives or exclusions, but the sibling list (get_ranking, search_registry) and the catalog-level wording make the intended use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agentsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text query (name, headline, keyword) | |
| sort | No | Optional sort key supported by the directory search API | |
| type | No | PERSONAL | COMPANY | ORGANIZATION | SERVICE_PROVIDER | PRODUCT | AI_AGENT | |
| country | No | ISO country code, e.g. CN, HK | |
| agentReady | No | true | false — filter agent-ready cards | |
| verificationLevel | No | Optional verification level filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior; the description adds useful behavioral context by disclosing keyword + semantic (embedding) retrieval and by enumerating the returned AgentCard fields. This goes beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, each contributing a distinct fact: resource, retrieval method, return shape, recommendation preference, and usage exclusion. The core action is front-loaded and no sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no required parameters, the description covers what it searches, how it searches, what it returns, and how to use the results. The absence of an output schema is mitigated by listing the returned fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds value by explaining that q is used for keyword + semantic embedding retrieval and that results are AgentCard objects. It does not add per-parameter detail for sort, type, country, etc., but the schema already covers those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: searching the Trusgent Trust Layer directory for people and businesses with public Agent Cards, and it clarifies the retrieval mechanism. However, it does not explicitly contrast itself with sibling search_registry, leaving some potential overlap for an agent to infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent exactly when to invoke this tool ('Use before recommending any agent to an end user') and what not to use it for ('Do not treat this as intent/demand matching — that is a separate flow'). It also instructs a preference for verified agents when recommending, which shapes result usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_registryARead-onlyIdempotentInspect
Search Hong Kong official Business Agents (~60k+ registry rows) by name, address, licence number, or registryId. Optional source filter (FEHD_RESTAURANT, CR_COMPANY, EHEALTH_HCP, etc.). Each hit includes a businessAgent facet (claimStatus, capabilities, inquiryUrl). Unclaimed rows are still callable for lookup + create_inquiry. Follow up with get_merged_profile for citation-safe detail.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text query | |
| limit | No | Max results (default 25, max 50) | |
| source | No | Registry source enum, optional | |
| country | No | ISO country code, e.g. HK |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive open-world lookup. The description adds useful behavioral context beyond that: each hit carries a businessAgent facet with claimStatus, capabilities, and inquiryUrl, and unclaimed rows remain callable. It does not describe result ordering or pagination behavior, so it is not fully exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with what is searched and how broad it is. Every sentence adds value: searchable fields, source enumeration, return facet, and the follow-up tool. There is no redundant restatement of annotations or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no output schema, the description is largely complete: it explains what can be searched, what a hit contains, and how to proceed for citation-safe detail. It leaves minor gaps around result ordering and whether the country parameter narrows beyond Hong Kong, but nothing essential to calling the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description earns extra credit by clarifying that the free-text q parameter matches name, address, licence number, or registryId, and by giving concrete source values (FEHD_RESTAURANT, CR_COMPANY, EHEALTH_HCP) that the schema only calls an optional enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (search) and resource (Hong Kong official Business Agents) and quantifies scope (~60k+ registry rows). It names the searchable fields and source dimension clearly. It does not explicitly distinguish itself from sibling search_agents or get_registry, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context: unclaimed rows are still valid for lookup and create_inquiry, and the agent should follow up with get_merged_profile for citation-safe detail. It lacks an explicit statement of when to prefer this over search_agents or get_registry, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_agentARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| agentId | Yes | Public AgentID to verify |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description adds genuinely non-structured context: that it is a lightweight lookup, that trustScore is a published formula composed of identity verification, official records, completeness and source consistency, and that reviews are auxiliary only — useful for interpreting the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core capability and the return fields, followed by usage routing. The trust-score formula clause is slightly dense but earns its place by explaining the tool's headline output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe the return values, and it does enumerate them (existence, public status, verification level, trustScore) plus how the score is derived. For a single-parameter read-only lookup, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single well-documented agentId parameter, so the schema carries the burden. The description adds no syntax, format, or scoping detail about the identifier beyond what the schema already states; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (verify/lookup) and resource (AgentID) and enumerates exactly what is returned: existence, public status, verification level, and trustScore. It implicitly contrasts with search results, but never names the closest sibling get_agent, so the differentiation from a plain agent-fetch tool is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Prefer this before citing or recommending an Agent Card from search results" gives a concrete when-to-use trigger tied to a workflow (citing/recommending). It offers no when-not guidance or named alternative, so it stops short of full routing instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
create_inquiry
2 tool updates
- Changed
get_agent3 fields changed- added
Input schema / properties / agentIdAdded value: +{ + "description": "Public AgentID, e.g. TG-S-839201", + "type": "string" +} - removed
Input schema / properties / trusgentIdRemoved value: -{ - "description": "Public AgentID, e.g. TG-S-839201", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "trusgentId" -]New value: +[ + "agentId" +]
- Changed
verify_agent3 fields changed- added
Input schema / properties / agentIdAdded value: +{ + "description": "Public AgentID to verify", + "type": "string" +} - removed
Input schema / properties / trusgentIdRemoved value: -{ - "description": "Public AgentID to verify", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "trusgentId" -]New value: +[ + "agentId" +]
2 tool updates
- Added
get_ranking - Added
list_rankings
1 tool update
- Changed
get_business_facade1 field changed- changed
Input schema / properties / handle / descriptionPrevious value: -"Public ID / facade handle"New value: +"Agent Handle / facade handle"
5 tool updates
- Added
check_availability - Added
create_order - Added
create_reservation - Changed
get_agent1 field changed- changed
Input schema / properties / trusgentId / descriptionPrevious value: -"Public Agent ID, e.g. TG-S-839201"New value: +"Public AgentID, e.g. TG-S-839201"
- Changed
verify_agent1 field changed- changed
Input schema / properties / trusgentId / descriptionPrevious value: -"Public Agent ID to verify"New value: +"Public AgentID to verify"
1 tool update
- Changed
get_merged_profile1 field changed- changed
Input schema / properties / locale / descriptionPrevious value: -"en | zh-CN | zh-TW"New value: +"en | zh-CN | zh-HK"
2 tool updates
- Changed
search_agents4 fields changed- changed
Input schema / properties / agentReady / descriptionPrevious value: -"true | false"New value: +"true | false — filter agent-ready cards" - changed
Input schema / properties / q / descriptionPrevious value: -"Free-text query"New value: +"Free-text query (name, headline, keyword)" - added
Input schema / properties / sort / descriptionAdded value: +"Optional sort key supported by the directory search API" - added
Input schema / properties / verificationLevel / descriptionAdded value: +"Optional verification level filter"
- Changed
verify_agent1 field changed- added
Input schema / properties / trusgentId / descriptionAdded value: +"Public Agent ID to verify"
7 tool updates
- First observed
get_agent - First observed
get_business_facade - First observed
get_merged_profile - First observed
get_registry - First observed
search_agents - First observed
search_registry - First observed
verify_agent
Related MCP Connectors
AI agent registry — search, discover, register, and connect agents via MCP.
One profile — skills, credentials, and memory — synced to every agent tool via one MCP URL.
Agentic commerce + trust MCP: discover, verify, and transact across droplinked's merchant network.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Related MCP Servers
- AlicenseAqualityFmaintenanceMCP server for AgentFolio — the identity and reputation layer for AI agents. Query agent profiles, trust scores, verification status, and marketplace listings through 8 MCP tools.966 npm1MIT
- AlicenseNot gradedqualityDmaintenanceTrust infrastructure for AI agents enabling directory browsing, agent submission/verification, job applications, and peer feedback exchange via MCP.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to share a unified profile—skills and memory—across different agent tools via a single MCP server, so they maintain context and recall preferences everywhere.Apache 2.0
- AlicenseAqualityDmaintenanceMCP server for AI agent trust verification, enabling agents to verify identities, check trust scores, and build reputation across multiple blockchain and web platforms.127 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.