Skip to main content
Glama
josuekongolo

CompanyIQ MCP Server

by josuekongolo
test-database-saving.jsβ€’4.26 kB
import { CompanyDatabase } from './build/database/db.js'; import { BrregClient } from './build/apis/brreg.js'; console.log('πŸ§ͺ Testing Database Saving Functionality'); console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'); const db = new CompanyDatabase(); const brreg = new BrregClient(); // Test company org number const testOrgNr = '984562861'; console.log(`πŸ“Š Checking financial data for company ${testOrgNr}...\n`); // Get company info let company = db.getCompany(testOrgNr); if (!company) { console.log('Company not in database, fetching from Brreg...'); const brregCompany = await brreg.getCompany(testOrgNr); if (brregCompany) { db.insertOrUpdateCompany({ org_nr: brregCompany.organisasjonsnummer, name: brregCompany.navn, organization_form: brregCompany.organisasjonsform?.beskrivelse, nace_code: brregCompany.naeringskode1?.kode, employees_count: brregCompany.antallAnsatte, last_updated: new Date().toISOString() }); company = db.getCompany(testOrgNr); } } if (company) { console.log(`βœ… Company: ${company.name}`); console.log(` Org nr: ${company.org_nr}`); console.log(` Industry: ${company.nace_description || company.nace_code || 'Unknown'}\n`); } // Check what financial data is in the database console.log('πŸ’Ύ Checking database for financial snapshots...'); try { const stmt = db.db.prepare(` SELECT year, revenue, profit, assets, equity, source, fetched_at FROM financial_snapshots WHERE org_nr = ? ORDER BY year DESC `); const financialData = stmt.all(testOrgNr); if (financialData.length === 0) { console.log('❌ No financial data found in database\n'); console.log('πŸ’‘ To add data:'); console.log(' 1. Run auto_scrape_financials through MCP'); console.log(' 2. Or run: node test-browser-scraper.js'); } else { console.log(`βœ… Found ${financialData.length} years of financial data:\n`); console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); console.log('Year | Revenue | Profit | Source'); console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); for (const row of financialData) { const revenue = row.revenue ? (row.revenue/1000000).toFixed(1) + 'M' : 'N/A'; const profit = row.profit ? (row.profit/1000000).toFixed(1) + 'M' : 'N/A'; console.log(`${row.year} | ${revenue.padEnd(12)} | ${profit.padEnd(12)} | ${row.source}`); } console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); // Show summary const yearsWithData = financialData.filter(d => d.revenue !== null || d.profit !== null); const sources = [...new Set(financialData.map(d => d.source))]; console.log('\nπŸ“Š Summary:'); console.log(` Total years: ${financialData.length}`); console.log(` Years with data: ${yearsWithData.length}`); console.log(` Data sources: ${sources.join(', ')}`); // Check most recent entry const latest = financialData[0]; console.log('\nπŸ” Latest entry details:'); console.log(` Year: ${latest.year}`); console.log(` Revenue: ${latest.revenue ? (latest.revenue/1000000).toFixed(1) + 'M NOK' : 'Not available'}`); console.log(` Profit: ${latest.profit ? (latest.profit/1000000).toFixed(1) + 'M NOK' : 'Not available'}`); console.log(` Assets: ${latest.assets ? (latest.assets/1000000).toFixed(1) + 'M NOK' : 'Not available'}`); console.log(` Equity: ${latest.equity ? (latest.equity/1000000).toFixed(1) + 'M NOK' : 'Not available'}`); console.log(` Source: ${latest.source}`); console.log(` Saved at: ${latest.fetched_at}`); } } catch (error) { console.error('❌ Database query failed:', error); } console.log('\nβœ… Database test complete!'); // Close database db.close();

Latest Blog Posts

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/josuekongolo/companyiq-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server