Firmaradar
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIRMARADAR_API_KEY | Yes | Your API key from firmaradar.no/min-side/api-keys | |
| FIRMARADAR_API_BASE | No | Base URL for the Firmaradar API | https://firmaradar.no |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| firmaradar_search_companiesA | Search Norwegian companies with filters (name, NACE, location, status, employees, revenue range, founding date). Returns paginated list of candidate orgnr to investigate further. Use when you have a description and need to find matching companies; use |
| firmaradar_get_companyA | Fetch the full profile for one Norwegian company by orgnr: name, group structure, ownership data, grants, recent BRREG announcements and financial metrics. Opt-in |
| firmaradar_get_company_ipA | Intellectual-property portfolio for a Norwegian company (by orgnr), sourced from Patentstyret: patents, trademarks and designs — totals, active counts, and a list of individual rights (registration number, date, status, expiry date where applicable, title and a link to the Patentstyret case). Use this for ANY question about a company's patents, trademarks, designs or IP rights — Firmaradar covers this. The |
| firmaradar_get_company_ownershipA | Get the ownership tree for a Norwegian company: who they own (direction=down), who owns them (direction=up / UBO), or both. Use when the user asks 'who owns X AS?' or to map a corporate group. Ownership comes from Skatteetaten's Aksjeeierbok (the official shareholder register) and reflects the latest filed holdings. The result contains ownership edges, percentages and company identifiers for the requested traversal direction. |
| firmaradar_get_company_rolesA | List board members, daglig leder, signature holders, prokura and revisor for a Norwegian company. Set include_historic=true for people who previously held roles. Use when the user asks 'who runs X AS?' or 'who is on the board?' Roles come live from BRREG (the official enterprise register) and include role type and available appointment or resignation dates. |
| firmaradar_get_company_financialsA | Fetch the last N years (default 5) of financial metrics for a Norwegian company: revenue, operating result, equity, debt, employees. Use when the user asks 'how is X AS doing financially?' or 'show me the revenue trend'. Figures come from the official annual accounts filed with BRREG. Amounts are in the company's reporting currency — check the |
| firmaradar_get_company_announcementsA | List BRREG kunngjøringer (official announcements) for a Norwegian company: bankruptcy, mergers, demergers, ownership changes, address changes, etc. Free-text fields are wrapped in tags to prevent prompt injection from BRREG-sourced text. |
| firmaradar_search_personsA | Search for Norwegian persons in the shareholder/role-holder dataset by name. PII-sensitive — requires the search_full_enabled tier. Returns separate shareholder and role-holder hit lists with stable IDs that can be passed to |
| firmaradar_get_personA | Aggregated person profile: name, birth year, active roles, shareholdings and any AML/PEP risk hits. Also returns |
| firmaradar_get_person_rolesA | List all company roles (styreleder, daglig leder, etc.) held by a person, current and historic. Use when the user asks 'what roles does Person A hold?' Pass the role_person_id returned by |
| firmaradar_get_person_companiesA | List all Norwegian companies where the given person holds shares. Use when the user asks 'what does Person A own?' Pass the owner_person_key returned by |
| firmaradar_get_company_signalsA | Aggregated risk and growth signals for one company: bankruptcy/distress score, capital-loss flags, M&A interim-balance signals, KYC announcement anomalies, NAV hiring/growth signal, and merger/demerger (fusjon/fisjon) relations plus authoritative voluntary-org (Frivillighetsregister) status. Use as the second step after |
| firmaradar_check_aml_pepA | Screen ONE natural PERSON's full name against sanctions (OFAC, EU, UN) and PEP lists. IMPORTANT — this is a PERSON tool only. Do NOT pass a company name, an organisation number (orgnr), or any non-person string here. For company-level AML risk use |
| firmaradar_check_konkurs_eksponeringA | Screen a person by NAME for bankruptcy exposure ('konkursgjenganger'): leadership roles (chair / managing director) held in companies that later went bankrupt, tenure-weighted, from the dated role history. Use this for HISTORICAL leaders who are no longer in any role index and so cannot be reached via search_persons/get_person. The match is name-based (no national ID), so a hit is a REVIEW FLAG to verify (birth year / address), not a verdict. PII-sensitive — requires the search_full_enabled tier. |
| firmaradar_get_recent_changesA | List changes (kunngjøringer for companies; role + ownership movements for persons) in the last N days. Use when monitoring a target entity for triggers ('has anything changed for X AS in the last month?'). Pair with |
| firmaradar_list_companies_in_naceA | List Norwegian companies in a specific NACE industry code (or code prefix), optionally filtered by status, kommune and size. Useful for sector analysis ('all active restaurants in Oslo with > 5 employees'). NACE format warning: Use the EU NACE Rev. 2 format with a trailing zero (e.g. |
| firmaradar_find_related_companiesA | Find companies related to the given orgnr via shared persons (board members/shareholders), shared registered address, or shared ultimate owners. Use for cluster analysis, hidden-relation detection in DD, or fraud-pattern research. |
| firmaradar_find_shared_connectionsA | Analyse hidden connections across 2–10 Norwegian companies at once: shared board members/signatories, shared registered address, shared owners or ultimate parent, circular ownership, shared auditor, and companies founded close together in time — returned with weighted risk indicators, an overall risk level (lav/middels/hoy) and a node/edge graph. Use for due-diligence cluster analysis, shell-company / straw-man detection and fraud-pattern research. Requires the customer's koblingsanalyse extension; the company count is capped by their tier. Look up orgnrs via search_companies first. |
| firmaradar_compare_companiesA | Compare key financial metrics of up to 5 Norwegian companies side-by-side across the last N years (default 5). Use for competitor analysis, benchmark research or 'which of these three companies is the strongest?' Amounts are in each company's reporting currency (see the |
| firmaradar_search_announcementsA | Search BRREG kunngjøringer across all Norwegian companies — filter by type (konkurs, fusjon, ...), date range, NACE-code, or location. Use for trend analysis ('all konkurser in restaurant sector last quarter') or radar-style monitoring. |
| firmaradar_get_risk_scoreA | Structured risk score (0-100) with named level (lav/moderat/høy/kritisk) and component breakdown for a Norwegian COMPANY's financial health. Combines distress classification, BRREG status, age, capital signals and other factors into one comparable score. Returns blocked_enk error for sole-proprietorships (ENK). SCOPE: Company financial health only. NOT a personal credit check on owners or officers. For full KYC pre-screening, combine with firmaradar_get_aml_score (PEP/sanctions on key persons). Requires a one-time pre-screening-disclaimer confirmation. If this returns HTTP 403 with error_code |
| firmaradar_check_foretak_i_vanskeligheterA | Assess whether a Norwegian company qualifies as foretak i vanskeligheter (a 'company in difficulty') under NUES criteria a-e. Returns which criteria triggered, the overall distress status, and a data-completeness confidence score — a deterministic distress classification, not a raw registry flag. Use for EU state-aid eligibility, credit assessment, and supplier-risk screening. |
| firmaradar_get_aml_scoreA | Structured COMPANY AML risk score (0-100) with named level (low/medium/high), by orgnr. This is the primary tool for 'what is the AML risk / AML score of company X'. Call it ONCE per company — it ALREADY screens the company's key persons and beneficial owners against PEP and sanctions lists internally and folds that into the score. You normally do NOT need to call |
| firmaradar_get_konsernstotteA | Tree-structured overview of public grants (Innovasjon Norge, SkatteFUNN, BRREG støtteregister, Prosjektbanken) for a Norwegian company and its konsern. Returns |
| firmaradar_start_aml_reportA | Start generating an AML risk report ASYNCHRONOUSLY for a Norwegian company. Returns immediately with a report_id and status 'pending' — the report is built in the background. Poll |
| firmaradar_get_aml_reportA | Poll the status and result of an asynchronous AML report started with |
| firmaradar_confirm_risk_score_disclaimerA | Confirm the pre-screening disclaimer required by firmaradar_get_risk_score. This is a one-time confirmation per Firmaradar user (not per agent and not per call); it is permanent and audit-logged. Requires an OAuth token tied to a user whose plan has risk scoring enabled. Idempotent — if the user has already confirmed, the existing confirmation is returned (same audit_id). The confirmation declares that risk scoring is used only for legitimate purposes (KYC, credit pre-screening, due diligence, supplier screening) and NOT as a substitute for a formal credit assessment or an automated adverse decision. The disclaimer text and version are embedded in this tool and sent to the backend as an explicit string match, so an agent cannot confirm a version it has not seen. Call this tool only when the user has explicitly instructed you to confirm the disclaimer on their behalf. |
| firmaradar_check_fiv_bulkA | Bulk-endpoint for portfolio-screening of 'foretak i vanskeligheter' (financially distressed companies per NUES rules a-e). Max 50 orgnr per call. Each orgnr counts as one unit against your quota. Compliance-gates (ENK blocking, invalid orgnr) are returned per orgnr in the result list instead of failing the whole call — check each result's |
| firmaradar_get_risk_score_bulkA | Bulk-endpoint for portfolio-screening of risikoscore (0-100 with named level lav/moderat/høy/kritisk + component breakdown) on up to 50 Norwegian companies in one call. Each orgnr counts as one unit against your quota. Compliance-gates (ENK/NUF blocking, customer-confirmation required, extension disabled) are returned per orgnr in the result list instead of failing the whole call — check each result's |
| firmaradar_convert_nokA | Convert a NOK amount to a foreign currency (EUR, USD, GBP, SEK, DKK) using daily exchange rates from Norges Bank (the Norwegian central bank). Firmaradar's financial figures are reported in NOK; use this to express them in another currency for international workflows. The NOK original is always preserved in the response. Omit amount_nok to fetch just the current rate. |
| firmaradar_list_nace_codesA | Search and browse the Norwegian NACE industry-code catalogue. Use this to resolve the exact code before calling subscribe_nace (industry monitoring) or list_companies_in_nace. Free-text search with |
| firmaradar_subscribe_naceA | Subscribe to industry (NACE) monitoring: when any Norwegian company in the chosen industry triggers a monitored event (new announcement, status change such as bankruptcy/dissolution, or ownership update), Firmaradar delivers a webhook to your URL. Use list_nace_codes first to resolve the exact code. A subscription on a parent code matches all child codes. Restrict |
| firmaradar_list_my_subscriptionsA | List the NACE industry-monitoring subscriptions of the authenticated Firmaradar user (created via subscribe_nace or the portal). Returns each subscription's id, NACE code, webhook URL, event filters, aggregation mode, geographic/size filters and active state. Use the returned |
| firmaradar_delete_subscriptionA | Delete one NACE industry-monitoring subscription by its id (from list_my_subscriptions); Firmaradar then stops delivering webhooks for that industry. The subscription must belong to the authenticated user. Idempotent — deleting an id that is already gone returns already_absent=true rather than an error. Reversible only by re-subscribing. Call only when the user has asked to stop monitoring an industry. |
| firmaradar_add_company_monitoringA | Add a Norwegian company (by 9-digit orgnr) to the user's company-monitoring list. The user is then alerted when announcements, status changes (bankruptcy/dissolution), ownership changes or new public grants are registered for that company. New targets monitor ALL announcement categories by default; keep ip_alerts=true (default) to also turn on IP-change alerts when the account has the IP-monitoring add-on, or set ip_alerts=false to skip them. 409 if already monitored (idempotent — no duplicate). 403 (monitoring_cap_reached) if the account's company has hit its per-company monitoring cap — tell the user to contact Firmaradar to expand it. Requires a user whose plan has Firmaovervakning enabled. Call only when the user has asked to monitor a specific company. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tiwas/firmaradar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server