About Companero – Romanian Company Data MCP Server
Remote MCP server for Romanian company data: search 2.7M Romanian companies by CUI, county, CAEN industry, revenue and founding date; get company profiles, balance sheets, ANAF tax debts, legal representatives and due diligence from official ONRC, ANAF and Ministry of Finance data. Works in Claude, ChatGPT and Cursor. Free tools, no account needed.
claude mcp add companero --transport http https://companero.ro/mcp
Companero – Romanian Company Data MCP Server tools
19
Keywords: companie, firmă, profil firmă, date firmă, CUI, CIF, cod fiscal, ONRC, ANAF, sediu social, CAEN, stare firmă, radiată, reprezentanți legali, administrator, asociat, bilanț, cifră de afaceri, profit; company profile, company lookup, company details, Romanian company by tax ID, VAT number, registration data, financials, legal representatives.
Returnează profilul unei companii românești după CUI (Cod Unic de Înregistrare / cod fiscal / CIF). Folosește-l când ai deja CUI-ul unei firme și vrei profilul ei — alternativa la `search_companies` (care găsește firme după criterii). Profilul de bază (nume, județ, oraș, CAEN principal, dată înregistrare, status) este FREE. Pentru date suplimentare folosește parametrul `include`:
- `balanceSheets`: indicatori financiari ANAF (FREE). Default: ultimii 5 ani. Pentru alți ani transmite obiect, ex: `{"balanceSheets":{"years":[2022,2023]}}` sau `{"balanceSheets":{"last":10}}` sau `{"balanceSheets":"all"}`.
- `legalRepresentatives`: reprezentanții legali activi din ONRC (GRATUIT — 0 credite — dar necesită autentificare, ȘI intră într-un plafon lunar de firme: 25 pe contul gratuit, 200 pe abonamentul Pro, deduplicat pe firmă, luna calendaristică). Răspunsul are două grupe separate: `governance` (administratori, directori, reprezentanți) și `procedural` (lichidatori, administratori judiciari — semnal de insolvență/lichidare, NU conducerea firmei). Nu le amesteca și nu prezenta un rol procedural drept „administrator". Pe firmele radiate, `note` spune explicit că persoanele FIGURAU ca reprezentanți la ultima publicare ONRC — folosește formularea aia, nu prezentul.
⚠️ Peste plafon primești `legalRepresentatives.capReached: true`, `governanceCount`/`proceduralCount` (câte persoane există) și `capMessage`, cu listele GOALE. Asta NU înseamnă că firma n-are administratori - înseamnă că plafonul lunii e atins. Spune-i utilizatorului exact asta, cu mesajul din `capMessage`; nu raporta „firma nu are reprezentanți legali". Peste plafon poți debloca firma curentă cu `unlock: true` - 1 credit, o singură dată pe lună per firmă. E o cheltuială: cere-o DOAR după ce utilizatorul a spus că e de acord, și spune-i prețul înainte. Alternativa gratuită e să aștepte 1 ale lunii sau să treacă pe Pro.
Telefonul firmei NU se dă în chat. Răspunsul poartă `phone.known` (avem sau nu numărul) și, când îl avem, `phone.seeOn` - linkul paginii firmei de pe companero.ro, unde se vede cu un cont gratuit, în plafonul lunar al contului. Trimite utilizatorul la acel link; nu încerca să reconstitui numărul din alte surse și nu spune că firma n-are telefon când `known` e `true`.
Folosirea `include` într-un singur apel este preferabilă față de mai multe tool-call-uri: răspunsul include `_meta.creditsUsed` cu costul total. Pentru `*` se aduce `balanceSheets`. `legalRepresentatives` se cere pe nume, fiindcă are nevoie de cont.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: bilanț, bilanțuri, situații financiare, indicatori financiari, cifră de afaceri, profit net, pierdere, datorii, active, capital, număr angajați, raportare ANAF, an fiscal, evoluție financiară; balance sheet, financials, financial indicators, turnover, revenue, net profit, employees, fiscal year.
Returnează indicatorii financiari disponibili (cifră de afaceri, profit net, datorii, active, capital, număr de angajați) pe ani fiscali pentru o companie identificată prin CUI, inclusiv istoricul anterior ferestrei curente ANAF. Implicit întoarce ultimii 6 ani cu bilanț; `years` alege câți ani recenți (0 = tot istoricul), `year` un singur an. `_meta.yearsAvailable` și `_meta.oldestYear` spun cât istoric există; sursa Ministerul Finanțelor, când e cazul, e menționată în `_meta.attribution`. FREE. Notă: dacă ai nevoie și de profilul companiei, preferă `get_company` cu `include: {"balanceSheets": ...}` ca să faci un singur apel.
Keywords: industrie, industrii, sector de activitate, domeniu, categorie business, ramură economică, IT, construcții, comerț, agricultură, HoReCa, transport, producție, taxonomie CAEN; industry, industries, business sector, sector taxonomy, NACE grouping.
Listează industriile (categoriile de business — o regrupare a codurilor CAEN) disponibile pe Companero. Returnează id, nume, slug. Folosește acest tool când utilizatorul vrea să caute firme dintr-un sector ("firme din IT", "construcții", "comerț", "agricultură" etc.), apoi trimite id-ul returnat în parametrul `industry` al `search_companies` — care acceptă și numele direct, deci pasul ăsta e opțional.
Keywords: firme, companii românești, CUI, CAEN, industrie, județ, localitate, cifră de afaceri, profit, datorii, angajați, caută firme după filtre, export firmă, bază de date firme, search company, find business, Romanian companies database.
Caută firme românești sau identifică o firmă specifică după denumire. Folosește același set de filtre ca pagina /cauta-firme: `name` (denumire firmă, free text, prefix-friendly), județ, localitate, industrie, cod CAEN, tip societate (SRL/SA/PFA…), stare (în funcțiune/suspendată/radiată), telefon, dată înregistrare și 19 indicatori financiari din bilanț (cifră de afaceri, profit, datorii, angajați, capital propriu/social, active, venituri, cheltuieli, etc.) — toți cu interval [gte, lte] și an opțional. Sortare multi-câmp identică cu UI-ul.
Returnează `totalCount`, un eșantion de firme (cu CUI și URL profil) și `webOrderUrl` (link către /cauta-firme cu filtrele pre-aplicate).
Pentru a găsi o firmă după denumire, apelează cu `name: "Nume Firmă"` — primești top-N candidați cu CUI și județ pentru dezambiguare; apoi folosește `get_company` cu CUI-ul ales pentru profil complet.
IMPORTANT: când utilizatorul cere lista completă sau export CSV, prezintă-i `webOrderUrl` ca link clickabil — acolo selectează câmpurile dorite, vede prețul și plătește (credite sau card). Tool-ul NU inițiază comenzi.
Keywords: județ, județe, județul, ce județ, lista județelor, cod județ, cod
auto, prefix auto, indicativ auto, abreviere județ, nomenclator județe,
unități administrativ-teritoriale, regiune, id județ, slug județ, CJ, BV, IF;
county, counties, county code, county id, list counties, administrative
divisions, administrative units, Romanian counties, region, license plate
prefix, NUTS, lookup county.
Nomenclatorul județelor României (41 de județe + municipiul București, 42 de
rânduri în `county`). Caută după nume
parțial (insensibil la diacritice) sau după ID și returnează
`{id, name, slug, shortCode}` — `shortCode` e codul auto (CJ, BV, IF).
Când îl folosești:
- "Ce județ are codul CJ?" / "Ce înseamnă prefixul BV?"
- "Listează județele care încep cu B" / "Câte județe are România?"
- "Care e ID-ul județului Bistrița-Năsăud?" (când ai nevoie de id-ul intern)
- Validezi sau normalizezi un nume de județ scris greșit ori fără diacritice
înainte să-l folosești mai departe.
- Construiești o listă de județe de parcurs (rapoarte pe județ, acoperire).
Graniță față de `search_companies`: pentru a FILTRA firme pe județ nu e nevoie
de unealta asta — `search_companies` primește direct numele județului
(`county: ["Cluj"]`) și îl rezolvă singur, fuzzy. Unealta asta e despre județul
ca entitate, nu despre firmele din el.
Keywords: localitate, localități, oraș, orașe, municipiu, comună, comune, sat,
sate, sector, sectoarele Bucureștiului, cartier, nomenclator localități,
SIRUTA, id localitate, slug localitate, ce localități are județul; city,
cities, locality, localities, town, towns, municipality, commune, village,
sector, district, settlement, list cities, lookup city, administrative
divisions.
Nomenclatorul localităților României. Caută după nume parțial (insensibil la
diacritice) și/sau filtrat pe județ; returnează
`{id, name, slug, type, countyId, countyName}`. Tipuri: `municipality`,
`city`, `commune`, `village`, `sector`, `locality`.
Când îl folosești:
- "Câte sectoare are București?" / "Care sunt sectoarele Bucureștiului?"
- "Listează comunele din județul Cluj" / "Ce orașe încep cu Cluj?"
- "În ce județ e localitatea X?" (dezambiguare — același nume apare în mai
multe județe)
- Ai nevoie de id-ul intern al unei localități, sau de tipul ei
(municipiu vs. comună vs. sat).
- Validezi sau normalizezi un nume de localitate înainte să-l folosești.
Graniță față de `search_companies`: pentru a FILTRA firme pe localitate nu e
nevoie de unealta asta — `search_companies` primește direct numele
(`city: ["Cluj-Napoca"]`) și îl rezolvă singur, fuzzy. Unealta asta e despre
localitatea ca entitate, nu despre firmele din ea.
Keywords: persoană, administrator, asociat, reprezentant legal, lichidator, antreprenor, due diligence, conflict de interese, KYC, ONRC, search person, find administrator, beneficial owner.
Caută o persoană fizică (administrator, asociat, reprezentant legal, lichidator, mandatar) și află în câte firme românești apare. FREE.
Sursa: ONRC Open Data (Registrul Comerțului — Legea 265/2022 privind registrul comerțului). Profilurile sunt construite agregând aparițiile aceleiași persoane în mai multe firme, după nume + (când e public) dată / loc de naștere.
CÂND îl folosești:
- "În câte firme apare X?" — caută numele, sortat desc după `companyCount`, ia top hit, apoi `get_person`.
- "Cine sunt antreprenorii cu cele mai multe firme dintr-un județ?" — filtrează `county`, sortare implicită desc după `companyCount` returnează top serial-administratori.
- "Persoana X are conflict de interese cu firma Y?" — caută X → `get_person` → caută taxId-ul Y în lista companiilor.
- "X e lichidator / e implicat în insolvență?" — `get_person` afișează rolurile cu `roleCategory: procedural`.
- KYC / due diligence — verifică structura cross-company a unui beneficiar real.
DEZAMBIGUARE: căutarea EXCLUDE structural clusterele de nume comun fără elemente discriminatorii (cele marcate `UNRESOLVED`) — pe toate tier-urile, și NU există parametru care să le includă. Ce primești sunt profiluri deja dezambiguate. Pentru nume frecvente pot rămâne totuși mai multe persoane distincte cu același nume: filtrează `county` sau `birthYearFrom`/`birthYearTo` ca să reduci candidații înainte de a cheltui credite pe `get_person`.
ACCES & COST:
- ANONIM: maxim 10 rezultate, doar `name + companyCount + profileUrl`. Pentru disambiguare completă (an naștere, județ, confidence) — autentifică-te.
- AUTENTIFICAT (free): până la 100 rezultate, inclusiv `birthYear`, `knownCounties`, `occurrenceCount`, `confidence` — toate câmpurile necesare ca LLM să aleagă fără call adițional.
- Profilul complet (toate companiile, alias-uri, locul nașterii) e disponibil prin `get_person` — 1 credit per profil.
Confidence (autentificat):
- HIGH: identificare sigură (CNP sau nume + DOB + locul nașterii).
- MEDIUM: nume + DOB se potrivesc — probabil aceeași persoană.
- LOW: doar nume; nume rar deci puțin probabil să fie altcineva.
- UNRESOLVED: nume comun fără elemente discriminatorii — nu apare în rezultatele acestei unelte.
GDPR: niciun CNP nu e returnat. Toate datele provin din publicări legale ONRC.
Keywords: profil persoană, lista firme, administrator, asociat, reprezentant legal, lichidator, insolvență, due diligence, KYC, beneficiar real, person profile, company list, ONRC.
Returnează profilul complet al unei persoane fizice (administrator, asociat, reprezentant legal, lichidator) după ID-ul de identitate (24-char hex obținut din `search_persons`). PAID, 1 credit per apel. Necesită autentificare — anonimii primesc 401 + indicații OAuth.
Sursa: ONRC Open Data (Registrul Comerțului — Legea 265/2022 privind registrul comerțului). Niciun CNP nu e returnat — datele sensibile (CNP, adrese complete) rămân criptate at-rest.
CÂND îl folosești:
- "Lista completă a firmelor lui X" — apel direct după `search_persons`. Răspunsul include prima pagină (25 firme) inline.
- "Persoana e lichidator / implicată în insolvență?" — verifică dacă rolurile au `roleCategory: procedural`.
- "Persoana mai apare în firma Y?" — caută `companyTaxId == Y` în lista returnată.
- "Persoana e activă în acea firmă?" — vezi `isActive` per ocurrență; `false` = persoana nu mai apare în ultimul snapshot ONRC.
- Roluri istorice — trimite `onlyActive: false`. Default e `true`.
Răspunsul include:
- Nume canonic + variante (alias-uri observate, ex. "POPESCU ION" vs "Ion Popescu")
- Confidence cluster + flag `isCommonName` (când `true`, aparițiile pot fi indivizi diferiți)
- An și loc de naștere (când sunt publice ONRC)
- Județe / localități în care a fost observată
- Lista paginată de companii cu: `companyTaxId`, nume firmă, `tradeNumber`, `role`, `roleCategory`, `linkConfidence`, `observedAt`, `isActive`, URL firmă
- `_meta.creditsUsed: 1`, `_meta.dataSource: "ONRC public open-data"`
`linkConfidence` per ocurrență:
- HIGH: identificare sigură (CNP sau nume + DOB + locul nașterii confirmate)
- MEDIUM: nume + DOB se potrivesc, fără confirmare suplimentară
- LOW: doar nume; nume rar deci puțin probabil să fie altcineva
- UNRESOLVED: nume comun fără elemente discriminatorii — verifică manual înainte să presupui că e aceeași persoană
Paginare: `limit` (1-100, implicit 25) + `offset`. Fiecare apel costă 1 credit, indiferent de `limit`.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: datorii ANAF, restanțe fiscale, obligații restante, tax debts,
arieratele, datorii fiscale, conformitate fiscală, ANAF.ro/restante,
ANAF debt list, tax compliance, restante, datorii buget stat,
asigurări sociale, șomaj, sănătate, beneficial debt, romanian tax debts,
fiscal compliance check, debt history quarter.
Returnează situația datoriilor fiscale ale unei firme românești după CUI,
conform listei publice ANAF de restanțe (publicată trimestrial pe
anaf.ro/restante).
Două tier-uri (toggle prin `detail`):
- `detail: "summary"` (DEFAULT, FREE): răspunde rapid la întrebarea
"are firma datorii?" — `{hasDebt, totalGeneral, checkedAtQuarter,
checkedAtReferenceDate}`. Folosește pentru screening sau confirmare
rapidă.
- `detail: "full"` (PAID, 100 credite): istoricul COMPLET multi-trimestru
cu breakdown per buget (stat / asigurări sociale / șomaj / sănătate),
fiecare cu valori principale / accesorii / total / contestate /
necontestate. Folosește pentru evaluări detaliate, due diligence,
trend analysis fiscal.
IMPORTANT — pragurile de publicare ANAF: lista publică ANAF de restanțe
conține DOAR firmele cu datorii fiscale peste anumite plafoane legale:
- 100.000 RON pentru firme obișnuite (majoritatea)
- 250.000 RON pentru contribuabili mijlocii
- 500.000 RON pentru mari contribuabili
Absența unei firme din listă NU înseamnă "fără datorii" — înseamnă
"datoriile, dacă există, sunt sub pragul de publicare".
Stări semantice cheie (interpretează cu atenție):
- `hasDebt: true` → firma figurează în lista publică ANAF la trimestrul
raportat (datorii peste plafon). Folosește `totalGeneral` și (în
tier-ul full) detaliile pe buget. Acest fapt în sine e un semnal
serios pentru due diligence.
- `hasDebt: false` ȘI `checkedAtQuarter` setat → firma NU apare în lista
publică ANAF la trimestrul respectiv. Semnifică "fără datorii publice
materiale" — NU "fără datorii deloc". Datoriile sub prag (max 99.999
RON pentru firme obișnuite) pot exista fără să fie publicate.
- `hasDebt: null` ȘI `checkedAtQuarter: null` → Companero nu a importat
încă date ANAF. Singura stare reală de "informație lipsă".
Când îl folosești:
- "Are firma X datorii la ANAF?"
- "Verifică situația fiscală a firmei cu CUI Y"
- "Cât datorează firma Z la stat?"
- "Istoricul datoriilor ANAF pentru firma X în ultimele trimestre"
- Pre-screening B2B, KYC, factoring, credit decision
Cost & caching: free pentru `detail=summary`, 100 credite pentru
`detail=full`. Abonamentul Pro include istoricul complet pentru 200 de firme
pe lună (lună calendaristică, deduplicat pe firmă): când apelul e acoperit de
plafon, răspunsul poartă `_meta.coveredByPlan: true` și `creditsCharged: 0`.
Peste plafon, `detail=full` se taxează normal. Datele se actualizează
trimestrial când ANAF publică o nouă listă (~aprilie, iulie, octombrie,
ianuarie).
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: indicatori financiari, lichiditate, solvabilitate, profitabilitate,
marjă, bonitate, analiză financiară, sănătate financiară,
current ratio, quick ratio, cash ratio, debt to equity, leverage, working capital,
net margin, operating margin, ROE, ROA, turnover growth, revenuePerEmployee,
financial ratios, liquidity, solvency, financial health, company health,
financial analysis, balance sheet ratios, indicatori bilanț, poziționare industrie,
industry position, CAEN percentile, financial score, financial indicators.
Calculează și returnează indicatori financiari determiniști pentru o firmă românească
după CUI, din bilanțurile ANAF (și surse publice agregate pentru ani mai vechi).
Calcul pur, fără LLM — rezultate instant, cost marginal zero.
Grupe de indicatori: **lichiditate** (currentRatio, quickRatio, cashRatio) ·
**solvabilitate / structură** (debtToEquity, leverageRatio, workingCapital) ·
**profitabilitate** (netMargin, operatingMargin, roe, roa) ·
**eficiență / dinamică** (receivablesDays, turnoverGrowth, employeeGrowth,
revenuePerEmployee) · **poziționare în industrie** față de percentilele P25/median/P75 din
`industry_pulse_agg` (turnover, profit, angajați, segmentul CAEN × județ cu
fallback național; disponibil doar pentru segmente ≥ 30 firme).
Două tier-uri (`detail`):
- `detail: "summary"` (DEFAULT, FREE): netMargin + leverageRatio + turnoverGrowth
pentru ultimul an cu bilanț + poziționare față de industrie. „Cum stă firma
față de concurență?" (Lichiditatea apare doar în `full`, unde există
date — bilanțul ANAF simplificat nu o conține pentru majoritatea firmelor.)
- `detail: "full"` (GRATUIT, dar CERE CONT): toți indicatorii pe toți anii disponibili
(serie multi-an) + poziționare vs. ambele segmente
(CAEN × județ și național) + nota metodologică. Folosește pentru due diligence
complet, analiză de credit, comparație competitivă.
IMPORTANT — interpretare:
- `null` pe un indicator = necalculabil din lipsă de date (microentitățile nu
raportează toate câmpurile bilanțului). `null` ≠ 0.
- Capitaluri proprii ≤ 0 → `debtToEquity` și `roe` emit flag `negativeEquity`.
Când îl folosești:
- „Care e lichiditatea / solvabilitatea firmei X?"
- „Cum se compară cifra de afaceri a firmei Z cu industria ei?"
- „Evoluția marjei nete în ultimii 5 ani la firma V"
- Due diligence financiar pre-colaborare (furnizor, client, partener)
- Analiză de credit sau factoring · screening B2B
Cost: GRATUIT pe ambele tieruri. `detail: "full"` cere însă un cont: la un
apel anonim pornește fluxul de autorizare, iar `summary` rămâne disponibil
fără cont.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: grup de firme, firme legate, rețea de firme, conexiuni firmă,
company group, related companies, company network, connected companies,
administrator comun, asociat comun, shared director, beneficial owner
network, firme radiate, istoric administratori, due diligence, KYC,
risc de contrapartidă,
counterparty risk, verificare partener, legături între firme, afiliați,
affiliated companies, group structure, ownership links.
Returnează GRUPUL DE FIRME al unei companii românești (după CUI): alte
firme conectate prin aceleași persoane (legături prin administratori și,
unde sunt cunoscute, prin acționari), împreună cu istoricul factual al
fiecărei persoane care leagă firmele: câte firme are în total, câte active,
câte radiate, câte cu insolvență, câte cu datorii la stat.
Diferență față de profilul individual (`get_company`): acest
tool răspunde STRICT la dimensiunea de rețea/grup — cine leagă firma de
ce alte firme și ce istoric au acele legături. Pentru profil financiar și
bilanțuri folosește `get_financial_health` și `get_balance_sheets`.
Două tier-uri (toggle prin `detail`):
- `detail: "summary"` (DEFAULT, FREE): `{groupSize, connectorCount,
deletedInGroupCount, computedAt}` — răspunde rapid la "face parte firma
dintr-un grup și câte dintre firmele grupului sunt radiate?".
- `detail: "full"` (PAID, 10 credite): expansiunea completă 2-hop:
`connectors[]` (persoanele care leagă firma: nume, roluri, câte firme
au în total, statistici — câte active/radiate/cu insolvență/cu datorii
ANAF) + `groupMembers[]` (firmele din grup, deduplicate, cu starea lor
și prin cine sunt conectate).
Semantici cheie (interpretează corect):
- Muchiile folosesc DOAR legături cu încredere high/medium din rezoluția
de identitate; persoanele cu nume comune neambiguizate sunt EXCLUSE
structural — nu presupune niciodată că două firme sunt legate doar
pentru că administratorii au același nume.
- Practicienii în insolvență (lichidatori, administratori judiciari) NU
creează muchii de grup — mandatele lor sunt procedurale.
- Persoanele cu foarte multe firme (>50) apar ca `isHub: true` și nu
extind grupul.
- Cifrele sunt fapte publice ONRC (mandate, radieri, date), nu aprecieri.
O firmă radiată în istoricul unui administrator NU e, prin ea însăși,
un semnal negativ: radierea voluntară e obișnuită. Absența datelor de
datorii pentru firme radiate demult NU înseamnă că erau curate.
- Corelarea acestor fapte într-un tipar de comportament (persoane cu firme
radiate care înregistrează firme noi) NU e expusă prin acest tool și nu
apare în răspuns; e o prelucrare pentru care așteptăm evaluarea de impact
(DPIA, art. 35 GDPR). Nu o deduce singur din cifre și nu o prezenta
utilizatorului ca pe un rezultat al platformei.
- `computed: false` → rebuild-ul de rețea nu a rulat încă pentru acest
set de date.
Când îl folosești:
- "Ce alte firme are administratorul firmei X?" / "Firme legate de X"
- "Face parte firma X dintr-un grup de firme?"
- "Are firma X administratori cu firme radiate în urmă?"
- "Verifică istoricul oamenilor din spatele firmei X" (KYC, credit,
contract nou, factoring)
Cost: free pentru `detail=summary`, 10 credite pentru `detail=full`.
Datele se recalculează după fiecare import ONRC lunar.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: achiziții publice, licitații, contracte de stat, SEAP, SICAP,
furnizor stat, achiziție directă, acord-cadru, contracte câștigate,
bani publici, public procurement, public contracts, tenders, government
contracts, awarded contracts, supplier to public sector, CPV, dependență
de stat, due diligence achiziții, e-licitatie.
Returnează implicarea unei firme românești (după CUI) în achizițiile
publice, conform datelor deschise SEAP/SICAP (data.gov.ro). Vizează firma
în rol de FURNIZOR (ofertant câștigător).
Două tier-uri (toggle prin `detail`):
- `detail: "summary"` (DEFAULT, FREE): rollup rapid — `{hasPublicContracts,
contractCount, contractValue, frameworkValue, distinctAuthorities,
lastAwardDate, topCpvCodes}`. Răspunde la "câștigă firma contracte
publice și cât?".
- `detail: "full"` (PAID, 2 credite): summary + lista contractelor recente
(autoritate contractantă, CPV, valoare, tip procedură, dată) +
`stateShare` — „dependența de stat": seria anuală valoare-contracte ÷
cifră de afaceri (sharePct poate depăși 100% legitim — contract
multianual semnat într-un an; sharePctDisplay e plafonat la 100). Pentru
due diligence detaliat și analiza dependenței de bani publici.
IMPORTANT — acord-cadru vs contract: `contractValue` însumează DOAR
contractele obișnuite. Acordurile-cadru repetă valoarea totală pe fiecare
lot, deci sunt ținute separat în `frameworkValue` (limită superioară de
capacitate, NU cheltuială efectivă). Nu le aduna.
Ce spune fiecare câmp (fapte, nu verdicte — nu le transforma în concluzii
despre firmă):
- `distinctAuthorities` = câte autorități contractante distincte apar în
contractele firmei. Mai multe autorități pe un `contractValue` mare =
venituri publice împrăștiate pe mai mulți clienți; `distinctAuthorities: 1`
pe un `contractValue` mare = toate veniturile publice vin de la un singur
client public. Atât — raportează numărul și autoritatea, nu explicația.
- `lastAwardDate` raportat la data de înregistrare a firmei = de cât timp
exista firma la ultima atribuire. E un fapt datat, nu un semnal: spune
intervalul, cu ambele date, și lasă concluzia utilizatorului.
- `hasPublicContracts: false` → fără contracte publice cunoscute în datele
importate (NU garanție că n-a avut niciodată).
Când îl folosești:
- "Ce contracte publice a câștigat firma X?"
- "Câștigă firma Y bani de la stat?"
- "Cât a luat firma Z din achiziții publice și de la cine?"
- "În ce domenii (CPV) furnizează firma X către instituții publice?"
- Due diligence, KYC, evaluare dependență de bani publici.
Sursă: open-data SEAP/SICAP (data.gov.ro), licență deschisă. Date despre
persoane juridice și cheltuieli publice (transparență — fără date personale).
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: piață achiziții publice, cod CPV, licitații pe domenii, cine
câștigă licitații, top furnizori stat, cotă de piață achiziții, concentrare
piață, HHI, SEAP, SICAP, contracte publice pe domenii, public procurement
market, CPV market analysis, top government suppliers, market share tenders,
market concentration, procurement analytics.
Analizează PIAȚA unui domeniu CPV în achizițiile publice românești (date
SEAP/SICAP de pe data.gov.ro): cine câștigă, la ce valori, cât de
concentrată e piața. Parametrul `cpvPrefix` = diviziune CPV de 2 cifre
(ex. "45" = lucrări de construcții, "33" = echipamente medicale, "72" =
servicii IT) sau clasă de 4 cifre (ex. "4523" = construcții de drumuri).
Opțional `year` (implicit: ultimul an cu date).
Două tier-uri (toggle prin `detail`):
- `detail: "summary"` (DEFAULT, FREE): totaluri piață (valoare contracte,
plafoane acorduri-cadru separat, nr. furnizori), TOP 10 furnizori cu
cote de piață, indicele HHI + eticheta de concentrare, trend anual.
- `detail: "full"` (PAID, 3 credite): la fel, dar TOP 100 furnizori —
pentru analiză de piață completă.
IMPORTANT la interpretare:
- `contractValue` = DOAR contracte ordinare; `frameworkValue` (acorduri-
cadru) e plafon maxim contractabil, raportat separat — NU le aduna.
- Contractele câștigate în asociere apar cu valoarea integrală la fiecare
membru al asocierii (SEAP nu publică split-ul).
- Acoperire: atribuiri publicate din 2018 încoace (fără achiziții directe);
2021–2024 parțial trunchiați la sursă (plafonul XLS de 65k rânduri),
T2-2019 nepublicat — trendurile multi-an sunt orientative.
Când îl folosești:
- "Cine câștigă licitațiile de construcții / IT / medicale în România?"
- "Cât de concentrată e piața achizițiilor publice de X?"
- "Top furnizori la stat pe domeniul Y" / "market share în CPV 45"
- "Cât s-a atribuit prin SEAP pe domeniul Z în 2025?"
- Analiză competitivă înainte de a licita; jurnalism de investigație.
Pentru contractele UNEI firme folosește get_company_contracts; pentru
competitorii unei firme, get_company_competitors.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: autoritate contractantă, primărie achiziții, spital achiziții,
minister contracte, cine vinde la primărie, furnizorii unei instituții,
contracte atribuite de, achizitor public, buyer profile, contracting
authority, government buyer, public institution suppliers, SEAP, SICAP,
tender awards by authority, achiziții publice instituție.
Profilul de CUMPĂRĂTOR al unei autorități contractante românești (primărie,
spital, minister, regie) din datele SEAP/SICAP (data.gov.ro): cât atribuie,
cui, pe ce domenii CPV. Parametrul `taxId` = CUI-ul autorității (îl găsești
cu search_companies sau de pe paginile /achizitii-publice/autoritati).
Două tier-uri (toggle prin `detail`):
- `detail: "summary"` (DEFAULT, FREE): totaluri (valoare contracte,
plafoane acorduri-cadru separat), TOP 10 furnizori ai autorității,
domeniile CPV principale, trend anual.
- `detail: "full"` (PAID, 2 credite): la fel, dar TOP 100 furnizori —
harta completă a relațiilor comerciale ale instituției.
IMPORTANT la interpretare:
- `contractValue` = DOAR contracte ordinare; `frameworkValue` (acorduri-
cadru) e plafon maxim contractabil, raportat separat — NU le aduna.
- Contractele câștigate în asociere apar cu valoarea integrală la fiecare
membru (SEAP nu publică split-ul).
- Acoperire: atribuiri publicate din 2018 încoace, fără achiziții directe.
Când îl folosești:
- "Cine vinde la Primăria X?" / "Ce furnizori are spitalul Y?"
- "Cât a atribuit ministerul Z anul trecut și pe ce domenii?"
- Pregătirea unei oferte: ce cumpără instituția și de la cine cumpără azi.
- Jurnalism / due diligence pe relația unei firme cu o instituție.
Pentru piața unui domeniu CPV folosește get_cpv_market; pentru contractele
câștigate de O FIRMĂ, get_company_contracts; pentru competitorii ei la
stat, get_company_competitors.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: competitori licitații, concurență achiziții publice, cu cine
concurează firma, rivali la stat, competitor analysis, procurement
competitors, who competes with, bidding rivals, aceleași licitații, SEAP,
SICAP, competiție contracte publice, benchmarking furnizori stat.
Identifică COMPETITORII unei firme românești (după CUI) în achizițiile
publice: furnizorii cu cele mai mari valori câștigate în ACELEAȘI clase
CPV (4 cifre) în care firma a câștigat contracte în ultimii 2 ani
acoperiți, excluzând firma însăși. [PAID, 3 credite]
Returnează:
- `firmClasses`: clasele CPV în care activează firma (valoare, cel mai
bun rank în piață per clasă);
- `competitors`: top competitori agregați peste clasele partajate, fiecare
îmbogățit cu date Companero: județ, stare firmă, flag datorii ANAF —
combinația unică (date SEAP + date fiscale + registru). Îmbogățirea
permite prioritizarea competiției: cine e activ, solvabil și local.
IMPORTANT la interpretare:
- Valorile de acord-cadru sunt separate (frameworkValue) — nu le aduna.
- Contractele în asociere apar cu valoarea integrală la fiecare membru.
- „Competitor" = activitate în aceleași clase CPV — nu garantează ofertare
în aceleași proceduri.
Când îl folosești:
- "Cu cine concurează firma X la licitații?"
- "Cine mai câștigă contracte în domeniile firmei Y?"
- "Analizează concurența firmei Z în achizițiile publice"
- Pregătirea unei oferte; due diligence comercial; analiză de piață.
Pentru piața unui domeniu CPV folosește get_cpv_market; pentru contractele
firmei, get_company_contracts.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: statistici industrie/sector, medie cifra de afaceri pe sector, cifra
de afaceri mediană, mediana profitului, câte firme active/noi/radiate, percentile
P25/median/P75, benchmark de piață, mărimea pieței, market sizing, cod CAEN,
industrie, județ, market statistics, industry/sector stats, median turnover,
average revenue by sector, company counts by industry/county Romania, new vs
dissolved companies, market benchmark, percentiles.
Statistici AGREGATE pentru un segment de piață din România (o industrie SAU un
cod CAEN de clasă, opțional restrâns la un județ). Returnează: număr de firme
active, firme noi și radiate în anul curent, și percentilele P25 / mediană / P75
pentru cifra de afaceri, profit și număr de angajați — plus un trend multi-anual.
Datele vin din bilanțurile ANAF + registrul ONRC, precalculate; percentilele
există doar pe segmente cu ≥30 de firme cu bilanț (altfel fallback pe percentilele
naționale, marcat prin `usedNationalFallback`; segmentul local prea mic e semnalat
în `smallSegment`).
Segmentul se dă prin EXACT UNUL dintre:
- `caenCode`: cod CAEN de clasă, 4 cifre (ex. "6201" software la comandă, "0111"
cultura cerealelor). Codurile de 2–3 cifre NU sunt suportate (percentilele nu
se pot agrega din percentile) — folosește un cod de 4 cifre sau `industry`.
- `industry`: nume, slug sau id al uneia dintre cele 34 de industrii Companero
(ex. "IT și software", "Imobiliare"). Dacă nu știi valoarea, apelează
`list_industries`.
Opțional `county` (nume sau id, ex. "Cluj") pentru statistici județene și `year`
pentru count-urile unui an anume (percentilele rămân pe anul de referință).
Când îl folosești:
- „Care e cifra de afaceri mediană a firmelor de software din Cluj?"
- „Câte firme s-au înființat / radiat în construcții anul acesta?"
- „Câte firme active sunt în industria imobiliară?"
- „Cât câștigă în medie o firmă de contabilitate?" (mediană + P25/P75)
- „Cât de mare e piața pentru CAEN 6201?" / „market sizing pe un sector"
- Context de piață înainte de a evalua o firmă individuală.
Disambiguare (NU confunda cu):
- `search_companies` GĂSEȘTE FIRME individuale — folosește-l pentru „top N firme
după cifra de afaceri" sau liste/export. `get_market_stats` dă STATISTICI de
segment, nu firme.
- `list_industries` = taxonomia (id/nume/slug ale industriilor).
- `get_cpv_market` = piața ACHIZIȚIILOR PUBLICE (SEAP), nu piața comercială.
- `get_financial_health` = poziționarea UNEI firme față de industria ei.
Gratuit.
Keywords: prospectare, prospectare B2B, clienți potențiali, potențiali clienți, listă de prospecți, generare de lead-uri, leaduri, găsește clienți noi, firme țintă, firme în creștere, profil de client ideal, ICP, piață țintă, vânzări B2B, listă de firme pentru vânzări.
Keywords (EN): find prospects, find leads, lead generation, sales prospecting, B2B leads, scored leads, lead scoring, prospect list, ideal customer profile, target accounts, growing companies, new business, sales pipeline, Romanian companies, company leads Romania.
Găsește firme românești care se potrivesc profilului de client ideal descris de utilizator și le returnează ca listă de prospecți scorată și motivată, din baza Companero de 2,7 milioane de firme (date ANAF, ONRC, contracte publice).
Input — criterii structurate, toate opționale: industrie sau coduri CAEN, județe, interval de angajați, interval de cifră de afaceri, creștere (cifră de afaceri / angajați), are website sau telefon, exclude firmele cu datorii ANAF, doar câștigători de contracte publice, vârsta firmei.
Output — listă ordonată după un scor de potrivire 0–100, cu breakdown transparent pe criterii (creștere CA, creștere angajați, contactabilitate, mărime în țintă, datorii ANAF, prospețimea bilanțului, contracte publice), motivare în limbaj natural per firmă (ex.: „+34% cifră de afaceri în 2024", „12 → 19 angajați", „fără datorii la ANAF"), link către profilul firmei și webOrderUrl pentru exportul CSV al listei.
Când îl folosești:
- „Caută-mi firme de transport din Ardeal, în creștere, cu minim 10 angajați."
- „Am nevoie de o listă de clienți potențiali pentru serviciile noastre de marketing."
- „Ce firme de producție din Cluj și Bihor au site și n-au datorii la ANAF?"
- „Găsește-mi magazine online în creștere cărora le-aș putea vinde logistică."
- „Vreau prospecți B2B: clinici private din București, între 10 și 50 de angajați."
- „Care firme HoReCa înființate recent angajează și au buget?"
- „Build me a scored prospect list of growing Romanian software companies."
- MOD LOOKALIKE (firme similare cu clienții mei / lookalike / ICP by example): „Găsește-mi firme care seamănă cu clienții mei buni: CUI 33592480 și 8955860." → dă `seedCompanies` cu CUI-urile lor; caut firme SIMILARE (motor de embeddings) filtrate + scorate ca mai sus.
Tarifare: anonim - teaser gratuit cu primele 5 rezultate (fără breakdown de scor și fără date de contact); autentificat cu ApiKey - lista completă scorată, 3 credite per căutare.
Telefonul NU se afișează aici. Fiecare rezultat poartă `contact.phone.known` (avem sau nu numărul) și, când îl avem, `contact.phone.seeOn` - pagina firmei pe companero.ro, unde se vede cu cont, în plafonul lunar. Site-ul (`contact.website`) vine ca atare. Spune-i utilizatorului câte firme din listă au telefon și trimite-l la linkuri; nu promite numere în chat.
Important: scorul măsoară potrivirea cu criteriile cerute, NU calitatea firmei — Companero arată fapte, nu dă verdicte. Câmpurile lipsă (ex. bilanț nedepus) sunt raportate explicit în dataGaps, nu ascunse.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: verificare portofoliu, verificare listă de firme, verificare CUI-uri, screening firme, screening parteneri, verificare clienți, verificare furnizori, verificare în masă, verificare bonitate, control de credit, credit control, semnale de alertă firme, firme cu datorii, firme radiate, firme în insolvență, verifică-mi lista de parteneri.
Keywords (EN): portfolio screening, batch company check, bulk due diligence, screen a list of companies, check partners/clients/suppliers, credit control, KYC suppliers, supplier risk screening, mass company verification, Romanian companies list check, flag companies with debts/insolvency.
Verifică o LISTĂ de firme românești (după CUI) și întoarce, per firmă, semnalele factuale deterministe deja cunoscute în Companero: firmă inactivă/radiată/suspendată, evenimente în istoricul de stări de la ONRC (dizolvare, lichidare, fuziune, divizare), datorii la stat (ANAF), capitaluri proprii negative, scădere de cifră de afaceri, bilanț nedepus recent, firmă tânără. Ideal pentru contabili, credit control, distribuitori cu mulți clienți pe termen de plată — „am o listă de N parteneri, spune-mi care au probleme".
Input: `taxIds` — listă de CUI-uri (numere sau string-uri; prefixul „RO" se ignoră). Maxim 100 CUI-uri per apel (peste 100 → eroare). Opțional `label` (nume pentru job, ex. „Portofoliu clienți iulie").
Comportament: pentru ≤20 CUI-uri raportul complet vine SINCRON (job + agregate + toate firmele cu flag-urile lor). Pentru 21–100 CUI-uri se creează un job asincron și primești `jobId` + `status` — verifici rezultatul cu tool-ul `get_screening`.
Tarifare: 1 credit per firmă REZOLVATĂ (CUI găsit în baza Companero). CUI-urile inexistente NU se taxează. Un portofoliu de 50 de firme = ~50 credite. Necesită autentificare.
Flag-uri și severități: `inactive`, `status_event`, `state_debts`, `negative_equity` (severitate HIGH); `financial_pressure`, `turnover_drop`, `no_recent_filing` (MEDIUM); `young_company`, `not_found`, `screening_error` (INFO). Sortare implicită: cele mai multe flag-uri high întâi.
Sunt FAPTE, nu verdicte: niciun scor de risc, niciun rating, nicio recomandare. Un eveniment de stare NU înseamnă insolvență - o fuziune apare tot acolo. `status_event` se numea `insolvency_history` până la politica `sp2`; rapoartele mai vechi pot purta încă vechiul cod.
Când NU e potrivit (dezambiguizare):
- `get_company` = profilul individual al unei firme după CUI.
- `screen_companies` = semnale deterministe pe o LISTĂ de firme, format tabelar.
Important: Companero arată FAPTE, nu verdicte. Flag-urile sunt semnale factuale (ex. „figurează cu datorii ANAF de X lei la Q4-2025"), NU un „scor de risc" și NU o recomandare de a lucra sau nu cu firma.
Confirmarea costului: un apel care ar consuma credite are nevoie de `confirm: true`. Fără el primești DEVIZUL (cost în credite și RON, soldul contului, alternativa gratuită dacă există) și nu se consumă nimic — reia apoi EXACT același apel cu `confirm: true`, după ce omul a acceptat costul.
Keywords: stare verificare portofoliu, rezultat screening firme, status job verificare, ia raportul de screening, verifică jobul de verificare firme, progres verificare, rezultatul listei de firme verificate.
Keywords (EN): get screening result, screening job status, poll portfolio screening, fetch batch company check report, screening progress, portfolio screening result.
Ia starea și rezultatul unui job de verificare portofoliu creat cu `screen_companies`. Folosește-l după un apel asincron (peste 20 de firme, care întoarce doar un `jobId`) ca să afli progresul și, când e gata, agregatele listei. GRATUIT, dar necesită autentificare (jobul e strict al tău).
Input: `jobId` (id-ul întors de screen_companies), opțional `includeItems` (implicit false) — când e true întoarce și firmele individuale cu flag-urile lor (maxim 100, sortate după cele mai multe flag-uri high; semnalează dacă lista e trunchiată).
Output: `status` (pending / processing / done / failed), `progress` {processedCount, totalCount} cât timp rulează, și `summary` cu agregatele (câte firme cu datorii la stat, câte inactive, distribuția pe severitate, top cele mai semnalate) când jobul e gata.
Notă: pentru ≤20 de firme, `screen_companies` întoarce deja raportul complet sincron — nu mai e nevoie de acest tool.
Overview
What is Companero MCP?
Companero MCP is the official remote MCP server of Companero, the Romanian company data platform. It connects AI assistants such as Claude, ChatGPT and Cursor to 2.7 million Romanian companies (firme din România), using official public data from ONRC (the National Trade Register), ANAF (the National Agency for Fiscal Administration) and the Romanian Ministry of Finance (annual balance sheets).
Ask in plain language, in English or Romanian. The AI answers with live, verifiable company data instead of guessing.
What can you do with it?
Look up any Romanian company by CUI (fiscal code / cod fiscal): name, address, county, main CAEN activity, status and registration date.
Check financials: annual revenue (cifra de afaceri), net profit, debts, number of employees and equity, across several years.
Search and filter companies by county, city, industry, CAEN code, revenue, founding date and more. Use it for B2B lead generation, prospect lists and market sizing.
Check ANAF tax debts (datorii la bugetul de stat) before you sign with a new partner.
See legal representatives: administrators and directors from ONRC, plus insolvency and liquidation roles.
Run a full due diligence report that combines profile, financials, tax debts and administrators in one call. Use it for KYB, supplier vetting and credit risk.
Tools
Tool
What it does
Access
search_companies
Multi-filter company search (county, industry, CAEN, revenue, registration date) with sorting
Free, no account (25 results per query)
get_company
Company profile by CUI
Free, no account
get_balance_sheets
Annual financial indicators: revenue, profit, debt, employees, capital
Free, no account
list_industries
Industry taxonomy (CAEN codes grouped at business level)
Free, no account
search_counties / search_cities
Geographic lookup
Free, no account
get_company + legal representatives
Active administrators and directors from ONRC
Free with account
get_anaf_debts
ANAF state budget debt status
Summary free; detailed report 100 credits
due_diligence
Full company check: profile + financials + tax debts + administrators
Sales and business development teams building B2B prospect lists of Romanian companies
Finance, credit and procurement teams checking partner creditworthiness and tax debts
Accountants, consultants and lawyers doing company research and KYB
Analysts and founders sizing markets and benchmarking competitors in Romania
Developers building AI agents that need reliable Romanian business registry data
FAQ
What data sources does Companero use?
Official Romanian public sources: ONRC (Registrul Comerțului), ANAF and the Ministry of Finance, which publishes the annual balance sheets.
Is it free?
Company search, profiles, balance sheets and industry data are free and need no account. Legal representatives are free with an account. Detailed ANAF debt reports and due diligence use credits, and new accounts get 500 free credits.
Does it work in Romanian?
Yes. You can ask in Romanian or English.
How do I find a company's CUI?
Ask by company name. search_companies returns the CUI, which you can then use for profiles, financials and checks.
Is it an official Companero server?
Yes. Companero maintains and hosts it at https://companero.ro/mcp.
Frequently asked questions
1
What is the Companero – Romanian Company Data remote MCP server?
The Companero – Romanian Company Data remote MCP server is a hosted Model Context Protocol endpoint at https://companero.ro/mcp, so AI assistants can connect to it without installing or running anything locally.
2
How do I connect to the Companero – Romanian Company Data MCP server?
Add the endpoint https://companero.ro/mcp to any MCP-compatible client such as Claude Code, Cursor, or VS Code. The setup snippets on this page configure each client in one step.
3
Does the Companero – Romanian Company Data MCP server require authentication?
Yes. Companero – Romanian Company Data uses OAuth: the first time you connect, your MCP client opens a browser window to sign in and authorize access, then reuses the credentials for future sessions.
4
Which transport does the Companero – Romanian Company Data MCP server use?
Companero – Romanian Company Data exposes a Streamable HTTP endpoint, the transport used by remote MCP servers and supported by all major MCP clients.
Comments