Eurostat TAM MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_enterprise_countsA | Enterprise counts for one NACE Rev.2 code, bucketed into SME (1-249) and Corp (250+), summed across the given geographies. Args: nace_code: NACE Rev.2 code, e.g. "C27", "C28", "D35", "C26.30" (use the Eurostat dotted form for sub-classes, e.g. "C2630" is NOT valid; use "C26.30"). geo: list of Eurostat geo codes. Defaults to EU27 + Norway + Switzerland (["EU27_2020", "NO", "CH"]). Pass individual countries (e.g. ["DE","FR"]) to break it down. NOTE: UK ("UK"/"GB") is not available post-Brexit. year: a single year as a string, e.g. "2022". If omitted, the latest available year is used automatically. exclude_micro: if True, the SME bucket excludes micro firms (0-9 employees), i.e. SME = 10-249. The TAM sheet notes this as an option. Returns a dict with sme_count, corp_250plus_count, the per-band breakdown, the resolved year, and caveats. |
| get_segment_countsA | Enterprise counts for a list of NACE codes that make up one value-chain segment, returned per code AND summed for the whole segment. This maps directly onto a row of the "Company Counts by Segment" sheet. Args: nace_codes: the NACE Rev.2 codes for the segment, e.g. ["C27", "C28"] for "Equipment Suppliers & OEMs". geo: see get_enterprise_counts. Defaults to EU27 + NO + CH. year: single year string, or omit for latest. exclude_micro: exclude micro firms (0-9) from the SME bucket. Returns per-code results plus a segment_total with combined SME and 250+ counts. CAUTION: summing NACE codes can double-count a company that reports under more than one activity, and the same firm may also be counted as a startup/scaleup elsewhere. De-dup per the sheet's waterfall before trusting totals. |
| get_company_countA | Count companies in Cognism matching NAICS codes x countries x employee range. Fills the cells Eurostat/Nomis can't:
Args: naics: NAICS codes, e.g. ["3344"] (semiconductors). Cognism uses NAICS, not NACE — map your NACE codes first. countries: country names, e.g. ["Germany", "France"] or ["United Kingdom"]. employee_min / employee_max: employee-count band bounds (inclusive). Requires the Cognism API entitlement to be enabled by your CSM; until then this returns error "no_entitlement". Reads the token from the COGNISM_API_TOKEN env var (Render) or the local .env.cognism file (desktop). |
| get_startup_scaleup_countsA | Count Startups and Scaleups for one value-chain segment via Harmonic, split on funding raised (TAM sheet columns D and E). Startup = raised <= split_at; Scaleup = raised > split_at and < 5,000 staff. Args: industry_tags: Harmonic industry tags for the segment, e.g. ["Aerospace Technology"], ["Defense Technology & Services"], ["Advanced Manufacturing & Robotics"], ["Hardware & Semiconductors"]. technology_tags: optional Harmonic technology tags, e.g. ["Hardware", "Robotics", "Sensors", "Manufacturing"]. region: Harmonic region, default "EUROPE". split_at: Startup/Scaleup funding boundary. Default 30,000,000. NOTE: Harmonic funding is ~USD; EUR 30M ~= USD 32-33M — set accordingly. exclude_business_tags: e.g. ["Consumer (B2C)"] to drop B2C. Requires HARMONIC_API_KEY (env on Render, .env.harmonic on desktop). Returns exact counts; Harmonic's tags are coarser than the sheet's segments, so use clean-tag segments precisely and allocate the rest from market totals. |
| fill_tam_sheetA | Read NACE codes out of the TAM workbook's "Company Counts by Segment" sheet, pull Eurostat counts for every segment, and write the SMEs (col F) and Corp Mid-cap 250+ (col G) cells. Only yellow input cells on segment rows are written; blue subtotals, the grey public-sector row, and demand-side rows are left untouched. Class-level NACE codes (which Eurostat lacks) are resolved down to the nearest available group/division and flagged per row under "coarsened". Args: input_path: path to the .xlsx (e.g. the TAM_Model_with_NAICS.xlsx). output_path: where to save. Defaults to "_FILLED.xlsx". Pass the same path as input ONLY if you intend to overwrite the original. dry_run: if True (default), nothing is written — returns the full plan (per-row resolved codes, levels, and the SME/250+ it WOULD write) so you can audit before committing. Set False to actually save. geo: Eurostat geos, default EU27 + Norway + Switzerland. year: single year, or omit for latest per code. exclude_micro: exclude micro firms (0-9) from the SME bucket. Returns the plan (dry_run) or a write summary plus the plan. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
The first two tools, get_enterprise_counts and get_segment_counts, both fetch Eurostat counts by NACE codes, differing mainly in single-code vs. multi-code input, which could cause misselection. The other tools are clearly distinct by data source (Cognism, Harmonic) or role (orchestration), but the overlap between the Eurostat pair is notable.
Four tools follow a 'get_' + noun pattern, but fill_tam_sheet breaks the pattern with a different verb. There is also inconsistency between singular 'count' (get_company_count) and plural 'counts' (get_enterprise_counts, get_segment_counts, get_startup_scaleup_counts), which is minor but detracts from a uniform style.
With just 5 tools, the server is tightly scoped to the task of populating a TAM sheet from multiple data sources. Each tool has a clear role, and the count feels neither bloated nor inadequate for the stated purpose.
The tool set covers the full workflow: fetching Eurostat counts, segment-level aggregation, filling gaps with Cognism data, startup/scaleup counts from Harmonic, and writing the final workbook with a dry-run option. A minor gap is the lack of a dedicated NACE-to-NAICS mapping helper, but this is acknowledged in the get_company_count description as a prerequisite rather than a server responsibility.