RealGeeks Company Registry
Server Details
Official company registers for France, Norway, Finland and US SEC: search by name or look up by ID.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools occupy clearly separate axes: get_company is an exact-key lookup by registry identifier, while search_companies is a fuzzy name query across registries. The search result's registry id naturally feeds the lookup, which makes them complementary rather than overlapping.
Both names follow the same snake_case verb_noun pattern (get_company, search_companies) using standard CRUD-style verbs. No mixed conventions or vague verbs.
Two tools is thin for a surface spanning four national registries plus US EDGAR; a lot of behavior is packed into parameters rather than exposed as distinct operations. Each tool does earn its place, but the set feels minimal for the stated scope.
Lookup (with officers and filings) and name search cover the core read lifecycle of a read-only registry, so there are no fatal dead ends. Minor gaps exist: no batch/multi-id lookup, no pagination or filtering controls surfaced on search, and no way to request filings or officers independently of a full company fetch.
Available Tools
2 toolsget_companyGet one company by registry identifierARead-onlyIdempotentInspect
Look up one company by its official identifier: FR SIREN (9 digits) or SIRET (14), NO organisasjonsnummer (9 digits), FI Y-tunnus (1234567-8), US CIK or stock ticker. The country can be given, or prefixed in the id (e.g. NO:923609016); otherwise the id is routed by check-digit validation. Includes officers and filings by default.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Registry identifier, ticker for US, or prefixed form like FR:552032534. | |
| country | No | fr, no, fi or us (optional). | |
| filings | No | ||
| officers | No | ||
| max_filings | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, open-world), so the description earns credit for what it adds: that officers and filings are pulled in by default, which materially changes payload size, and that identifier routing happens automatically via check-digit validation. It stops short of noting that openWorldHint implies external registry calls with possible latency or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler, front-loaded with the core action and identifier formats before the resolution rules and default payload behavior. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-entity read with no output schema, the description covers input forms, routing logic, and default response content well enough to call it confidently. The remaining gap is the undocumented max_filings parameter, which no other structured field explains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%: id and country are documented in the schema, but filings, officers, and max_filings carry no schema descriptions. The description partially compensates by restating that officers and filings are on by default and by expanding id formats beyond the schema, but it never explains what toggling those booleans off does or what max_filings controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Look up one company by its official identifier" gives a specific verb (look up) and a bounded resource (one company), which cleanly separates it from the sibling search_companies. It goes further by enumerating the accepted identifier schemes (SIREN, SIRET, organisasjonsnummer, Y-tunnus, CIK, ticker), so an agent knows exactly what constitutes a valid lookup key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete operational context: country may be supplied separately or embedded as a prefix, and ambiguous ids are routed by check-digit validation. What it does not do is name the alternative explicitly (e.g., "use search_companies to resolve a name into an id first"), so the selection guidance against the sibling remains inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesSearch official company registersARead-onlyIdempotentInspect
Search companies by name in official business registers: France (INSEE Sirene / RNE), Norway (Brønnøysund), Finland (PRH/YTJ) and US SEC EDGAR filers. Returns normalized records (registry id, legal name, legal form, status, incorporation date, address, industry code, website, VAT where published).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results per country. | |
| query | Yes | Company name (or part of it) to search for. | |
| country | No | fr, no, fi, us, a comma-separated list, or all (default all). | all |
| filings | No | Include filings (NO annual accounts, US SEC filings). | |
| officers | No | Include officers/roles where published (FR, NO). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and openWorld, so the safety profile is covered. The description adds genuine context beyond that: which jurisdictions are queried, that results are normalized across heterogeneous registers, and that some fields (website, VAT) are only present 'where published', signaling sparse/optional data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and scope, followed by the return shape. No filler, and the registry list is dense with information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing results and does so well by enumerating the normalized record fields. Minor gaps remain: nothing about pagination/limits behavior across countries or how partial matches are ranked, which matters for a multi-registry search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter (query, country, limit, filings, officers) documented in the schema itself, so the baseline is 3. The description adds only marginal semantics, notably that per-country availability varies (officers for FR/NO, filings for NO/US), which is already largely encoded in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (search) plus the resource (companies by name) and enumerates the exact registries covered: INSEE Sirene/RNE, Brønnøysund, PRH/YTJ, SEC EDGAR. It also lists the normalized return fields, so an agent can tell this apart from the sibling get_company, which fetches a single known company.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: search by (partial) name across registers, with filings/officers as optional enrichments. There is no explicit when-not guidance and no routing to get_company for lookups by a known registry id, which is the one alternative an agent would realistically weigh.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
get_company - First observed
search_companies
Related MCP Connectors
Company search and enrichment from official business registers in 200+ countries.
Official company data from 66 business registers: search, VAT/EORI/LEI, UBO, sanctions.
Company data for 14 countries: search firms, check company IDs, validate VAT and EORI numbers.
Search 12M+ verified businesses across 10 countries via government registers.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables users to query official business registers in the UK, Norway, Finland, and France for companies registered within a chosen window, filtered by industry code, activity words, name, or place. Each run returns one flat row per company with its register number, legal form, registration date, industry codes, activity text, address, and share capital, with optional deduplication across runs and a spend cap.168 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides access to Norway's official business registry for searching companies, looking up organizational details, and identifying company roles and sub-units. It utilizes data from Brønnøysundregistrene to enable detailed queries by industry, municipality, or organization number.10 npmMIT
- AlicenseNot gradedqualityBmaintenanceCompany data for Spain, France, the UK, Ireland and Poland — registry, KYB and sanctions.1,482 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides access to the Finnish company registry (PRH/YTJ) to search for businesses and retrieve detailed information using Business IDs. It enables users to perform industry-specific searches and track recent company registrations through official government open data.5 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.