Leadgen ONRC Romania
Server Details
Romania company registry: search 4.2M businesses by name/CUI, directors, financials.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Server Listing
- Leadgen MCP
TDQS
Most tools have clear, distinct purposes, but enrich_company and extract_contacts overlap in contact extraction, and lookup_financial_ratios vs lookup_financials could confuse agents despite being raw vs derived. Overall boundaries are mostly clear.
Names follow a consistent verb_noun pattern with lookup_, watch_, and action_ prefixes, though the mix of verbs (lookup, watch, enrich, extract, poll) and the similar lookup_financials/lookup_financial_ratios pair create minor inconsistency.
10 tools is well within the ideal range and matches the server's scope of registry lookup, enrichment, financials, domain info, and watchlists without redundancy or bloat.
The toolset covers core lookup, enrichment, financial, domain, and watchlist workflows comprehensively. Minor gaps like explicit unwatch or list-watch operations exist, but the watch/poll lifecycle is functional as-is.
Available Tools
10 toolsenrich_companyAInspect
Enrich a company: registry record + discovered contacts in one payload.
Resolves the firm's ONRC record (identity incl. its registered website),
crawls that website for emails / phones / socials, and returns the company
detail plus quality-labelled contacts (each with a confidence and source)
in a single call. Results are cached durably (keyed by the crawled domain)
so re-crawling the same site is avoided.
Args:
cui: Romanian tax identification number (CUI), e.g. "2816464".
website: Optional website override. When omitted, the firm's registered
website is used (falling back to an error if none is on file).
max_pages: Max pages to crawl (1-20).
| Name | Required | Description | Default |
|---|---|---|---|
| cui | Yes | ||
| website | No | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility and covers key behaviors: caching ('Results are cached durably'), error handling ('falling back to an error if none is on file'), output structure ('quality-labelled contacts with confidence and source'), and combined operation ('in a single call'). No contradictions with annotations.
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 concise and well-structured: begins with a clear purpose sentence, then elaborates on the workflow, caching, and parameters. No redundant or extraneous information, and key details are front-loaded.
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 complexity (combining registry lookup and web scraping), the description covers purpose, parameters, caching, and output format. It lacks detailed return-field specification, but since no output schema is provided, the description gives sufficient context for an agent to understand what to expect.
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?
All three parameters are meaningfully explained beyond the schema. cui is defined as 'Romanian tax identification number', website's override behavior and fallback error are described, and max_pages includes a range ('1-20'). This fully compensates for the 0% schema coverage.
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 purpose: 'Enrich a company: registry record + discovered contacts in one payload.' It specifies the exact actions (resolving ONRC record, crawling website, returning contacts) and distinguishes itself from sibling tools by emphasizing the single-call combined functionality.
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 provides context about when to use the tool (when you need both registry data and contacts) but does not explicitly mention alternatives like lookup_business or extract_contacts, nor does it state when not to use it. The mention of 'single call' hints at consolidated usage but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_contactsAInspect
Crawl a website and extract emails, phone numbers, and social profiles.
Args:
website: The website URL to crawl (e.g. "example.com" or "https://example.com").
max_pages: Maximum number of pages to crawl (1-20).
| Name | Required | Description | Default |
|---|---|---|---|
| website | Yes | ||
| max_pages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'crawl' which implies network requests but does not disclose potential side effects such as load on the target website, rate limits, or any safety considerations. No annotations are present to supplement this, leaving the tool's behavioral impact unclear.
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 a single concise sentence followed by a well-structured Args block. It wastes no words and presents the necessary information in a clean, readable format.
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 covers the core action and parameters, but lacks details about the return format or any potential errors (e.g., what happens if the website is unreachable). Given the absence of an output schema, this missing information leaves 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?
The Args section adds meaningful detail beyond the schema: it explains the website format (including an example) and provides a numeric range for max_pages (1-20). This helps agents understand the expected input without requiring additional inference.
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: 'Crawl a website and extract emails, phone numbers, and social profiles.' This is a specific action on a specific resource with concrete output types, and it is easily distinguished from the sibling lookup and watch tools.
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 any guidance on when to use this tool versus the sibling tools (e.g., lookup_domain, watch_company). No conditions or scenarios are mentioned, so an agent must infer appropriate usage from the action alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_businessAInspect
Search the Romanian business registry (official ONRC data) for companies.
Data source: official ONRC open-data snapshot (data.gov.ro), loaded locally.
Name queries use a ranked FTS5 index and are diacritic-insensitive
('paval' matches 'PAVĂL'); digit queries match the CUI exactly, falling
back to a CUI prefix match when the exact code is unknown.
Args:
query: Company name or CUI (tax ID) to search for.
max_results: Maximum number of companies to return (1-100).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the burden of disclosing behavior. It mentions the local data source, FTS5 indexing, diacritic-insensitive matching, and CUI exact/prefix fallback, but it does not explicitly state that the operation is read-only or mention any side effects, rate limits, or error behavior.
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 compact and well-organized, with a clear summary followed by useful matching details and an Args list. There is no redundant or irrelevant content.
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 provides sufficient context for a search operation, covering the data source, matching semantics, and parameter constraints. It does not specify result fields or pagination, but for a simple lookup tool with no output schema these omissions are acceptable.
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 Args section in the description fully explains query as a company name or CUI and defines max_results with the allowed range 1-100. It also clarifies the special behavior for digit queries, which goes well beyond the minimal schema information.
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 specific action: searching the Romanian business registry for companies using official ONRC data. The verb and resource are explicit, and the tool is easily distinguished from sibling tools like enrich_company or lookup_financials.
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 when to use the tool for company name or CUI lookups and details matching behavior, but it does not explicitly contrast it with alternative sibling tools such as lookup_financials or enrich_company. More direct guidance on when not to use this tool would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_directorAInspect
Find Romanian companies by director or legal representative name.
Searches the ONRC reprezentanti table (persoana_imputernicita) via a
ranked FTS5 index; diacritic-insensitive ('popescu' matches 'POPESCU').
Returns companies with their director names and roles.
Args:
name: Director / representative name to search for (e.g. "Ion Popescu").
max_results: Maximum number of companies to return (1-100).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses that the tool searches a specific table via ranked FTS5 and returns company and director data. It does not mention side effects, but for a read-only search this is acceptable; it is transparent about its core behavior.
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 concise, using two sentences plus parameter explanations. It includes useful technical details (FTS5, diacritic-insensitive) without being verbose. The use of terms like 'ONRC' and 'FTS5' might be niche, but they are not excessive.
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 states what the tool returns (companies with director names and roles) and the parameter range for max_results. It does not cover error cases, pagination, or what happens with no matches, but for a simple search tool this is reasonably 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 coverage is 0% with no parameter descriptions, but the description provides meaning for both parameters: name is the director/representative to search for, and max_results is the maximum number of companies returned (1-100). This adds value beyond the schema, though more detail on expected formats or constraints would improve 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 clearly states the tool finds Romanian companies by director or legal representative name, with a specific verb and resource. It distinguishes itself from sibling tools like lookup_business and lookup_domain by focusing on director-based search.
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 the search mechanism (FTS5, diacritic-insensitive) and the target table, giving clear functional context. It does not explicitly mention when to use this vs. alternatives, but the purpose is implied strongly enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_domainAInspect
Perform WHOIS + DNS + SPF/DMARC lookup for a domain.
Args:
domain: Domain name to look up (e.g. "example.com").
include_dns: Include DNS records (A, MX, NS, TXT, etc.).
include_security: Include SPF/DMARC email-security check.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | ||
| include_dns | No | ||
| include_security | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention side effects, permissions, rate limits, or the read-only nature of the operation. Since the description carries the full burden without annotation support, the lack of behavioral disclosure limits transparency.
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 concise, uses a structured list for parameters, and includes example values in parentheses. It conveys essential information without extra fluff.
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, and the description does not specify the return format, possible error conditions, or additional context about the data returned. While sufficient for a basic understanding, it lacks completeness for agents needing to parse results reliably.
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?
All three parameters (domain, include_dns, include_security) are described with explanatory text, including what each flag controls. This fully covers the schema and adds meaningful semantics.
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 a specific verb 'Perform' and a specific resource 'WHOIS + DNS + SPF/DMARC lookup for a domain', which distinguishes it from sibling tools like lookup_business or lookup_financials.
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 describes each parameter including optional flags (include_dns, include_security) and their purpose, but it does not explicitly state when to prefer this tool over alternatives like lookup_business. The domain focus implicitly guides selection, but explicit guidance would be clearer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_financial_ratiosAInspect
Return derived financial intelligence for a Romanian company (MFP data).
Computes year-over-year revenue trend and growth, headcount trajectory,
net margin and liquidity / distress signals from the same Ministry of
Finance 'situatii financiare' filings as lookup_financials, then distils
them into a single human verdict: 'growing', 'stable' or 'distressed'.
This is additive intelligence on top of the raw statements — use
lookup_financials for the underlying annual figures. RON amounts are
integers from the company's latest filing(s).
Args:
cui: Romanian tax identification number (CUI), e.g. "2816464".
| Name | Required | Description | Default |
|---|---|---|---|
| cui | 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 transparency burden. It states the tool 'Computes' and 'distils' data, implying a read-only lookup, but it never explicitly confirms that no mutations occur, nor does it mention authentication, rate limits, or potential side effects. The absence of any warning about destructive behavior is a minor gap, but given the zero annotations, more explicit safety disclosure would be ideal.
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 concise and well-structured. It opens with the core purpose, lists the specific outputs, and then contrasts with a sibling tool. Each sentence adds value without redundancy, making it easy to parse quickly while retaining all key information.
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 tool lacks an output schema, but the description enumerates the derived metrics and the final verdict, giving the agent a clear expectation of the result content. It also covers the input context and relationship to the raw-data tool. Minor omissions include error handling and output format details, but for a lookup tool of this complexity, the description is largely 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?
The schema coverage is 0%, but the description compensates by naming the parameter 'cui' and defining it as 'Romanian tax identification number' with an example ('2816464'). This provides sufficient semantic meaning for an agent to supply the correct input, though it could elaborate on format or required length.
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 explicitly states the tool 'Return[s] derived financial intelligence' and enumerates the computed metrics (revenue trend, growth, headcount, net margin, liquidity/distress signals, verdict). It also distinguishes itself from the sibling 'lookup_financials' by contrasting 'derived' vs 'raw' data, making its purpose unambiguous.
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 provides clear usage guidance by stating 'use lookup_financials for the underlying annual figures,' explicitly directing the agent to the alternative tool for raw data. This implies this tool should be used when derived metrics and a human-readable verdict are needed, effectively scoping the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_financialsAInspect
Return a Romanian company's annual financial statements (MFP data).
Data source: official Ministry of Finance 'situatii financiare' open data
(data.gov.ro), loaded locally by load_financiare.py. Values are RON
integers from the company's latest annual filing(s). Free tier returns
registry identity; this is the paid-tier financial enrichment.
Args:
cui: Romanian tax identification number (CUI), e.g. "2816464".
| Name | Required | Description | Default |
|---|---|---|---|
| cui | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses data source, value format (RON integers), recency (latest annual filing), and paid/free behavior. Does not describe error handling for invalid CUI or missing filings, but the current description provides meaningful behavioral expectations.
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 concise yet informative, including data source, value type, tier behavior, and parameter explanation without unnecessary detail. Each sentence adds relevant context.
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?
Explains the core return content and value format, which is important because there is no output schema. It does not list specific financial fields or error cases, but the description gives enough context for typical usage.
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 cui is fully explained in the Args section as a Romanian tax identification number, with a concrete example. This covers the parameter despite the schema itself having only a title.
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 action ('Return') and resource ('Romanian company's annual financial statements'), with a clear distinction from free registry identity. The sibling lookup_financial_ratios is not confused because this is explicitly about full financial statements from MFP 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?
Mentions when the paid tier is needed and that free tier only returns registry identity. It does not explicitly compare against sibling tools like lookup_financial_ratios, but the paid-tier note gives practical usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
poll_watchlistAInspect
Poll every watch owned by the calling customer and return the changeset.
Returns each watch that changed since the last poll: company watches surface
an 'updated' entry with the changed fields (fingerprint slides forward);
CAEN/county watches surface the 'new' firms registered since the last poll
(registration-date cutoff slides forward). Watching a company/CAEN for the
first time establishes the baseline, so nothing already present is reported
as new. Watchlists are per API key and persist across restarts.
No arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description transparently discloses that the tool advances internal state: the fingerprint slides forward for company watches and the registration-date cutoff slides forward for CAEN watches. It also notes persistence across restarts and the first-time baseline effect, fully revealing side effects.
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 well-organized into two paragraphs but contains slight redundancy in explaining the baseline for both company and CAEN watches. It could be tightened without losing clarity, but it remains efficient.
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 the conceptual content of the changeset (updated entries with changed fields, new firms) but does not describe the exact return format or structure. Since there is no output schema, the description should provide more detail on the shape of the response, and it also omits potential error conditions.
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 tool has no parameters, and the schema is empty. Since there are no parameters to clarify, the description fully covers all relevant input aspects by omission.
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 polls all watches for the calling customer and returns a changeset. It distinguishes between company and CAEN watch behaviors, making the purpose specific and unambiguous.
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 the polling mechanism and the baseline behavior, which implicitly indicates when to use this tool (to retrieve updates after a watch is set). However, it does not explicitly contrast with sibling tools like watch_company or watch_caen, which would clarify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_caenAInspect
Watch a CAEN activity code (optionally in one county) for NEWLY REGISTERED firms.
A registration-date cutoff is stored as the baseline: only firms whose
registration date is AFTER the newest registration currently in the data are
reported as new going forward. poll_watchlist returns them and slides the
cutoff forward, so each new firm surfaces once. County matching is
diacritic-insensitive ('bucuresti' matches 'Bucureşti'); omit county to watch
nationwide.
Args:
code: CAEN activity code (e.g. "6201").
county: Optional county name to scope the watch to (diacritic-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| county | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently explains the stateful behavior: a registration-date cutoff is stored, poll_watchlist returns new firms, and the cutoff slides forward so each firm surfaces once. This is important side-effect information, though details like authentication or potential errors are not covered.
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 well structured and appropriately sized. It front-loads the core purpose, then explains the polling/cutoff mechanism in a compact way, and finally gives parameter-level guidance. Every sentence adds useful information; there is no fluff.
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 two-parameter tool with no output schema, the description provides enough context to use it correctly: how the watch is set, how results are retrieved via poll_watchlist, and how matching behaves. It could mention the immediate return value in more detail, but the overall context is sufficient.
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%, but the description fully compensates by explaining both parameters: code is a CAEN activity code with an example ('6201'), and county is optional, defaults to null, and is diacritic-insensitive with nationwide scope when omitted. This gives sufficient meaning beyond the raw 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: 'Watch a CAEN activity code (optionally in one county) for NEWLY REGISTERED firms.' It clearly identifies the resource (CAEN activity code, optional county) and distinguishes itself from sibling tools like watch_company by focusing on code/county-based monitoring rather than a specific company.
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 provides clear context on how the watch mechanism works and when it is relevant: it tracks newly registered firms after a baseline cutoff, and omitting county means nationwide coverage. While it does not explicitly compare against alternatives such as watch_company, the intended use case is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_companyAInspect
Register a company (by CUI) to watch for registry changes.
Stores a fingerprint of the firm's current ONRC record as the baseline.
poll_watchlist then reports the firm whenever its record changes between
monthly ONRC snapshots (new director, new CAEN activity, address/status
change...). Diacritic-insensitive throughout; CUI is exact.
Args:
cui: Romanian tax identification number (CUI) of the firm to watch.
| Name | Required | Description | Default |
|---|---|---|---|
| cui | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explains the side effect of storing a baseline fingerprint and that future changes are reported via poll_watchlist. It also notes diacritic-insensitivity and exact CUI matching, giving useful behavioral context beyond the bare action.
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 compact and free of fluff, using short paragraphs to convey purpose, persistence behavior, and parameter meaning. Every sentence adds relevant information.
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?
Covers the essential action, the stored state, the follow-up via poll_watchlist, and the input format. It does not mention the return value, but for a simple registration tool this is not a critical omission.
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 only parameter, cui, is fully explained as a Romanian tax identification number for the firm to watch. The description provides sufficient semantic detail despite the schema lacking a property-level description.
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 verb 'register', the resource 'company', and the purpose 'to watch for registry changes'. It is immediately distinguishable from siblings like poll_watchlist and watch_caen.
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?
Implies usage by specifying the CUI identifier and describing the downstream poll_watchlist behavior, but it does not explicitly state when to choose this tool over alternatives such as watch_caen.
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. Dates show when Glama detected each change.
10 tool updates
- First observed
enrich_company - First observed
extract_contacts - First observed
lookup_business - First observed
lookup_director - First observed
lookup_domain - First observed
lookup_financial_ratios - First observed
lookup_financials - First observed
poll_watchlist - First observed
watch_caen - First observed
watch_company
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity – fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge – works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge – works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Romanian company register: identity, filed financials, procurement, court records by name or CUI.
Read-only data on 3.9M Romanian companies: search, profiles, financials, status, CAEN.
Romanian business-registry lookup, director search, contact extraction, and WHOIS/DNS audit.
Romanian company risk checks by CUI — verdict verde/galben/roșu from official public sources.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceSearch Spanish companies, directors and corporate relationships from official BORME registry filings — ~3.2M companies since 2009. Read-only, anonymous.MIT
- AlicenseAqualityCmaintenanceStructured business intelligence for AI agents. 5.5M verified entities across 34 countries, 40.3M BORME mercantile acts, EU VAT validation, GLEIF, healthcare registries. 20 tools.61MIT
- AlicenseNot gradedqualityFmaintenanceEnables querying and searching Romanian legislation, including statutes, provisions, and EU law integration, directly from AI clients.745Apache 2.0
- AlicenseNot gradedqualityBmaintenanceCompany data for Spain, France, the UK, Ireland and Poland — registry, KYB and sanctions.96MIT