due-diligence
Server Details
Lithuanian company due diligence and KYC identification, attested by an attorney-at-law.
- Status
- Healthy
- Uptime
- 99.8% over 63 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 10 tools
Tools are mostly distinct, with clear resource-and-action boundaries for registry profile, participants, beneficial owners, real estate, seizures, court cases, sanctions, and KYC package operations. The main overlap is get_due_diligence_report versus the individual getter tools, but its aggregate purpose is explicitly stated and does not seriously undermine selection.
All tool names use snake_case and generally follow a verb_noun pattern: create_kyc_package, get_beneficial_owners, get_court_cases, screen_sanctions, and so on. lookup_company is a minor verb variation but remains consistent with the overall naming style.
Ten tools is well-scoped for a due-diligence server covering lookup, screening, reports, and KYC ordering/status. Each tool appears to serve a distinct part of the workflow without obvious redundancy.
The surface covers core legal-entity due diligence: profile, participants, beneficial owners, real estate, seizures, court cases, sanctions screening, and KYC package ordering/status. Minor potential gaps include company search/list functionality or richer evidence retrieval, though the described domain is largely covered.
Available Tools
10 toolscreate_kyc_packageOrder an identification packageAInspect
Order a QES-signed identification package for a role-holder of a Lithuanian legal entity. The register says who holds the role; the person proves they are that person by signing a dossier with their own qualified electronic signature, and an attorney-at-law attests the verified correspondence. Returns immediately with an order id and a ceremony URL to give the subject; the outcome arrives later. Poll with get_kyc_package. Billed only when a package is delivered.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| purpose | Yes | Purpose of processing; logged per call. Required for beneficial-owner data. | |
| subjectRole | Yes | Which role the subject is claimed to hold in the entity. | |
| subjectEmail | No | Optional. When given, Tvarka emails the ceremony link to the subject; otherwise the link is returned for you to deliver. | |
| idempotencyKey | No | Reuse for retries of the same create request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description fully discloses asynchronous behavior (returns immediately, outcome later), billing semantics (only when delivered), and processing transparency (purpose logged per call). Idempotency key is also mentioned for retries.
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?
Description is largely succinct but contains slight redundancy with the phrase 'The register says... signing a dossier...' and the repeated 'Returns immediately... later.' Minor extra context that does not hinder understanding.
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?
Provides a complete picture: creation flow, asynchronous outcome, polling target, delivery options, billing conditions, and a special requirement for beneficial-owner data. No output schema is present, but the description sufficiently explains what is returned.
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 descriptions cover 100% of parameters. All five parameters are explicitly explained, including the optional subjectEmail behavior and the idempotencyKey purpose. Enums are self-explanatory within context.
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?
Clearly states the action (order), the resource (QES-signed identification package), and the subject (role-holder of a Lithuanian legal entity). Differentiates from sibling get_kyc_package by focusing on creation vs. retrieval.
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?
Explicitly instructs to poll with get_kyc_package for the outcome, mentions immediate return of order id and ceremony URL, and notes billing only on delivery. Also mentions purpose required for beneficial-owner data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_beneficial_ownersBeneficial owners (UBO)AInspect
Declared beneficial owners of a Lithuanian legal entity, with ownership percentages and control basis. Served under the legitimate-interest regime; a purpose is required and is logged.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| screen | No | Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call. | |
| purpose | Yes | Purpose of processing; logged per call. Required for beneficial-owner data. | |
| interpret | No | Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden; it does disclose the legal basis (legitimate interest) and that the purpose is logged, which is meaningful behavioral context. It omits what happens when an entity has no declared UBOs, any permission/auth requirements, and rate or fee behavior beyond what the schema already states for screen/interpret.
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 short sentences with no redundancy; the returned data is front-loaded and the legal/usage constraint follows. Nothing is padded or repeated from the 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?
With no output schema and no annotations, the description usefully names the data shape and the legal regime under which it is served, which is enough to call the tool correctly. It could still say more about edge cases (entity with no declared owners) and the effect of the required purpose, keeping it short of 5.
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 every parameter including the enum values and the fee implications of screen/interpret. The description adds only the purpose-gating note, which the schema itself also states, so 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+resource ('Declared beneficial owners of a Lithuanian legal entity') and the content returned ('ownership percentages and control basis'). It does not distinguish itself from siblings such as get_participants or lookup_company, which is the only gap at the top band.
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 gives a real usage condition — served under the legitimate-interest regime, with a required and logged purpose — which tells the agent this is a purpose-gated lookup. However, it never says when to choose this over get_participants or lookup_company, so routing is left implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_court_casesCourt case involvementAInspect
Court hearings where the Lithuanian legal entity appears as a party.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the core behavioral scope (returns hearings where the entity appears as a party), which is useful. However, it does not mention potential limitations, data source, or handling of edge cases like no results, leaving some behavioral details unspecified.
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?
A single, focused sentence that front-loads the essential purpose without any filler. Every word contributes meaning and the structure is immediately parsable.
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 the tool's simplicity—one required parameter, no annotations, and no output schema—the description provides adequate context for an agent to understand what the tool does. However, it could be enhanced by noting any return format or caveats, though not strictly necessary for such a direct query tool.
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 provides a full description of the single 'code' parameter, including its pattern and meaning. The tool description adds no additional semantic information about this parameter, so the schema carries the load and 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 clearly states the tool returns court hearings where the entity is a party, making the resource and scope unambiguous. It distinguishes from sibling tools by focusing on court cases rather than ownership, real estate, seizures, etc. Though phrased as a noun phrase rather than a verb, the purpose is effectively conveyed.
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 use is implied by the description (i.e., retrieve court cases involving a Lithuanian entity), but no explicit guidance is given on when to use this tool versus alternatives. There are no exclusions or references to sibling tools, so the guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_due_diligence_reportFull due-diligence reportAInspect
One call returning the whole picture: profile, participants, beneficial owners, real property, seizure acts and court cases. Cheaper than the parts bought separately. A purpose is required because the report contains beneficial-owner data.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| screen | No | Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call. | |
| purpose | Yes | Purpose of processing; logged per call. Required for beneficial-owner data. | |
| interpret | No | Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose that a purpose is mandatory and logged per call and implies a read-only report ('get'), plus a cost comparison, but it omits permission/auth requirements, whether the report is cached or live, and any rate or size limits. The purpose-logging rationale partially duplicates the schema description rather than adding new context.
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 short sentences with zero waste; the scope (the whole picture) is front-loaded, followed by the cost argument and the one hard requirement. 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?
With no output schema, the description compensates well by enumerating the six content areas the report returns, so an agent knows what to expect. Combined with the 100%-covered input schema and the stated purpose/fee behavior, only the absence of read-only/auth framing and response shape details keeps it from being fully complete.
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% — code, screen, purpose and interpret are all documented with format, enum values and fee implications in the schema itself. The description only restates the purpose requirement and its rationale, adding no format or semantic detail beyond what the schema already supplies.
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 ('One call returning the whole picture') and then enumerates the exact contents — profile, participants, beneficial owners, real property, seizure acts, court cases — which map directly onto the sibling tools (get_participants, get_beneficial_owners, get_real_estate, get_seizures, get_court_cases). An agent can tell this is the bundle alternative to those individual calls without opening any schema.
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?
'Cheaper than the parts bought separately' is a concrete reason to prefer this tool over composing the sibling getters, which gives clear usage context. It stops short of naming alternatives or stating when not to use it (e.g. when only beneficial owners are needed, or when create_kyc_package / lookup_company is the better entry point).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kyc_packageCheck an identification packageAInspect
Current state of a KYC package order: whether the subject has signed, the cross-check outcome, and the evidence container digest once delivered. The container bytes are fetched over REST, not through this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | Yes | The order id returned by create_kyc_package. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses what the tool returns (signed status, cross-check outcome, digest) and adds timing context ('once delivered') as well as the REST routing note for container bytes. It doesn't explicitly state read-only, but 'current state' implies no mutation, and no side-effect or error details are given.
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 tight sentences, front-loaded with the core purpose and followed by a single important limitation. Every word earns its place; no filler or repetition 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 simple one-parameter status tool with no output schema, the description explains what information is available, adds a timing nuance, and clarifies what the tool does not do (container bytes). It doesn't cover return formatting or error behavior, but the information provided is sufficient for most use cases.
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 fully describes the single parameter (orderId from create_kyc_package). The description adds no additional parameter-level detail, but schema coverage is 100%, so the baseline of 3 applies; the description's reference to 'order' aligns with 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 clearly states the tool reports the current state of a KYC package order, listing specific elements: signing status, cross-check outcome, and evidence container digest. This distinguishes it from sibling tools by focusing on the KYC package lifecycle rather than beneficial owners, court cases, etc.
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 implies this is the check-status tool for a KYC package order, and it explicitly excludes fetching container bytes via this tool (noting they come over REST). This provides a useful when-not boundary, though it doesn't name alternatives or describe the typical create-then-check flow explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_participantsShareholders and membersCInspect
Current participants (shareholders, members) of a Lithuanian legal entity.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| screen | No | Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the resource name. It does not state that this is a read-only lookup, what the response contains, or that the optional 'screen' flag incurs a fee (that detail lives only in the 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?
A single tight sentence with the resource front-loaded and no wasted words. It is efficient, though arguably under-specified rather than optimally concise.
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 and no annotations, the description is the only place to convey behavior, yet it omits result contents, read-only nature, and how it differs from get_beneficial_owners. The word 'Current' is the sole added nuance, which is insufficient for this data-retrieval tool.
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 both the 'code' pattern/format and the 'screen' screening behavior are fully documented in the schema itself. The description adds no parameter meaning beyond that, so 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?
States a specific verb ('participants') and resource ('shareholders, members') scoped to a Lithuanian legal entity, which an agent can understand. However, it never distinguishes itself from the closely related sibling get_beneficial_owners, so the boundary between the two 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?
The description gives no when-to-use guidance and names no alternatives, despite siblings like get_beneficial_owners, lookup_company, and get_due_diligence_report that overlap in scope. An agent must guess which tool retrieves which slice of company data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_real_estateReal property held by the entityAInspect
Real property registered to a Lithuanian legal entity, with the rights recorded on each object. Legal entities only.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses that the tool reads registered property data and includes rights, but does not mention any read-only guarantee, pagination, or potential error conditions. This is adequate but not rich.
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, front-loaded with the main purpose, and contains no filler. Every word adds value, including the 'Legal entities only' clarification.
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 single-parameter get tool with no output schema, the description covers what the tool returns, the scope (registered property, rights), and the entity-type restriction. It could mention whether results are paginated or list details, but this is not essential for basic 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 single parameter 'code' is fully documented in the schema with a pattern and description, giving high schema coverage. The tool description adds no extra parameter meaning, but baseline 3 is appropriate since the schema already carries the semantic load.
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 states the tool returns real property registered to a Lithuanian legal entity, including the rights recorded per object. This uses a specific resource (real property of legal entities) and distinguishes itself from sibling tools like get_court_cases or get_participants, which cover different domains.
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 explicitly restricts usage to legal entities, signaling when not to use it (individuals). It does not name alternative tools for other property types or scenarios, but the context is clear enough that an agent can infer this is the go-to tool for real estate holdings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_seizuresProperty seizure actsAInspect
Property seizure acts registered against a Lithuanian legal entity, with the institution that imposed them, the parties and the seized assets. An entity with no acts is a clean record, not a missing answer.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| interpret | No | Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that an entity with no acts returns a 'clean record' rather than a missing answer, which is a key behavioral nuance for result interpretation. It also outlines the response content, but does not mention error behavior, auth requirements, or rate limits. Overall, it provides meaningful context beyond the 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?
The description is two sentences, both essential and front-loaded. The first sentence presents the core functionality and output, while the second clarifies a potential misinterpretation of empty results. No unnecessary words or repetition of schema details.
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 the lack of an output schema, the description provides useful details about the return data (institution, parties, seized assets) and clarifies the clean record behavior. It is not exhaustive (e.g., no date ranges or pagination), but it is sufficiently complete for a focused data retrieval tool alongside clear sibling context.
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 provides 100% coverage for both parameters, including a regex pattern and description for 'code' and a detailed explanation for 'interpret'. The description adds no additional parameter-level semantics, so a 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 clearly specifies the tool's function: retrieving property seizure acts for a Lithuanian legal entity, including the imposing institution, parties, and seized assets. This distinguishes it from sibling tools like get_court_cases or get_beneficial_owners by focusing on seizure-specific data.
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 does not provide explicit guidance on when to use this tool vs. alternatives. It only mentions the clean record interpretation, which addresses data semantics rather than tool selection. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_companyLook up a Lithuanian companyAInspect
Core registry profile of a Lithuanian legal entity: name, legal form, status, registered address, registration dates, capital, activities and current management. Current data with officially attested provenance.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| screen | No | Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call. | |
| interpret | No | Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries full burden. It usefully discloses data currency and attested provenance ('Current data with officially attested provenance'), but says nothing about authentication, rate limits, or error behavior. Fee-bearing behavior is only disclosed in the schema's parameter descriptions, not in the description itself.
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, front-loaded with the return contents an agent most needs to judge relevance. The trailing provenance sentence is short and does add a trust signal, but it is mildly promotional rather than operational, keeping it just below a 5.
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 and no annotations, the description must carry the whole burden. It effectively serves as a mini output schema by listing returned fields, but omits return format, response size, pagination and error/not-found handling for a paid, disputed-entity lookup where those matter.
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 baseline is 3. The 'code', 'screen' and 'interpret' parameters are fully documented in the schema, including match scoring, statute citations and fee implications, and the description adds no further parameter-level meaning.
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 ('look up' via the title/name) and a precisely scoped resource, then enumerates the exact fields returned: name, legal form, status, registered address, registration dates, capital, activities, management. That field list cleanly separates it from siblings like get_beneficial_owners, get_court_cases, get_real_estate and get_seizures, which each target a narrower slice of the same entity.
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 framing as the 'core registry profile' implies it is the base lookup you start from, but there is no explicit when-to-use, no exclusion, and no routing to alternatives. In particular it never mentions the sibling screen_sanctions, even though its own 'screen' parameter overlaps with that tool's purpose, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_sanctionsSanctions screening of a company and its peopleAInspect
Screens a Lithuanian legal entity and every person in its own registry data (management, shareholders and members, beneficial owners) against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score, the words that matched, the spelling rules applied and the birth-date check, and the answer names the exact list versions used. A purpose is required because beneficial owners are among the people screened.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Lithuanian legal-entity code (juridinio asmens kodas). | |
| purpose | Yes | Purpose of processing; logged per call. Required for beneficial-owner data. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that each match carries a score, matched words, spelling rules and a birth-date check, and that the response names the exact list versions used. It also notes the purpose is logged per call. It stops short of stating auth/permission requirements or rate limits.
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 tightly packed sentences plus a rationale clause, front-loaded with the action and scope before the matching/version details. Every clause adds information an agent cannot get from the 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?
With no annotations and no output schema, the description compensates well by describing the match payload and list-version reporting. It is nearly complete for a screening call, though it omits what a no-match result looks like and whether the operation has side effects or access constraints.
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, but the description adds genuine meaning beyond the schema by explaining why 'purpose' is mandatory (beneficial owners are among those screened) and that it is logged per call. The 'code' parameter gets no extra detail, but its schema pattern already constrains it.
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 (screens) and resource (a Lithuanian legal entity plus every person in its registry data) and enumerates the exact sanction lists checked (EU, UN, OFAC, UK). This is specific enough to separate it from siblings like get_beneficial_owners or get_due_diligence_report, which surface data rather than adjudicate it against sanctions lists.
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 through the AML/KYC framing and the required purpose enum, so an agent can infer this is the compliance-screening step. However, it never names an alternative or states when-not to use it versus get_due_diligence_report or get_beneficial_owners, leaving the routing decision to inference.
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.
5 tool updates
- Changed
get_beneficial_owners1 field changed- added
Input schema / properties / screenAdded value: +{ + "description": "Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call.", + "type": "boolean" +}
- Changed
get_due_diligence_report1 field changed- added
Input schema / properties / screenAdded value: +{ + "description": "Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call.", + "type": "boolean" +}
- Changed
get_participants1 field changed- added
Input schema / properties / screenAdded value: +{ + "description": "Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call.", + "type": "boolean" +}
- Changed
lookup_company1 field changed- added
Input schema / properties / screenAdded value: +{ + "description": "Set true to screen the company and every person named in this answer against the official EU, UN, US (OFAC) and UK sanctions lists. Each potential match comes with its score and the reasons for it. Adds the screening fee to the call.", + "type": "boolean" +}
- Added
screen_sanctions
1 tool update
- Changed
create_kyc_package1 field changed- added
Input schema / properties / idempotencyKeyAdded value: +{ + "description": "Reuse for retries of the same create request.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
2 tool updates
- Added
create_kyc_package - Added
get_kyc_package
4 tool updates
- Changed
get_beneficial_owners1 field changed- added
Input schema / properties / interpretAdded value: +{ + "description": "Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call.", + "type": "boolean" +}
- Changed
get_due_diligence_report1 field changed- added
Input schema / properties / interpretAdded value: +{ + "description": "Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call.", + "type": "boolean" +}
- Changed
get_seizures1 field changed- added
Input schema / properties / interpretAdded value: +{ + "description": "Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call.", + "type": "boolean" +}
- Changed
lookup_company1 field changed- added
Input schema / properties / interpretAdded value: +{ + "description": "Set true to add the standardized legal interpretation of the answer: what the data means under Lithuanian law, with statute citations. Adds the interpretation fee to the call.", + "type": "boolean" +}
7 tool updates
- First observed
get_beneficial_owners - First observed
get_court_cases - First observed
get_due_diligence_report - First observed
get_participants - First observed
get_real_estate - First observed
get_seizures - First observed
lookup_company
Related MCP Connectors
Czech & EU due diligence in one call — facts, insolvency, sanctions, VAT, risk score, UBO chain.
EU company registry lookup: 16 countries incl. Lithuania (JAR: identity + legal status).
Czech KYC due-diligence — paid tier extension (nominee, phoenix, risk timeline, watchlist).
Know-your-business checks for Polish companies: KRS, owners, insolvency, sanctions, gazette notices.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides search, retrieval, and validation of Lithuanian statutes and provisions, including EU law cross-references, enabling legal research and compliance checks through natural language.33 npm1Apache 2.0
- AlicenseAqualityAmaintenanceKnow-your-agent backed by ICP-Brasil: a company (e-CNPJ) or a person (e-CPF) signs that an AI agent acts for them, within a mandate. Signed credentials and verdicts, CRL checks, MCP + HTTP with x402, and an npm library to verify or issue without a hosted service.2102MIT
- AlicenseNot gradedqualityDmaintenanceEnables AML/6AMLD compliance for AI systems, including obliged entity classification, KYC/CDD audits, and sanctions screening.MIT
- AlicenseNot gradedqualityDmaintenanceLegal automation & contract analysis for Belgian law firms.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.