Skip to main content
Glama

Găsește firme după criterii (CAEN, județ, localitate, mărime…)

prospecteaza_firme
Read-only

Listă de firme românești filtrate după domeniu (cod CAEN, prefix acceptat — „41” = construcții), județ și localitate (diacriticele nu contează), formă juridică (SRL/PFA/SA…), benzi de cifră de afaceri și angajați (min/max), înscriere în e-Factura și intervalul datei de înmatriculare („firme noi”), sortate descrescător după cifra de afaceri. Firme și PFA-uri, fără sediile secundare (puncte de lucru cu cod fiscal propriu) și fără date de contact/reprezentanți. Costă 1 credit pe pagina de 25 de firme, debitat doar după ce lista s-a produs; un filtru invalid primește o eroare explicată și nu costă nimic. Ideal pentru lead-gen / cercetare de piață; folosește CUI-urile cu verifica_firma.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "prospecteaza_firme"
  }
}

Input Schema

NameRequiredDescriptionDefault
caenNoCod CAEN sau prefix (ex. „4120” sau „41”).
pageNoPagina (implicit 1).
countyNoJudețul (ex. „Cluj”, „București”).
addressNoText din adresa sediului (stradă sau cod poștal; ONRC abreviază — caută partea distinctivă, ex. „dorobantilor”).
finYearNoAnul de bilanț pe care se aplică pragurile financiare (cifră de afaceri, angajați, evoluție). Implicit: ultimul bilanț al fiecărei firme, dar numai dacă e din ultimul an fiscal publicat sau din cel dinaintea lui; firmele cu bilanț mai vechi nu trec pragurile.
eFacturaNoDoar firme înscrise în RO e-Factura (true) sau doar neînscrise (false).
localityNoLocalitatea (ex. „Cluj-Napoca”; diacriticele nu contează).
legalFormNoForma juridică: SRL, SA, PFA, II, IF, AF, PF, SNC…
activeOnlyNoDoar firme active (exclude insolvență/radiere).
maxTurnoverNoCifra de afaceri maximă (lei) — benzi de mărime.
minTurnoverNoCifra de afaceri minimă (lei).
localityTypeNoMediul: „urban” (municipii, orașe, sectoarele Bucureștiului) sau „rural” (comune, sate).
maxEmployeesNoNumărul maxim de angajați; 0 = firme fără angajați în bilanț.
minEmployeesNoNumărul minim de angajați.
registeredAfterNoÎnmatriculate la/după data asta (YYYY-MM-DD) — „firme noi”.
registeredBeforeNoÎnmatriculate până la data asta — vechime minimă.
turnoverGrowthPctNoEvoluția cifrei de afaceri față de anul precedent, în %: pozitiv = creștere minimă (ex. 20), negativ = scădere minimă (ex. −30 pentru prăbușiri).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / maxEmployees / description
      Previous value: -"Numărul maxim de angajați."New value: +"Numărul maxim de angajați; 0 = firme fără angajați în bilanț."
  2. Changed1 schema field changed
    • changedInput schema / properties / finYear / description
      Previous value: -"Anul de bilanț pe care se aplică pragurile financiare (implicit: ultimul bilanț al fiecărei firme)."New value: +"Anul de bilanț pe care se aplică pragurile financiare (cifră de afaceri, angajați, evoluție). Implicit: ultimul bilanț al fiecărei firme, dar numai dacă e din ultimul an fiscal publicat sau din cel dinaintea lui; firmele cu bilanț mai vechi nu trec pragurile."
  3. First observed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations: discloses the credit cost model (1 credit per 25-firm page, debited only after the list is produced, invalid filters are free), the exclusion of secondary offices with own tax code, and the absence of contact/representative data. It also states the default sort (descending turnover), which the agent needs to interpret results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: capability first, then scope restrictions, then cost, then usage. The opening sentence is very long and packs many filters, but every clause carries information and nothing is redundant padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 17-parameter, zero-required tool with no output schema, the description covers filtering scope, exclusions, sort order, paging cost and error behavior. It stops short of describing the returned record shape (which fields per firm), a gap that matters more here because no output schema exists to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds genuine meaning by explaining CAEN prefix semantics ("41" = construcții), diacritic-insensitive matching, and that registeredAfter expresses "firme noi". It does not add semantics for parameters not already well documented in the schema, but the value-add on the trickiest filters is real.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with a specific verb and resource (listă de firme românești) and enumerates the filter dimensions it operates on (CAEN, județ, localitate, formă juridică, turnover/angajați, e-Factura, dată înmatriculare), so an agent immediately knows this is a filtered firm-search tool. It does not contrast itself with the sibling cauta_firma, which is presumably the name-based lookup, so the differentiation is only partial.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly frames the use case ("Ideal pentru lead-gen / cercetare de piață") and gives a follow-up route ("folosește CUI-urile cu verifica_firma"). It lacks an explicit when-not clause, e.g. that a known company name should go to cauta_firma instead, so the alternative branching is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources