Firmafakta
Server Details
Swedish company data: segment companies by industry, place and size, and look up any company.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- firmafakta/mcp
- GitHub Stars
- 0
- Server Listing
- Firmafakta MCP
- ChatGPT
- –
- Claude
- FirmaFakta
TDQS
Scored across 13 tools
Purpose boundaries are mostly crisp: count vs fetch, save vs update, company vs lookup are explicitly differentiated in the descriptions (free/public vs paid/full, single company vs segment rows). The only genuine overlap risk is firmafakta_company vs firmafakta_lookup vs firmafakta_fetch for company data, which the descriptions disambiguate but an agent could still misselect on first read.
All 13 tools share a single firmafakta_ prefix and snake_case style with no camelCase or casing drift. Names are a mix of verb (fetch, count, save, delete, update, find_codes) and noun (company, trademarks, version, annual_report) forms, but each is readable and the convention is stable across the set.
13 tools is well within the ideal range and each maps to a distinct capability: segment lifecycle (save/load/update/delete), query (count/fetch), entity lookup (company/lookup/annual_report/trademarks), and meta (describe/version/find_codes). No filler tools and no single-tool surface.
The saved-segment CRUD lifecycle is fully covered, alongside discovery, counting, paging, code lookup, company/trademark data and metadata. Minor gaps remain, such as no standalone credit/account status or bulk export, but agents can route around these via firmafakta_describe and firmafakta_fetch.
Publisher details
- Operator
- Firmafakta · Publisher source
- Operator website
- https://firmafakta.se
- Vendor relationship
- First-party
- Documentation
- https://firmafakta.se/ai/
- Trust center
- Unknown
- Restrictions
- Free account is available. Account is needed.
Available Tools
13 toolsfirmafakta_annual_reportAnnual report as PDFARead-onlyInspect
Buy a company's annual report from Bolagsverket for one fiscal year, as one PDF with the audit report and the other documents filed for that year. Give org_number and fiscal_year_end, which firmafakta_lookup lists among the company's annual reports. Answers with a link to the PDF that opens once and expires: give it to the user to open, do not open it yourself, or the purchase is used up. Costs the report price in credits (see describe's prices); a fiscal year without a report is refused without charge.
Inputs: org_number (required), fiscal_year_end (required). Returns: url, usage, expires_at
firmafakta_companyCompany facts, freeARead-onlyInspect
Look up a company by org number (with or without hyphen) or find companies by name, free: by org number the company as firmafakta.se's public company page shows it (the free plan's fields), by name the few companies the public search lists, with their org numbers. No credits, within a daily quota; firmafakta_lookup gives everything on a company for credits.
Inputs: query (required). Returns: usage, company, matches
firmafakta_countCount a segmentARead-onlyInspect
How many companies or workplaces match a segment, with the segment read back in words so the user can check it was understood. Count before you fetch: it costs one flat price (see describe's prices) however large the segment, while fetch charges per row. per says what is counted: workplace counts every workplace, company each company once.
Inputs: per (required), segment (required). Returns: unit, count, usage, readback, +2 more
firmafakta_deleteDelete a saved segmentADestructiveIdempotentInspect
Delete a saved segment for good, also from Sparade urval on firmafakta.se. Give its id from firmafakta_load. Refused, without charge, for an id the account has not saved.
Inputs: id (required). Returns: id, name, usage
firmafakta_describeDescribe the segment languageARead-onlyInspect
Every field and the whole segment language, for what the server instructions do not name: it returns the segment language with examples, the filter fields with their operators and code tables, the returned fields with the plan each needs, your plan, credits, prices and rate limits. Free. To find the code for a place or an industry use firmafakta_find_codes; for the release and what is new, firmafakta_version. Firmafakta 1.10.18.
Inputs: fields. Returns: plan, rates, usage, limits, +12 more
firmafakta_fetchFetch segment rowsARead-onlyInspect
Fetch a page of a segment's rows. A segment is an expression in describe's segment language, which has examples. Pass segment and per, which is required with segment (workplace: a row per workplace; company: a row per company, its main workplace), and optionally limit, fields, sort; or only next from the previous page to continue. Without fields each row has describe's short_fields; name others from describe's result_fields in fields, or use firmafakta_lookup for everything on one company. Each row costs credits; a nightly update between pages may shift rows. Without limit a page is 10 rows, costing 10 credits; at most 1000.
Inputs: per, next, sort, limit, +2 more. Returns: next, rows, total, usage, +2 more
firmafakta_find_codesFind codesARead-onlyInspect
Find the codes a segment filters on (municipality, county, SNI industry, legal form and the other code tables describe lists in code_tables) by text or code prefix, best match first, at most 25 (more says how many were left out); an industry's section and groups come before its codes, and the trademark tables are searched only when named in table. Use it instead of guessing codes; no match gives an empty matches list. Free. It searches code tables only, not companies: for a company use firmafakta_company or firmafakta_lookup.
Inputs: query (required), table. Returns: more, usage, matches
firmafakta_loadLoad saved segmentsARead-onlyInspect
Without name or id: list the account's saved segments with their ids (also those saved on firmafakta.se, where they are called Sparade urval). With one: that segment's expression and per, ready for count and fetch; id wins when both are given, and a name matches regardless of case, the first match if several share it.
Inputs: id, name. Returns: id, per, name, usage, +3 more
firmafakta_lookupLook up a companyARead-onlyInspect
Everything on one company: its facts, figures, workplaces and the lists your plan reaches. Give org_number or name, one of them; a name that finds several companies lists them in matches, free. For many companies use firmafakta_fetch on a segment; for the free public facts, firmafakta_company. How to read the answer is in firmafakta_describe's lookup. Opening a company costs credits, by org number even when nothing is found; opening the same company again within a day is free.
Inputs: name, org_number. Returns: usage, years, locked, parent, +19 more
firmafakta_saveSave a segmentAInspect
Save a segment expression, with the per it counts (workplace or company), under a name in the account, to reuse later with firmafakta_load; it also shows on firmafakta.se under Sparade urval. Always makes a new saved segment, even when one has the same name: to change one use firmafakta_update. Refused when the account has no room for more. Returns the new id.
Inputs: name (required), segment (required), per. Returns: id, name, usage
firmafakta_trademarksSearch trademarksARead-onlyInspect
Search Swedish trademarks (PRV) by text in the mark, by a picture of it (image), or by the marks' facts in the segment language's trademark words (as inside varumärke(…); see describe's mark_fields), or both; ended marks only with include_ended. Each result gives the mark and its owners: a company with its org number, which firmafakta_lookup opens, a person only as a private person. Costs credits per search, not per page; continue with next. See describe.
Inputs: next, text, image, limit, +2 more. Returns: next, marks, total, usage
firmafakta_updateChange a saved segmentADestructiveInspect
Rename a saved segment, replace its expression or change its per (workplace or company), in place, keeping the rest of it. Give its id from firmafakta_load and at least one of name, segment and per. Refused, without charge, for an id the account has not saved.
Inputs: id (required), per, name, segment. Returns: id, name, usage
firmafakta_versionServer version and newsARead-onlyInspect
The server's release version and the latest news, dated, newest first: new and changed tools first of all, and what is new in Firmafakta. Free. Call it when the user asks what is new or which release answers, or when a tool behaves differently than you expected; how to use the tools is in firmafakta_describe.
Returns: news, version
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Swedish company data (Bolagsverket, SCB) for AI agents, verified, with history and annual reports
Swedish company data for AI agents: search, board, history, financials. Sandbox: fictional firms.
1Swedish B2B intelligence for AI agents: insolvency risk, procurement, BRF health and more.
Swedish public data as read-only tools: registries, statistics, domains, transport, energy.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables searching and retrieving detailed information about Swedish companies, including financial data and annual reports from Bolagsverket (Swedish Companies Registration Office), with intelligent caching for fast responses.-
- AlicenseBqualityCmaintenanceMCP server for Swedish company data. Enables AI agents to lookup companies, analyze financials, assess health, screen compliance, and get industry stats.914 npmMIT
- AlicenseAqualityCmaintenanceEnables assistants to search, count, and read Swedish workplaces and legal entities from Statistics Sweden's business register, handling pagination, filters, and API authentication transparently.6MIT
- AlicenseAqualityDmaintenanceQuery Swedish public data from AI tools. Includes company data, SCB statistics, weather, transport, public agencies, and more through the Apiverket API.253 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.