io.github.idragulin/cuisor

cuisor.ro

Romanian company register: identity, filed financials, procurement, court records by name or CUI.

Endpointhttps://cuisor.ro/mcp (streamable-http)
Registry version1.29.1
Now12 tools · grade B (89) · pin ts_4b0cb50d20fc8bceb81c2bf17405ed16 · protocol 2025-06-18
First / last listed2026-10-26 07:07 UTC / 2026-10-26 07:07 UTC
Grade over time2026-10-26: B (89), 12 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-26 07:07 UTC
12 tools, grade B (89)

Tools: search_companies get_company get_financials get_procurement get_officers get_legal resolve_caen list_companies company_stats get_meta search fetch

Current tools (12)

search_companiesResolve a company name or CUI to candidate companies. Use this first whenever the user names a company rather than giving its CUI. Returns at most 50 candidates, active companies first, largest turnover first. Romanian company names collide heavily, so show the user the candidates rather than assuming the first is right. An unquoted query matches every name containing the words (mina srl: 1015 com
params: query*, limit
get_companyIdentity, status, address, activity and headline figures for one company by CUI. Slim by default. Pass include=['financials','procurement','change_history','peers','same_address'] for more. Carries `as_of` dates: the register and ANAF are refreshed on different schedules. Data: the Romanian company register (~4M companies) with filed financial statements, ANAF fiscal status, public procurement awa
params: cui*, include
get_financialsEvery filed financial year for one company: turnover, profit (signed — negative is a loss), employees, and the full balance sheet, all in lei. `latest_filed_year` says how recent the filings go, so a year with no row reads as 'not filed yet' rather than 'no data'.
params: cui*
get_procurementPublic procurement (SEAP) awards for one company: contracts it won, and contracts it granted as a contracting authority. Bounded to the 200 most recent per side; `total` reports the true count, which can be far larger.
params: cui*, role
get_officersLegal representatives and administrators of one company. This is personal data: it requires an API key, every call is recorded against that key, and it is never available anonymously. `sources_present` says which registers contributed, so an empty list means 'none on record from these sources', not 'this company has no officers'.
params: cui*
get_legalCourt dockets (portal.just.ro) and BPI publications for one company, by CUI. Covers roughly the last three years, not a complete litigation history — it answers whether a company is in court now or recently, not whether it has ever been sued. Includes ambiguous matches the public website never shows: a docket whose party name is shared by more than one company in the register, fanned out one row p
params: cui*
resolve_caenResolve free text like 'coffee shops' or 'car repair' to CAEN activity codes. ALWAYS call this before filtering by activity — do not guess a CAEN code. More than half the official nomenclator is obsolete CAEN Rev.1 with zero companies, and those are exactly the entries whose descriptions match the obvious word, so a guessed code commonly returns nothing for a question with thousands of answers. Sh
params: query*, limit
list_companiesList companies matching a filter, largest turnover first, at most 100 per page. Pass caen_query for free text ('coffee shops') or caen for explicit codes; judet accepts 'Bucharest', 'Bucuresti' or 'Bucureşti'; cui takes up to 100 comma-separated CUIs. Filters compose, so 'restaurants registered in Cluj last week' is one call. For newly registered companies pass sort='registered_desc' with register
params: caen, caen_query, cui, judet, status, registered_after, registered_before, min_turnover, min_employees, sort, limit, cursor
company_statsCompute ONE number over a filtered population of companies — count, sum, avg, median, p25, p75, min or max. Prefer this over listing companies and doing the arithmetic yourself: it is one call instead of dozens, and it is exact. metric: net_turnover_ron, net_profit_ron, employees, sales_per_employee_ron, profit_margin_pct, company_count, age_years. group_by: year, caen, judet, status, founded_year
params: metric, agg, group_by, year, years, caen, caen_query, cui, judet, status, registered_after, min_turnover
get_metaHow old each dataset is, how many companies filed in each year, what fraction of the register carries an activity code, and the mapping from every financial field name to its Romanian label. Call this when the user asks how current or how complete the data is.
params: none
searchChatGPT connector search: find Romanian companies by name or CUI, returned as {id, title, url}. Identical to search_companies — use that tool instead unless you are the ChatGPT Apps SDK connector, which requires this exact name.
params: query*
fetchChatGPT connector fetch: the full company document for one CUI `id`, as returned by a prior `search` call. Identical to get_company with no include= (administrators included; get_officers lists them per source). Use get_company instead unless you are the ChatGPT Apps SDK connector, which requires this exact name.
params: id*

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.