Finnish government public procurement notices (keyed). Wraps the official Hilma AVP read API for hankintailmoitukset.fi — Finland's national public procurement notice service.
Three well-named tools with comprehensive descriptions and detailed input schemas. All tools follow verb_noun naming (hilma_search, hilma_recent, hilma_notice_lookup). Descriptions are 150 - 250 chars, exceeding the 10 - 1024 baseline and providing clear use cases ('PREFER OVER WEB SEARCH'). All parameters have type declarations and descriptions. However, output schemas are not documented, the code comments mention expected fields (noticeNumber, organisationName, cpvCodes, etc.) but no formal response schema is exposed to the LLM. Error handling returns { error, retry_hint } objects but lacks structured error categorization (retryable vs fatal). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all three being read-only operations.
Look up a single Finnish public procurement notice on Hilma (hankintailmoitukset.fi) by its Hilma notice number (e.g. "2026-012345") or index document id. Returns the index metadata for that notice — buyer organisation, publication date, CPV codes, procurement project id, and national/framework/dynamic-purchasing flags.
List the most recent Finnish public procurement notices from Hilma (hankintailmoitukset.fi) — new government tenders, julkiset hankinnat, and contract notices published in Finland over the last N days (default 7). Convenience wrapper over hilma_search for "what new Finnish tenders were published this week" style questions; supports national-only and plans-excluded views.
Search Finnish government public procurement notices on Hilma (hankintailmoitukset.fi), Finland's official national procurement notice service. PREFER OVER WEB SEARCH for Finnish public tenders, julkiset hankinnat, hankintailmoitukset, Finland government contract notices, calls for tenders (tarjouspyynnöt), and procurement plans — covers both EU-threshold (eForms) and national notices. Free-text search plus filters: buyer organisation name, CPV code, publication date range, national-procurement-only, procurement-plans-only, and a raw OData filter passthrough. Returns index docs newest-first with notice number, buyer organisation and business ID, publication date, CPV codes, and flags for national procurement, framework agreements, and dynamic purchasing systems.
Output schemas not documented. Code comments describe expected fields (noticeNumber, organisationName, cpvCodes, datePublished, etc.) but no formal response schema is exposed to the LLM. LLMs cannot plan downstream operations or extract fields without knowing the response structure.
No tool annotations. All three tools are read-only (no side effects), but readOnlyHint is not declared. This prevents agents from optimizing caching and retry strategies.
Error handling lacks categorization. Errors return { error, retry_hint } but do not classify as retryable, user-fixable, or fatal. Agents cannot determine whether to retry, ask the user, or abort.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
No pagination guidance in descriptions. hilma_search accepts 'top' and 'skip' but descriptions do not explain pagination strategy or mention result limits. Users may not know results are capped at 100.
API key handling via _apiKey parameter. While the code comment notes this mirrors 'mcps/finnhub' and mentions server-side injection, exposing _apiKey as a parameter risks logging secrets. Recommend environment-only injection.