romania-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| company_lookupA | Official status of Romanian companies from ANAF's public registry: name, address, registration number (J...), CAEN code, registration date, whether it's deregistered (radiată), VAT registered (and since when), VAT on collection, split VAT, declared fiscally inactive, and in the RO e-Factura registry. Each company comes with a 'warnings' list (deregistered, fiscally inactive, suspended). Use it to vet suppliers or clients, e.g. checking a list of suppliers for fiscally inactive ones, since buyers generally can't deduct expenses or VAT on their invoices. Only searches by CUI, not by name. CUIs with a wrong control digit are returned under 'invalid' without asking ANAF. ANAF allows about one request per second, so every 100 CUIs take a second. Cached for 6h. |
| company_financialsA | Financial statements a Romanian company filed with ANAF, year by year: revenue (cifra de afaceri), total income and expenses, net profit or loss (net_result), average employees, debts, equity, cash, receivables, inventory and fixed assets. Amounts are in RON. Years with nothing filed are marked filed=false. Use it to see if a company is real and how it's doing: a shop with zero revenue and no employees, or with negative equity, is worth a closer look. Banks and insurers file a different layout, their lines come through under 'other'. Data starts around 2020 for some companies. Takes about a second per year. Cached for 24h. |
| court_casesA | Court cases from Portal Just, the public portal of every Romanian court: case number, court, category (civil, criminal, insolvency...), stage, subject, parties and their roles, latest outcome and next hearing. For a party it also counts its roles (defendant, creditor...) and lists insolvency cases where it's the debtor, the strongest red flag for a company. Prefer cui for companies: the portal has no fiscal codes, so a name search also returns other companies with similar names. A big company being creditor or plaintiff in many cases is normal, look at the roles. Portal Just caps a search at 1000 cases. Usually answers in 1-5s. Cached for 3h. |
| exchange_rateA | Official National Bank of Romania (BNR) reference rate: how many RON one unit of a currency is worth on a day, and optionally an amount converted to RON. rate_date is the day of the fixing that was used. BNR publishes once per working day around 13:00. For a VAT invoice in foreign currency the usual rule is the last rate published before the invoice date, so ask for the day before. Cached for 1h (past years for 30 days). |
| shop_checkA | Is an online shop legit? Reads the CUI off the site (homepage, then terms / contact pages), then checks the company at ANAF, its last two years of financials, insolvency and other cases on Portal Just, and how long the site has been online (Wayback Machine). Returns a risk level (high / medium / low / unknown) with red_flags, warnings and good_signs, plus all the data behind them. Use this first for "e țeapă?" questions, then the other tools to dig deeper. The result is signals, not proof: a scam can copy a real company's CUI, which is why it checks that the company name appears on the site. Fetches a few pages of the shop like a browser would. Takes 5-20s. |
| iban_checkA | Check that an IBAN is well formed (length and mod-97 check digits, catches typos) and, for Romanian IBANs, which bank issued it and whether it's a State Treasury account. Works for any country's IBAN, offline, nothing is sent anywhere. A valid IBAN only means the number is well formed: it doesn't prove the account exists or who owns it. Use company_lookup to check the company you're paying. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct domain object: company_financials (filings), company_lookup (registry status), court_cases (litigation), exchange_rate (FX), iban_check (bank validation), and shop_check (composite first-pass). company_financials vs company_lookup could be blurred but the descriptions clearly separate financials from registry/VAT status, and shop_check is explicitly positioned as a wrapper over the others.
All names are consistently snake_case with a domain_entity or verb_noun shape, which reads predictably. There is slight variation between noun_noun (court_cases, exchange_rate) and verb_noun (company_lookup, shop_check, iban_check), but the convention is readable and uniform.
Six tools is well-scoped for a Romanian company-vetting server, with each tool earning a clear place. No redundancy or filler: the composite shop_check and the granular primitives complement rather than duplicate each other.
The surface covers the core vetting lifecycle: identity/status, financials, litigation, FX for invoices, IBAN sanity, and an aggregate risk check. The notable gap is that company_lookup only accepts CUI, so name-based discovery is a dead end (though this is a real ANAF constraint, not a design omission).