io.github.Aimiten/hilma-mcp

السجل الرسمي أخرى

MCP server for Finnish public procurement notices (Hilma). Built by Aimiten.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package hilma-mcp
Claude Code
claude mcp add hilma-mcp -e 'HILMA_API_KEY=<your hilma_api_key>' -e 'HILMA_READ_API_KEY=<your hilma_read_api_key>' -- npx -y hilma-mcp@1.1.1
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "hilma-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "hilma-mcp@1.1.1"
            ],
            "env": {
                "HILMA_API_KEY": "<your hilma_api_key>",
                "HILMA_READ_API_KEY": "<your hilma_read_api_key>"
            }
        }
    }
}

متغيرات البيئة

  • HILMA_API_KEY إلزامي سري Hilma APIM avp-read subscription key. Get a free key at https://hns-hilma-prod-apim.developer.azure-api.net/
  • HILMA_READ_API_KEY إلزامي سري Same as HILMA_API_KEY — avp-read product includes EForms Read API. Required for get_notice_full tool.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. hilma-mcp
  2. Vaatimukset
  3. Asennus
  4. API-avain
  5. Työkalut
  6. API-viite
  7. English
  8. Lisenssi / License
  9. Aimiten

hilma-mcp

MCP (Model Context Protocol) -serveri Suomen julkisille hankintailmoituksille — hankintailmoitukset.fi (Hilma).

Mahdollistaa hankintailmoitusten haun suoraan Claude-assistentista ilman erillistä selainta.

Kieliversio: Ohjeet suomeksi alla. English instructions further down.


Vaatimukset

  • Node.js versio 18 tai uudempi
  • Claude Desktop tai Claude Cowork (MCP-tuki)
  • Hilma AVP API -avain (ks. alla)

Asennus

1. Kloonaa repo
git clone https://github.com/Aimiten/hilma-mcp.git
cd hilma-mcp
2. Asenna riippuvuudet ja buildaa
npm install
npm run build

Tämä luo dist/index.js-tiedoston, jota Claude ajaa.

3. Luo .env-tiedosto
cp .env.example .env

Avaa .env tekstieditorissa ja lisää API-avaimesi:

HILMA_API_KEY=oma-avp-read-avain-tähän
HILMA_READ_API_KEY=oma-avp-read-avain-tähän

Huom: Molemmat kentät käyttävät samaa avainta — avp-read-tuote sisältää jo Read API (EForms) -rajapinnan, joten erillistä tilausta ei tarvita.

Hanki avain ilmaiseksi:

  1. Mene osoitteeseen https://hns-hilma-prod-apim.developer.azure-api.net/
  2. Rekisteröidy tai kirjaudu → Products → avp-read → Subscribe
  3. Kopioi Primary key Profile-sivulta

Huom: .env-tiedostoa ei koskaan commitoida GitHubiin — se on jo .gitignore:ssa.

4. Lisää Claude-konfiguraatioon

Avaa Claude Desktopin konfiguraatiotiedosto:

KäyttöjärjestelmäPolku
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json

Lisää tai muokkaa mcpServers-osiota:

{
  "mcpServers": {
    "hilma": {
      "command": "node",
      "args": ["/ABSOLUUTTINEN/POLKU/hilma-mcp/dist/index.js"]
    }
  }
}

Tärkeää: Korvaa /ABSOLUUTTINEN/POLKU/hilma-mcp oikealla polulla omalla koneellasi. Esimerkiksi:

  • macOS: /Users/sinunnimesi/hilma-mcp/dist/index.js
  • Windows: C:\\Users\\sinunnimesi\\hilma-mcp\\dist\\index.js
4. Käynnistä Claude uudelleen

Hilma ilmestyy connectors-listaan uudelleenkäynnistyksen jälkeen.


API-avain

Serveri vaatii oman API-avaimen — sitä ei ole bundlattu koodiin tietoturvasyistä.

  1. Rekisteröidy ilmaiseksi: https://hns-hilma-prod-apim.developer.azure-api.net/
  2. Lisää avain .env-tiedostoon (suositeltu):
     HILMA_API_KEY=oma-avaimesi-tähän
  3. Tai anna se suoraan Claude-konfiguraatiossa:
     {
       "mcpServers": {
         "hilma": {
           "command": "node",
           "args": ["/polku/hilma-mcp/dist/index.js"],
           "env": {
             "HILMA_API_KEY": "oma-avaimesi-tähän"
           }
         }
       }
     }

Työkalut

TyökaluKuvausVaatii
search_noticesHae ilmoituksia CPV-koodeilla, hakusanalla, päivämäärälläHILMA_API_KEY
get_notice_summaryYksittäisen ilmoituksen metatiedot noticeId:lläHILMA_API_KEY
get_expiring_soonIlmoitukset joiden deadline on N päivän sisälläHILMA_API_KEY
get_notice_fullTäysi eForms XML + yhteystiedot (BT-502/503/506)HILMA_READ_API_KEY
search_notices — Hankintailmoitusten haku
ParametriTyyppiKuvaus
searchstringVapaatekstihaku. "*" = kaikki.
cpv_codesstring[]CPV-koodit, esim. ["71200000", "72000000"]. OR-logiikka.
notice_typestringContractNotices / ContractAwardNotices / PlanNotices
procurement_typestringservices / works / supplies
procedure_typestringopen / restricted / negotiated
daysnumberViimeiset N päivää
hoursnumberViimeiset N tuntia
topnumberMax tuloksia (1–100, oletus 20)
get_notice_summary — Yksittäisen ilmoituksen yhteenveto
ParametriTyyppiKuvaus
notice_idnumberIlmoituksen numeerinen ID

Käyttää search-APIa — ei vaadi erillistä tilausta. Palauttaa kaikki metatiedot: tilaaja, deadline, arvo, CPV, portaali-URL.

get_expiring_soon — Lähestyvät deadlinet
ParametriTyyppiKuvaus
daysnumberHae deadlinet seuraavan N päivän sisällä
cpv_codesstring[]Rajaa CPV-koodeilla (valinnainen)

Järjestää tulokset deadlinen mukaan nousevaan järjestykseen.

get_notice_full — Täydet tiedot eForms XML:stä
ParametriTyyppiKuvaus
notice_idnumberIlmoituksen numeerinen ID

Vaatii HILMA_READ_API_KEY (sama avain kuin HILMA_API_KEY — sisältyy avp-read-tilaukseen). Palauttaa:

  • Yhteystiedot: BT-502 (nimi), BT-503 (sähköposti), BT-506 (puhelin)
  • Tarjousportaalin URL:t
  • Koko eForms XML -raakadata

API-viite

Perustuu viralliseen Hilma API -dokumentaatioon.

  • Hakuendpoint: POST https://api.hankintailmoitukset.fi/avp/eformnotices/docs/search
  • Yksittäinen ilmoitus: GET https://api.hankintailmoitukset.fi/avp/eformnotices/docs/{noticeId}
  • Autentikointi: Ocp-Apim-Subscription-Key -header

English

Quick install
git clone https://github.com/Aimiten/hilma-mcp.git
cd hilma-mcp
npm install && npm run build
cp .env.example .env   # then add your API key to .env

Get a free API key at: https://hns-hilma-prod-apim.developer.azure-api.net/

Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "hilma": {
      "command": "node",
      "args": ["/absolute/path/to/hilma-mcp/dist/index.js"]
    }
  }
}

Restart Claude. The Hilma connector will appear in the connectors list.


Lisenssi / License

MIT — ks. LICENSE.


Aimiten

Tämä MCP-serveri on toteutettu osana Aimitenin AI-konsultointia. Aimiten Oy auttaa suomalaisia pk-yrityksiä ottamaan tekoälyn (Claude, Copilot, Gemini, n8n) käytäntöön — koulutus, konsultointi ja kevyet Managed Agents -toteutukset.

This MCP server is built and maintained by Aimiten, a Finnish AI consultancy specializing in Claude, Copilot, and Gemini integrations for SMEs.

الأسئلة الشائعة

ما هو io.github.Aimiten/hilma-mcp؟

MCP server for Finnish public procurement notices (Hilma). Built by Aimiten.

كيف أثبّت io.github.Aimiten/hilma-mcp؟

يعمل على جهازك. في Claude Code: claude mcp add hilma-mcp -e 'HILMA_API_KEY=<your hilma_api_key>' -e 'HILMA_READ_API_KEY=<your hilma_read_api_key>' -- npx -y hilma-mcp@1.1.1. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.Aimiten/hilma-mcp إلى مفتاح API؟

نعم. يتطلب HILMA_API_KEY, HILMA_READ_API_KEY، وتضبطها في إعداداته.

هل io.github.Aimiten/hilma-mcp مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.Aimiten/hilma-mcp؟

ينشره Aimiten. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.