companyiq-mcp
服务介绍
CompanyIQ MCP Server
Norwegian Company Intelligence Platform powered by MCP. Provides comprehensive business intelligence, market analysis, and competitive insights using data from Brnnysund and SSB (Statistics Norway).
Features
- Company Search: Find companies by industry, size, location
- Growth Analysis: Identify high-growth companies with SSB benchmarks
- Ownership Mapping: Analyze ownership structures
- Board Tracking: Track board composition and leadership
- Financial Analysis: AUTOMATIC FETCH from Regnskapsregisteret API - NO manual download!
- Market Landscape: Competitive landscape analysis with SSB industry statistics
- Consolidation Trends: M&A and market concentration analysis with SSB data
- Economic Context: Macro-economic statistics and industry trends from SSB
- Auto-Fetch Financials: Automatically download financial statements from Brnnysund API (2018+)
- Auto-Scrape ALL Years: Headless browser automation downloads and parses ALL historical PDFs (60s)
- Manual Data Import: Import financial data from CSV/JSON files (fallback/bulk)
- Universal Search: Search ANY Norwegian company by name - full registry access!
Installation
1. Install Dependencies
npm install
2. Configure Environment
Create .env:
BRREG_API_BASE_URL=https://data.brreg.no/enhetsregisteret/api
SSB_API_BASE_URL=https://data.ssb.no/api/pxwebapi/v2
API_USERNAME=josue
CACHE_TTL_HOURS=24
3. Build
npm run build
4. Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"companyiq": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/companyiq-mcp/build/index.js"]
}
}
}
Important: Replace /ABSOLUTE/PATH/TO/ with the actual absolute path to your project directory.
5. Restart Claude Desktop
Usage Examples
Company Search
Finn alle IT-selskaper i Bergen med over 50 ansatte
Growth Analysis
Hvilke selskaper i IT-bransjen vokser kraftigst i Norge?
Ownership Analysis
Analyser eierstrukturen til Equinor (org.nr 923609016)
Market Landscape
Gi meg en oversikt over alle aktrer i norsk fintech (NACE 64)
Board Tracking
Hvem sitter i styret til DNB?
Financial Analysis
Vurder konkursrisikoen for selskap med org.nr 123456789
Data Sources
-
Brnnysund Enhetsregisteret: Norwegian company registry (company data, ownership, board members)
-
SSB (Statistisk sentralbyr): Statistics Norway - Enhanced with real-time data fetching
- Real data extraction from SSB tables (not just metadata)
- Trend analysis with automatic growth calculations
- Time-series data with historical tracking
- Smart filtering by NACE code, region, and time period
- Intelligent caching for 40-60x performance improvement
Available Data:
- High-growth enterprises ("gaseller") with trend analysis (2006-2023)
- Employment data by industry with growth metrics
- Production and income by sector
- Innovation statistics
- New enterprise formations
- Regional statistics
-
Local SQLite cache: Enhanced with SSB response caching
- Company data cache
- Market analysis cache
- NEW: SSB data cache with filter-aware storage
- Automatic TTL-based expiration (24 hours default)
Architecture
companyiq-mcp/
src/
tools/ # MCP tool implementations
apis/ # API clients
analytics/ # Business logic
database/ # Data layer
index.ts # Main server
data/
companies.db # SQLite cache
Available Tools
1. get_company NEW
Get complete information about a specific company. Always fetches fresh data from Brnnysund.
Parameters:
org_nr(optional): Organization number (9 digits)name(optional): Company name
Example:
Get company Telenor
Get company 923609016
Returns: Complete company profile with all available data (employees, addresses, NACE codes, status, etc.)
2. search_companies (ENHANCED)
Search for Norwegian companies by name, industry, size, region. Now searches entire Brnnysund registry!
Parameters:
industry(optional): NACE code (e.g., '62' for IT)name(optional): Company name or part of name ** NOW WORKS!**region(optional): Region/municipalitymin_employees(optional): Minimum number of employeesmax_employees(optional): Maximum number of employeesexclude_bankrupt(optional): Exclude bankrupt companies ** DEFAULT: true**limit(optional): Max results (default: 50)
Konkurs Filtering:
- Default: Automatically excludes bankrupt/liquidated companies
- Set
exclude_bankrupt: falseto include all companies - Uses API
&konkurs=falseparameter for accurate filtering
Enhanced: Now automatically searches Brnnysund API by name if database has few results. Access to all 500,000+ Norwegian companies!
2. analyze_growth
Identify high-growth companies in an industry or region with SSB benchmark data.
Parameters:
industry(optional): NACE coderegion(optional): Region/countymin_growth_percent(optional): Minimum growth percentage (default: 20)time_period(optional): 1_year, 3_years, or 5_years (default: 3_years)limit(optional): Number of results (default: 50)
SSB Integration: Compares company growth against SSB high-growth enterprise statistics.
3. analyze_ownership
Analyze ownership structure and subsidiaries.
Parameters:
org_nr(required): Organization number (9 digits)include_subunits(optional): Include subsidiaries (default: true)depth(optional): Depth in ownership tree (default: 2)
4. track_board
Track board composition and leadership.
Parameters:
org_nr(optional): Organization numbercompany_name(optional): Company name (alternative to org_nr)person_id(optional): Person ID to find all boards a person sits on
5. analyze_financials
Financial analysis and bankruptcy risk assessment based on available public data.
** Important:** This tool does NOT have access to financial statements (revenue, profit, assets). It analyzes based on:
- Company status (bankruptcy, liquidation)
- Employee trends (if data available)
- Registration status
- Sample/estimated data in database
For real financial data: Use Proff.no or similar commercial services.
Parameters:
org_nr(required): Organization numberinclude_risk_assessment(optional): Include bankruptcy risk analysis (default: true)
6. market_landscape
Analyze competitive landscape in an industry with SSB industry statistics.
Parameters:
industry(required): NACE code (e.g., '62' for IT)region(optional): Region/countyinclude_stats(optional): Include SSB statistics (default: true)limit(optional): Max number of companies (default: 100)
SSB Integration:
When include_stats=true, enriches analysis with:
- Employment statistics by industry
- Production and income data
- High-growth enterprise benchmarks
- New enterprise formation trends
7. consolidation_trends
Analyze consolidation trends and M&A activity with SSB high-growth statistics.
Parameters:
industry(required): NACE codetime_period(optional): 1_year, 3_years, or 5_years (default: 3_years)region(optional): Region/county
SSB Integration: Includes high-growth enterprise statistics for context.
8. economic_context
Get comprehensive economic context and macro statistics from SSB (Statistics Norway).
Parameters:
industry(optional): NACE code for specific industryregion(optional): Region/countyinclude_innovation(optional): Include innovation statistics (default: false)
Returns:
- High-growth enterprises statistics by industry
- New enterprise formations (quarterly updates)
- Employment data by industry sector
- Production and income statistics (1970-2024)
- Economic indicators
- Innovation statistics (if requested)
Example:
Get economic context for IT sector (NACE 62) with innovation data
Enhanced Features:
- Real-time data fetching from SSB tables
- Automatic trend analysis (increasing/decreasing/stable)
- Time-series visualization data
- Cache indicators ( = cached, = fresh)
- Percentage change calculations
- Period-over-period growth rates
9. fetch_financials BREAKTHROUGH
FULLY AUTOMATED financial data fetching from Brnnysund Regnskapsregisteret API!
Parameters:
org_nr(required): Organization numberauto_import(optional): Auto-save to database (default: true)
Example:
Fetch financials for company 893905952
Auto-fetch financial data for Equinor
What Happens:
- Calls Regnskapsregisteret API (automatic)
- Downloads financial statements (JSON)
- Extracts: Revenue, profit, assets, equity, debt
- Calculates: Profit margin, equity ratio
- Saves to database
- Returns formatted analysis
Time: 3 seconds
Manual work: ZERO
Coverage: Companies with accounts from 2018+
Returns:
- Complete P&L and balance sheet
- Calculated financial ratios
- Ready for immediate analysis
10. get_financial_link FALLBACK
Get direct link and step-by-step guide to download annual accounts from Brnnysund (FREE).
Parameters:
org_nr(required): Organization numberyear(optional): Specific accounting year
Example:
Get financial link for 923609016
Get financial link for Equinor
Returns:
- Direct clickable link to company's Brnnysund page
- Step-by-step download instructions
- What to extract from PDF
- Pre-formatted import command
Perfect starting point before importing financial data!
10. import_financials
Manually import financial data for a single company.
Parameters:
org_nr(required): Organization numberyear(required): Accounting year (e.g., 2023)revenue(optional): Revenue in NOKprofit(optional): Profit in NOKassets(optional): Total assets in NOKequity(optional): Total equity in NOKemployees(optional): Employee count for that yearsource(optional): Data source (default: "manual")
Example:
Import financial data for Equinor (923609016):
Year: 2023
Revenue: 1150000000000
Profit: 85000000000
Assets: 950000000000
10. import_financials_from_file
Bulk import financial data from CSV or JSON file.
Parameters:
file_path(required): Absolute path to fileformat(required): "csv" or "json"
CSV Format:
org_nr,year,revenue,profit,assets,equity,employees,source
123456789,2023,1500000,75000,600000,250000,15,bronnoysund
See: MANUAL_IMPORT_GUIDE.md for complete guide and templates in templates/ folder.
13. auto_scrape_financials ULTIMATE AUTOMATION
100% AUTOMATIC multi-year financial data using headless browser + PDF parsing!
Parameters:
org_nr(required): Organization numberauto_import(optional): Auto-save to database (default: true)use_api_first(optional): Try API first for latest year (default: true)
Example:
Auto-scrape financials for company 999059198
Get all financial years automatically for Equinor
What Happens:
- Launches headless Chrome browser
- Navigates to virksomhet.brreg.no automatically
- Finds ALL "Innsendt rsregnskap" links (2024, 2023, 2022...)
- Downloads ALL PDF files
- Parses each PDF and extracts financial data
- Saves ALL years to database
- Calculates multi-year growth trends
Time: 45-60 seconds
Manual work: ZERO
Coverage: ALL available years (typically 2018-2024)
Accuracy: 80-90% (PDF parsing dependent)
Returns:
- Complete multi-year financial data
- Growth trends (CAGR, year-over-year)
- Historical overview
- All saved to database
Note: Requires Puppeteer (included). First run downloads Chromium (~170MB one-time).
14. build_financial_history SMART HELPER
Smart helper for building complete financial history.
Parameters:
org_nr(required): Organization numberyears_needed(optional): Total years desired (default: 5)
Use when: auto_scrape_financials has issues or you want guaranteed accuracy.
15. search_bankrupt_companies FILTERING
Search specifically for companies in bankruptcy or liquidation. Useful for market risk analysis and M&A opportunities.
Parameters:
industry(optional): NACE code for industryregion(optional): Region/municipalitylimit(optional): Max results (default: 50)
Example:
Search bankrupt IT companies
Find companies in bankruptcy in Oslo
Show konkurs companies in construction sector
Use Cases:
- Market risk assessment
- Identify struggling competitors
- M&A opportunities (asset deals)
- Industry health analysis
Returns:
- List of bankrupt/liquidated companies
- Status indicators ( KONKURS, AVVIKLING)
- Company details
Common NACE Codes
- 62: Information technology
- 64: Financial services
- 70: Management consulting
- 71: Architecture and engineering
- 45: Construction
- 46: Wholesale trade
- 47: Retail trade
- 56: Food and beverage services
Development
npm run watch
Important Data Limitations
What CompanyIQ Provides
- Company Information: Name, org number, addresses, contact info
- Employee Counts: Real employee numbers from NAV registry
- Industry Classification: Full NACE codes with descriptions
- Company Status: Bankruptcy, liquidation, registration status
- Organizational Structure: Subunits, subsidiaries (35+ for Equinor)
- SSB Statistics: Industry trends, high-growth stats, employment data
- Market Analysis: Company discovery, competitive landscape
What CompanyIQ Does NOT Provide
- Financial Statements: NO revenue, profit, assets, equity data
- Credit Ratings: Not available from public APIs
- Detailed Financials: Balance sheets, P&L, cash flow
- Multi-year Financials: Historical financial comparisons
Why the Limitation?
The public Brnnysund Enhetsregisteret API is a company registry, not a financial database. While a Regnskapsregisteret (Accounting Registry) API exists for financial data, it appears to:
- Require special access
- Have undocumented endpoints
- Be in "preview" status
For Real Financial Data:
- Manual Import - Download free from Brnnysund, import to CompanyIQ (see
MANUAL_IMPORT_GUIDE.md) - Proff.no - Commercial API with complete financials
- Bisnode - Credit ratings and financial data
See FINANCIAL_DATA_GUIDE.md for detailed alternatives.
NEW: Automated Financial Workflow
Don't want to pay for Proff.no? No problem!
The 3-Step Process:
- Use
get_financial_linkto get the download link - Click link Download FREE from Brnnysund
- Use
import_financialsto import the data - Full financial analysis with REAL data!
See: FINANCIAL_WORKFLOW.md for complete guide (5 minutes per company)
What Works Great:
- Company search and discovery
- Industry analysis with SSB data
- Market intelligence
- Employee-based growth tracking
- Competitive landscape analysis
Bottom Line: CompanyIQ excels at market intelligence and company discovery, but requires commercial services for detailed financial analysis.
License
MIT
Author
Built with Claude Code