get_sub_entity
Retrieve detailed information about specific Norwegian business sub-entities using their 9-digit organization number to access corporate structure and governance data from the national registry.
Instructions
Get detailed information about a specific Norwegian business sub-entity
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| organisasjonsnummer | Yes | 9-digit organization number |
Input Schema (JSON Schema)
{
"properties": {
"organisasjonsnummer": {
"description": "9-digit organization number",
"type": "string"
}
},
"required": [
"organisasjonsnummer"
],
"type": "object"
}
Implementation Reference
- src/brreg-mcp-server.ts:95-97 (handler)Core implementation of get_sub_entity: fetches sub-entity data from BRREG API endpoint using makeRequest helper.async getSubEntity(orgNumber: string) { return this.makeRequest(`/enhetsregisteret/api/underenheter/${orgNumber}`); }
- src/brreg-mcp-server.ts:448-458 (handler)MCP server CallTool handler for get_sub_entity: extracts org number from arguments, calls BrregApiClient.getSubEntity, formats and returns JSON response.case "get_sub_entity": const { organisasjonsnummer: subOrgNum } = request.params.arguments as { organisasjonsnummer: string }; const subEntity = await apiClient.getSubEntity(subOrgNum); return { content: [ { type: "text", text: JSON.stringify(subEntity, null, 2), }, ], };
- src/brreg-mcp-server.ts:261-271 (schema)Tool registration including name, description, and input schema definition for get_sub_entity.{ name: "get_sub_entity", description: "Get detailed information about a specific Norwegian business sub-entity", inputSchema: { type: "object", properties: { organisasjonsnummer: { type: "string", description: "9-digit organization number" } }, required: ["organisasjonsnummer"] } },
- src/brreg-mcp-server.ts:177-397 (registration)Registration of all tools list including get_sub_entity via ListToolsRequestSchema handler.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: "search_entities", description: "Search for Norwegian business entities (hovedenheter) with various filters", inputSchema: { type: "object", properties: { navn: { type: "string", description: "Entity name (1-180 characters)" }, navnMetodeForSoek: { type: "string", enum: ["FORTLOEPENDE"], description: "Search method for name parameter" }, organisasjonsnummer: { type: "array", items: { type: "string" }, description: "List of organization numbers (9 digits)" }, overordnetEnhet: { type: "string", description: "Parent entity organization number" }, fraAntallAnsatte: { type: "number", description: "Minimum number of employees" }, tilAntallAnsatte: { type: "number", description: "Maximum number of employees" }, konkurs: { type: "boolean", description: "Whether entity is bankrupt" }, registrertIMvaregisteret: { type: "boolean", description: "Registered in VAT registry" }, registrertIForetaksregisteret: { type: "boolean", description: "Registered in business registry" }, registrertIStiftelsesregisteret: { type: "boolean", description: "Registered in foundation registry" }, registrertIFrivillighetsregisteret: { type: "boolean", description: "Registered in voluntary organization registry" }, underTvangsavviklingEllerTvangsopplosning: { type: "boolean", description: "Under forced liquidation" }, underAvvikling: { type: "boolean", description: "Under liquidation" }, underKonkursbehandling: { type: "boolean", description: "Under bankruptcy proceedings" }, organisasjonsform: { type: "array", items: { type: "string" }, description: "Organizational forms" }, hjemmeside: { type: "string", description: "Website" }, kommunenummer: { type: "array", items: { type: "string" }, description: "Municipality numbers" }, naeringskode: { type: "array", items: { type: "string" }, description: "Industry codes" }, size: { type: "number", description: "Page size (default 20)" }, page: { type: "number", description: "Page number" }, sort: { type: "string", description: "Sort field and order (e.g., 'navn,ASC')" } } } }, { name: "get_entity", description: "Get detailed information about a specific Norwegian business entity", inputSchema: { type: "object", properties: { organisasjonsnummer: { type: "string", description: "9-digit organization number" } }, required: ["organisasjonsnummer"] } }, { name: "get_entity_roles", description: "Get all roles for a specific entity", inputSchema: { type: "object", properties: { organisasjonsnummer: { type: "string", description: "9-digit organization number" } }, required: ["organisasjonsnummer"] } }, { name: "search_sub_entities", description: "Search for Norwegian business sub-entities (underenheter) with various filters", inputSchema: { type: "object", properties: { navn: { type: "string", description: "Sub-entity name (1-180 characters)" }, navnMetodeForSoek: { type: "string", enum: ["FORTLOEPENDE"], description: "Search method for name parameter" }, organisasjonsnummer: { type: "array", items: { type: "string" }, description: "List of organization numbers (9 digits)" }, overordnetEnhet: { type: "string", description: "Parent entity organization number" }, fraAntallAnsatte: { type: "number", description: "Minimum number of employees" }, tilAntallAnsatte: { type: "number", description: "Maximum number of employees" }, registrertIMvaregisteret: { type: "boolean", description: "Registered in VAT registry" }, fraOppstartsdato: { type: "string", description: "Start date from (ISO-8601 yyyy-MM-dd)" }, tilOppstartsdato: { type: "string", description: "Start date to (ISO-8601 yyyy-MM-dd)" }, fraDatoEierskifte: { type: "string", description: "Ownership change date from (ISO-8601 yyyy-MM-dd)" }, tilDatoEierskifte: { type: "string", description: "Ownership change date to (ISO-8601 yyyy-MM-dd)" }, fraNedleggelsesdato: { type: "string", description: "Closure date from (ISO-8601 yyyy-MM-dd)" }, tilNedleggelsesdato: { type: "string", description: "Closure date to (ISO-8601 yyyy-MM-dd)" }, organisasjonsform: { type: "array", items: { type: "string" }, description: "Organizational forms" }, hjemmeside: { type: "string", description: "Website" }, kommunenummer: { type: "array", items: { type: "string" }, description: "Municipality numbers" }, naeringskode: { type: "array", items: { type: "string" }, description: "Industry codes" }, size: { type: "number", description: "Page size (default 20)" }, page: { type: "number", description: "Page number" }, sort: { type: "string", description: "Sort field and order" } } } }, { name: "get_sub_entity", description: "Get detailed information about a specific Norwegian business sub-entity", inputSchema: { type: "object", properties: { organisasjonsnummer: { type: "string", description: "9-digit organization number" } }, required: ["organisasjonsnummer"] } }, { name: "get_organizational_forms", description: "Get all organizational forms used in the Norwegian business registry", inputSchema: { type: "object", properties: { sort: { type: "string", description: "Sort order (ASC/DESC)" }, size: { type: "number", description: "Page size" }, page: { type: "number", description: "Page number" } } } }, { name: "get_organizational_form", description: "Get information about a specific organizational form", inputSchema: { type: "object", properties: { organisasjonskode: { type: "string", description: "Organizational form code (e.g., 'AS', 'ASA')" } }, required: ["organisasjonskode"] } }, { name: "get_municipalities", description: "Get all Norwegian municipalities", inputSchema: { type: "object", properties: { sort: { type: "string", description: "Sort order" }, size: { type: "number", description: "Page size" }, page: { type: "number", description: "Page number" } } } }, { name: "get_municipality", description: "Get information about a specific Norwegian municipality", inputSchema: { type: "object", properties: { kommunenummer: { type: "string", description: "4-digit municipality number (e.g., '0301' for Oslo)" } }, required: ["kommunenummer"] } }, { name: "get_entity_updates", description: "Get updates on entities for maintaining a local copy of the registry", inputSchema: { type: "object", properties: { dato: { type: "string", description: "Show updates from this timestamp (ISO-8601)" }, oppdateringsid: { type: "string", description: "Show updates from this update ID" }, organisasjonsnummer: { type: "array", items: { type: "string" }, description: "Filter by organization numbers" }, page: { type: "number", description: "Page number" }, size: { type: "number", description: "Page size (default 20, max 10000)" }, sort: { type: "string", description: "Sort by ID (ASC/DESC)" } } } }, { name: "get_sub_entity_updates", description: "Get updates on sub-entities for maintaining a local copy of the registry", inputSchema: { type: "object", properties: { dato: { type: "string", description: "Show updates from this timestamp (ISO-8601)" }, oppdateringsid: { type: "string", description: "Show updates from this update ID" }, organisasjonsnummer: { type: "array", items: { type: "string" }, description: "Filter by organization numbers" }, page: { type: "number", description: "Page number" }, size: { type: "number", description: "Page size (default 20, max 10000)" }, sort: { type: "string", description: "Sort by ID (ASC/DESC)" } } } }, { name: "get_role_updates", description: "Get role updates for entities", inputSchema: { type: "object", properties: { afterTime: { type: "string", description: "Get events after this timestamp (ISO-8601)" }, afterId: { type: "number", description: "Get events after this ID" }, organisasjonsnummer: { type: "array", items: { type: "string" }, description: "Filter by organization numbers" }, size: { type: "number", description: "Number of events to retrieve (default 100, max 10000)" } } } }, { name: "search_voluntary_organizations", description: "Search voluntary organizations in the voluntary organization registry", inputSchema: { type: "object", properties: { searchAfter: { type: "string", description: "Search after this organization number for pagination" }, size: { type: "number", description: "Maximum number of organizations (default 100)" }, spraak: { type: "string", description: "Language for code descriptions (e.g., 'NOB')" } } } }, { name: "get_voluntary_organization", description: "Get detailed information about a specific voluntary organization", inputSchema: { type: "object", properties: { organisasjonsnummer: { type: "string", description: "9-digit organization number" }, spraak: { type: "string", description: "Language for code descriptions (e.g., 'NOB')" } }, required: ["organisasjonsnummer"] } }, { name: "get_icnpo_categories", description: "Get ICNPO (International Classification of Non-Profit Organisation) categories", inputSchema: { type: "object", properties: { spraak: { type: "string", description: "Language for descriptions (e.g., 'NOB')" } } } } ], }; });