find-missing
Server Details
Checks if an LEI-holding entity has a match in the national registry its jurisdiction expects.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- NKO-LLC-TECH/nko
- GitHub Stars
- 0
- Server Listing
- NKO — Entity Registry Check
TDQS
Scored across 2 tools
award_state and find_missing are functionally distinct: one takes a TED award notice and resolves the winner's current registry status, while the other takes an LEI/company identifier and checks for a registry match. However, both revolve around commercial-registry existence/status, and the name 'award_state' could be misread as tender status rather than company status.
Both names use snake_case, but there is no consistent grammatical pattern: 'award_state' is a noun-noun phrase while 'find_missing' is a verb phrase. The names also do not clearly signal their actual operations, making the convention feel disjointed.
Two tools is borderline for a server, but it is defensible for a very narrow due-diligence/registry-check purpose. The set is not padded, but it feels thin compared to the breadth of registry and procurement scenarios it touches.
The two tools cover complementary registry checks, but there are notable gaps: there is no way to query a company's current status directly by identifier, no notice-discovery operations, and explicit coverage gaps for UK and Hungary. Core workflows are possible, but some users will hit dead ends.
Available Tools
2 toolsaward_stateAInspect
Given a real, awarded EU public-procurement notice (TED), resolve the winning company's real commercial-registry status TODAY (active, dissolved, insolvency, etc.) - answers "is the company that won this public contract still alive?".
Args:
notice_id: the TED publication-number of an AWARD notice (e.g.
"15-2026") - must be a can-standard/can-social/can-desw/
can-defence notice with a chosen winner, not the original
contract notice (cn-standard).
api_key: optional - a free key obtained from POST
https://api.nkodatalabs.com/v0/keys. Without one, this call
still works within a free anonymous trial (5 calls/day per
caller IP) - see the response's "trial" field.
Coverage today (published honestly, not hidden): Spain and France
resolve live via each country's own commercial registry. UK and
Hungary are not resolvable yet - UK needs a free Companies House API
key not yet configured on this service, Hungary has no free public
registry API at all. Natural-person awardees are excluded, never
resolved as a company.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| notice_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full disclosure burden and does so exceptionally well. It honestly discloses coverage limitations (Spain and France only, UK and Hungary unresolvable), anonymous-trial rate limits, auth requirements, and the exclusion of natural persons. It even flags that coverage is published honestly rather than hidden.
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 appropriately structured: it opens with the core purpose, then explains arguments, then coverage limitations. Every section adds necessary information and no sentence is wasted. It is long but only because the tool genuinely has several non-obvious constraints.
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 no output schema, no annotations, and a niche domain, the description is remarkably complete. It covers the input format, auth, trial limits, country support, known gaps, and excluded cases, and it indicates the kind of result (active, dissolved, insolvency, etc.) without needing a full return schema.
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 0%, so the description must explain both parameters, and it does. notice_id is defined with an example, the required notice type, and exclusions; api_key is explained with where to get it and the fallback anonymous behavior. This far exceeds what the bare 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?
The description clearly states the tool's function: given an awarded EU TED notice, resolve the winning company's current commercial-registry status. It is specific about the verb, resource, and the core question it answers, but it does not explicitly distinguish itself from the sibling tool find_missing.
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 clear usage boundaries: the input must be an AWARD notice, not the original contract notice, and natural-person awardees are excluded. It also explains which countries are currently supported. However, it never explicitly mentions when to choose this tool over find_missing, 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.
find_missingAInspect
Query whether an entity with a real LEI has a high-confidence match in the national commercial registry its declared jurisdiction would expect.
Args:
identifier_type: one of "lei", "company_number", "name".
identifier: the LEI, registration number, or legal name to look up.
api_key: optional - a free key obtained from POST
https://api.nkodatalabs.com/v0/keys. Without one, this call
still works within a free anonymous trial (5 calls/day per
caller IP) - see the response's "trial" field.
jurisdiction: optional ISO-3166 alpha-2 country code (e.g. "GB", "ES", "FR").
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| identifier | Yes | ||
| jurisdiction | No | ||
| identifier_type | Yes |
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 does disclose rate-limit behavior (5 calls/day trial), that an api_key can be obtained via POST, and a response field ('trial'). However, it does not state side effects (though 'query' implies read-only), error/edge-case behavior, or response format beyond the trial field. It adds useful behavior but is not comprehensive.
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 economical: a one-sentence purpose followed by a clean Args list. No redundant content. The purpose sentence is slightly awkward and could be rephrased more directly, but 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?
Input semantics are fully covered, and the purpose sentence implies the core result (whether a high-confidence match exists). However, with no output schema, the description does not describe the response shape or how to interpret match results beyond the trial field, leaving some ambiguity for an agent.
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 0%, so the Args list is the only documentation. It clearly explains all four parameters: identifier_type with allowed values, identifier with definition, api_key with acquisition and trial behavior, and jurisdiction with ISO-3166 format and examples. This fully compensates for the schema's lack of descriptions.
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 – query whether an entity has a high-confidence registry match – identifying the resource (national commercial registry) and a unique purpose. The phrasing 'real LEI' and 'its declared jurisdiction would expect' is slightly convoluted, but the intent is clear; there are no siblings to differentiate from.
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 establishes a clear context for use (checking registry match completeness) and provides operational guidance about the optional api_key and trial limits, but it never explicitly says when to prefer this tool over alternatives. With no sibling tools, a moderate score is appropriate.
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
award_state
1 tool update
- Changed
find_missing4 fields changed- added
Input schema / properties / api_key / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - added
Input schema / properties / api_key / defaultAdded value: +null - removed
Input schema / properties / api_key / typeRemoved value: -"string" - changed
Input schema / requiredPrevious value: -[ - "identifier_type", - "identifier", - "api_key" -]New value: +[ + "identifier_type", + "identifier" +]
1 tool update
- First observed
find_missing
Publisher details
- Operator
- NKO Data Labs · Publisher source
- Operator website
- https://nkodatalabs.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Trust center
- Not available
- Restrictions
- NKO Data Labs · Publisher source
Related MCP Connectors
Verify a company on GLEIF LEI and SEC EDGAR, screen sanctions. No key; quota-free data.
Screen names against OFAC, EU, UK, UN sanctions lists; resolve entities via GLEIF. Screening aid.
Verify ANZ businesses against government registers. Surfaces cross-jurisdictional findings.
Checks whether a name is on the FinCEN (US financial crimes) lists, for compliance and AML due dilig
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceScreen names against consolidated OFAC, EU, UK, and UN sanctions lists and resolve legal entities via GLEIF, with offline fuzzy matching.103 npm1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceProvides access to Global Legal Entity Identifier (LEI) data from GLEIF, enabling queries about legal entities and their identifiers via natural language.8 npmMIT
- AlicenseAqualityAmaintenanceMCP server for GLEIF LEI (Legal Entity Identifier) database access. Look up, validate, and search legal entities and their relationships in the global LEI system.126MIT
- AlicenseNot gradedqualityCmaintenanceEnables checking whether a healthcare provider is barred from US federal health programs by screening against the HHS OIG List of Excluded Individuals/Entities, returning candidate matches with confidence levels and coverage details.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.