Norric

Swedish B2B intelligence for AI agents: insolvency risk, procurement, BRF health and more.

사용해야 할까요

품질 및 안전성

A
설명 품질
97%
스키마 완전성
72%
이름 품질
79%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (6)

  • LOWTool 'kreditvakt_score_company_v1' description lacks action verbkreditvakt_score_company_v1에서
  • LOWTool 'sigvik_score_brf_v1' description lacks action verbsigvik_score_brf_v1에서
  • LOWTool 'sigvik_brf_avgift_v1' description lacks action verbsigvik_brf_avgift_v1에서
  • LOWTool 'signal_municipality_briefing_v1' name length outside 3-30 rangesignal_municipality_briefing_v1에서
  • LOWTool 'signal_contract_expiry_alerts_v1' name length outside 3-30 rangesignal_contract_expiry_alerts_v1에서
  • LOWTool 'kreditvakt_bankruptcy_status_v1' name length outside 3-30 rangekreditvakt_bankruptcy_status_v1에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~8,252토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 6.45%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "norric-mcp": {
      "url": "https://mcp.norric.io/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.norric.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (42)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪signal_score_municipality_v1(kommunkod, vertikal)

Score the procurement readiness of a Swedish municipality for a given vertical. Combines 7 signal components (IVO decisions, protocol signals, budget motions, contract expiries, SCB demographics, Kronofogden incumbent risk, SKR benchmarks) into a 0-100 composite score. Scores above 70 indicate actionable procurement intent — contact this week. Scores 50-70 are warm — contact this month. Below 50, monitor only.

입력 스키마

{
  "type": "object",
  "properties": {
    "kommunkod": {
      "type": "string"
    },
    "vertikal": {
      "type": "string"
    }
  },
  "required": [
    "kommunkod",
    "vertikal"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢signal_weekly_call_list_v1(vertikal, limit)

Return the ranked list of Swedish municipalities to contact this week for a given vertical. Sorted by composite procurement score descending. This is the core Norric SIGNAL product output — the Monday morning call list for sales teams and autonomous SDR agents. Each entry includes the primary signal, suggested call window, and opening talking point. Maximum 50 results. Updated every Monday at 06:00 CET.

입력 스키마

{
  "type": "object",
  "properties": {
    "vertikal": {
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "integer"
    }
  },
  "required": [
    "vertikal"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪signal_municipality_briefing_v1(kommunkod, vertikal)

Generate a full Swedish-language call briefing for a municipality and vertical. Contains: what happened (facts), why it matters commercially, optimal call window, 3 ready-to-use talking points, active signals summary, and incumbent risk flag. Designed for direct use by sales reps and autonomous SDR agents before dialling.

입력 스키마

{
  "type": "object",
  "properties": {
    "kommunkod": {
      "type": "string"
    },
    "vertikal": {
      "type": "string"
    }
  },
  "required": [
    "kommunkod",
    "vertikal"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪signal_contract_expiry_alerts_v1(vertikal, days_ahead)

Return contracts expiring within N days across all 290 Swedish municipalities for a given vertical. Sorted by days until expiry ascending. Each alert includes the incumbent supplier name, contract value, and a Kronofogden risk flag indicating if the incumbent has financial distress. This is displacement-window intelligence: expiring contracts are the highest-conversion procurement opportunities.

입력 스키마

{
  "type": "object",
  "properties": {
    "vertikal": {
      "type": "string"
    },
    "days_ahead": {
      "default": 90,
      "type": "integer"
    }
  },
  "required": [
    "vertikal"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢signal_sweden_pulse_v1(vertikal)

Return the national Swedish procurement activity index across all 290 municipalities. A single 0-100 'temperature' of public procurement activity right now. Historical baseline is ~35. Values above 60 indicate elevated national activity. Optionally filter to a specific vertical or get the cross-vertical aggregate. Useful for market timing, investment research, and portfolio-level intelligence.

입력 스키마

{
  "type": "object",
  "properties": {
    "vertikal": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪kreditvakt_score_company_v1(orgnr)

Score the insolvency risk of a Swedish company using four independent signal sources: Skatteverket restanslängd (tax debt), Kronofogden betalningsförelägganden (payment orders), Bolagsverket pending ärenden (leading indicator — days before registration), and Bolagsverket konkursregister. Returns risk_score [0–20, ascending=worse], risk_band [1–5], risk_tier (HEALTHY|WATCH|ELEVATED|HIGH|CRITICAL), and full signal breakdown. score_source='live' means DB-backed signals; 'no_signals' means the orgnr is in norric_entities but no current risk data exists (risk_score will be null). stale_data=true means freshness > 48h. Accepts a Swedish organisation number (e.g. 556000-1234).

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}
⚪swedish_company_verify_v1(orgnr_or_name)

Verify a Swedish company against official registry data. One orgnr (556000-1234) or company name in, one normalized cited answer out: canonical identity (name, orgnr, orgform, registered address), legal status (active/deregistered with date), F-tax registration where tracked, insolvency flags (konkurs filings, Kronofogden payment orders, tax-debt listing), the cached Kreditvakt risk band when present, the latest recorded Bolagsverket registry changes, and per-source observation timestamps with evidence links. verified=true means the orgnr exists in the Bolagsverket registry mirror and is currently active. Fields Norric does not track (VAT/moms, employer registration) return status 'not_tracked' — never a fabricated value. Use this as the first diligence call before kreditvakt_score_company_v1.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr_or_name": {
      "type": "string"
    }
  },
  "required": [
    "orgnr_or_name"
  ],
  "additionalProperties": false
}
⚪swedish_company_changes_v1(days, event_types, limit, orgnr)

Return a normalized feed of source-backed Swedish company registry changes over the last 1-30 days: new registrations, closures/deregistrations, renames, address changes, and mergers when those facts exist in the Bolagsverket snapshot data. Each event includes canonical identity, before/after fields, source freshness, and evidence links. The tool never equates Norric first-seen time with legal registration and never infers a merger from a rename. Filter by event type or orgnr; up to 100 events.

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 25,
      "type": "integer"
    },
    "orgnr": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}
⚪danish_company_verify_v1(cvr_or_name)

Verify a Danish company against official CVR registry data. One CVR number (8 digits, e.g. 54562519) or company name in, one normalized cited answer out: canonical identity (name, CVR number, virksomhedsform legal form, registered address, hovedbranche industry), legal status (active/ceased with dates and bitemporal registration timestamps), the latest recorded CVR registry changes, and per-source observation timestamps with evidence links. Danish codes and labels are canonical as issued by Erhvervsstyrelsen - never translated. verified=true means the CVR number exists in the CVR registry mirror and is currently active. Fields Norric does not track (VAT/moms, employer registration) return status 'not_tracked' - never a fabricated value. Source: Datafordeler CVR fildownload + CVR_Events, CC BY 4.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "cvr_or_name": {
      "type": "string"
    }
  },
  "required": [
    "cvr_or_name"
  ],
  "additionalProperties": false
}
⚪danish_company_changes_v1(days, event_types, limit, cvr_number)

Return a normalized feed of source-backed Danish company registry changes over the last 1-30 days: new registrations, closures/ophoer, renames, address changes, and mergers when those facts exist in the CVR data (bulk baseline diffs plus CVR_Events deltas). Each event includes canonical identity, before/after fields, source freshness, and evidence links. The tool never equates Norric first-seen time with legal registration and never infers a merger from a rename. Filter by event type or CVR number; up to 100 events. Source: Datafordeler CVR, CC BY 4.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 25,
      "type": "integer"
    },
    "cvr_number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}
⚪norwegian_company_verify_v1(orgnr_or_name)

Verify a Norwegian organisation against official Brønnøysund Enhetsregisteret data. A 9-digit organisation number or company name returns canonical identity, address, legal form, industry, active, bankruptcy and liquidation flags, recent source-backed changes and freshness. No role/person or beneficial-owner data. NLOD 2.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr_or_name": {
      "type": "string"
    }
  },
  "required": [
    "orgnr_or_name"
  ],
  "additionalProperties": false
}
🟡norwegian_company_changes_v1(days, event_types, limit, org_number)

Return source-backed Norwegian company registry changes over 1-30 days: registrations, closures, renames, address changes, bankruptcy and liquidation flags from daily bulk diffs and Brønnøysund update deltas. Never treats Norric first-seen time as registration. NLOD 2.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 25,
      "type": "integer"
    },
    "org_number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}
⚪finnish_company_verify_v1(business_id_or_name)

Verify a Finnish company against official PRH/YTJ daily open data. Returns identity, address, legal form, industry, registry status, recent source-backed changes and freshness. No person or beneficial-owner data. CC BY 4.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "business_id_or_name": {
      "type": "string"
    }
  },
  "required": [
    "business_id_or_name"
  ],
  "additionalProperties": false
}
⚪finnish_company_changes_v1(days, event_types, limit, business_id)

Return source-backed Finnish company changes over 1-30 days from daily PRH/YTJ snapshot diffs. Never treats Norric first-seen time as registration. CC BY 4.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 25,
      "type": "integer"
    },
    "business_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}
⚪estonian_company_verify_v1(registry_code_or_name)

Verify an Estonian company against the official e-Ariregister daily open data. Returns identity, address, legal form, industry, registry status, recent source-backed changes and freshness. No person or beneficial-owner data. CC BY 4.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "registry_code_or_name": {
      "type": "string"
    }
  },
  "required": [
    "registry_code_or_name"
  ],
  "additionalProperties": false
}
⚪estonian_company_changes_v1(days, event_types, limit, registry_code)

Return source-backed Estonian company changes over 1-30 days from daily e-Ariregister snapshot diffs. Never treats Norric first-seen time as registration. CC BY 4.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 25,
      "type": "integer"
    },
    "registry_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}
⚪french_company_verify_v1(siren_or_name)

Verify a French company against the official INSEE Base Sirene mirror. Returns identity, address, legal form, industry, registry status, recent source-backed changes and freshness. Non-diffusible natural persons (Art. A123-96 code de commerce) are excluded. Licence Ouverte 2.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "siren_or_name": {
      "type": "string"
    }
  },
  "required": [
    "siren_or_name"
  ],
  "additionalProperties": false
}
⚪french_company_changes_v1(days, event_types, limit, siren)

Return source-backed French company changes over 1-30 days from INSEE Base Sirene snapshot diffs. Never treats Norric first-seen time as registration. Licence Ouverte 2.0.

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "default": 7,
      "type": "integer"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 25,
      "type": "integer"
    },
    "siren": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}
⚪kreditvakt_contagion_v1(orgnr, limit)

Supply-chain contagion analysis for a HIGH or CRITICAL Swedish company. Returns the companies most likely to have supply-chain exposure to the given company, based on shared procurement sector and geographic proximity (kommunkod → county fallback). Use after identifying a HIGH/CRITICAL company via kreditvakt_score_company_v1. Reads from the contagion_peers cache (refreshed every 4h); recomputes on cache miss. Always returns the probabilistic disclaimer in warnings — these are likely relationships, not verified supply chains. orgnr accepts format with or without dash. limit defaults to 10, max 25.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "integer"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪kreditvakt_batch_score_v1(orgnrs)

Score a portfolio of Swedish companies for insolvency risk in one call. Maximum 500 organisation numbers per request. Returns each company's score, verdict, primary risk signal, and debt status. Includes a portfolio-level risk summary: % by risk tier, weighted average score, estimated SEK exposure for high-risk entries. This is the primary tool for factoring companies reviewing credit exposure at scale.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnrs": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "orgnrs"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪kreditvakt_debt_signals_v1(orgnr)

Return Skatteverket restanslängd debt data for a Swedish company. Shows outstanding tax debt amount in SEK, publication date, number of payment remarks, and F-skatt (sole trader tax registration) status. This signal is also consumed by Norric SIGNAL's competitor risk analysis — it is the shared data layer between Kreditvakt and SIGNAL.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪kreditvakt_bankruptcy_status_v1(orgnr)

Return Bolagsverket konkurs (bankruptcy) filing status for a Swedish company. Shows whether konkurs has been filed, the filing date, current status (ansökt | beslutad | avslutad), and whether the company is still active. This is a binary verification tool — use score_company_v1 for predictive risk.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡vigil_lifecycle_stage_v1(orgnr)

Classify a Swedish company's lifecycle stage using three signals: F-skatt registration date, building permit filings, and Bolagsverket ownership change velocity. Returns: early | growth | scaling | distress — with confidence and signal breakdown. Primary use: identifying companies that just started (early stage) so SiteLoop can reach them before any competitor knows they exist.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪vigil_new_companies_v1(kommunkod, days_back)

Return companies newly registered in a Swedish municipality — detected via F-skatt (sole trader) registrations at Skatteverket. These are companies that just started and almost certainly have no website. Primary feed for SiteLoop's automated outreach pipeline. Results include orgnr, registration date, business category, and phone where available.

입력 스키마

{
  "type": "object",
  "properties": {
    "kommunkod": {
      "type": "string"
    },
    "days_back": {
      "default": 30,
      "type": "integer"
    }
  },
  "required": [
    "kommunkod"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡vigil_ownership_velocity_v1(orgnr)

Return the ownership change rate for a Swedish company over the last 12 months. High velocity signals acquisition, restructuring, or distress. This signal feeds both Norric Kreditvakt (distress correlation) and Norric SIGNAL (competitor risk component when an incumbent supplier is changing hands).

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪siteloop_pipeline_status_v1(city)

Return the current state of the SiteLoop pipeline across all active cities. Shows leads at each funnel stage: scanned → site_built → sms_sent → clicked → activated → churned. Includes conversion rates and MRR by city. Use this to monitor the autonomous pipeline health without opening a dashboard.

입력 스키마

{
  "type": "object",
  "properties": {
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡siteloop_submit_lead_v1(business_name, category, address, phone, email, ...)

Submit a business lead into the SiteLoop pipeline programmatically. This is the primary integration point for Norric Vigil — Vigil detects new companies, SiteLoop receives them and runs site generation + SMS outreach automatically. The lead enters the queue and proceeds through the pipeline without any human intervention. This is a mutating tool — every call is audited.

입력 스키마

{
  "type": "object",
  "properties": {
    "business_name": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "orgnr": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "source": {
      "default": "api",
      "type": "string"
    }
  },
  "required": [
    "business_name",
    "category",
    "address",
    "phone"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪sigvik_score_brf_v1(brf_id)

Score the financial health and renovation intent of a Swedish BRF (bostadsrättsförening / housing cooperative). Combines avgift trend, annual report analysis, renovation risk, and EU energy class (E/F/G class must reach D by 2033) into a 0-100 intent score. Returns confidence_label (Starkt signal / Måttlig signal / Tidig indikation), scored_at timestamp, and data_freshness_hours. stale_data=true if score older than 48h.

입력 스키마

{
  "type": "object",
  "properties": {
    "brf_id": {
      "type": "string"
    }
  },
  "required": [
    "brf_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪sigvik_brf_avgift_v1(brf_id)

Return the monthly avgift (housing fee) history, trend, and year-on-year delta for a Swedish BRF. Avgift trend is one of the strongest predictors of BRF financial stress — rising avgift indicates the association is covering costs by increasing member fees. Returns: current_kr, 5-year history, YoY delta %, trend label (rising|stable|falling).

입력 스키마

{
  "type": "object",
  "properties": {
    "brf_id": {
      "type": "string"
    }
  },
  "required": [
    "brf_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪sigvik_brf_flags_v1(brf_id)

Return active risk flags for a Swedish BRF. Flags: renovation_risk (major upcoming costs), ekonomisk_risk (financial distress), eu_2033_energy_deadline (E/F/G energy class must reach D by 2033 — renovation pressure within 7 years). Each flag has a severity level: low | medium | high | critical.

입력 스키마

{
  "type": "object",
  "properties": {
    "brf_id": {
      "type": "string"
    }
  },
  "required": [
    "brf_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪norric_company_profile_v1(orgnr)

Return a unified Norric intelligence profile for a Swedish company. Combines: Kreditvakt insolvency score, Vigil lifecycle stage, and Vigil ownership velocity into one call. Use this when you need a complete picture of a company across all Norric products. orgnr is the canonical cross-product identifier — all Norric tools accept it.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪norric_status_v1

Return the live status of all Norric MCP products and their data pipelines. Shows which products are live, which are in build, and the last successful data ingestion timestamp for each source. Use this to understand what data is currently reliable before acting on it.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡norric_explain_score_v1(tool_name, record_id, include_raw_refs)

Returns a human-readable explanation of how a specific score was computed, with full source provenance. Intended for compliance teams and regulated workflow integrations (e.g. a bank using Kreditvakt scores in credit decisions). Args: tool_name The Norric tool that produced the score. e.g. "kreditvakt_score_company_v1" record_id The entity identifier for the record. For Kreditvakt/Sigvik: orgnr (10-digit) For SIGNAL: municipality notice ID include_raw_refs If True, includes raw source document references in the response. Set False to reduce response size. Returns: NorricResponse with data containing: explanation Natural language explanation of the score pipeline_steps Ordered list of scoring pipeline steps provenance_chain Full provenance records for each source compliance_summary Structured summary for EU AI Act documentation

입력 스키마

{
  "type": "object",
  "properties": {
    "tool_name": {
      "type": "string"
    },
    "record_id": {
      "type": "string"
    },
    "include_raw_refs": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "tool_name",
    "record_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "tool": {
      "type": "string"
    },
    "source": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "confidence": {
      "default": 1,
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "cached": {
      "default": false,
      "type": "boolean"
    },
    "ts": {
      "format": "date-time",
      "type": "string"
    },
    "provenance": {
      "anyOf": [
        {
          "items": {
            "description": "Per-record lineage envelope. Attached at ingestion time, stored in DB,\nsurfaced in every NorricResponse that touches this record.\n\nFields:\n    source_agency       Canonical agency identifier (Agency enum value or\n                        \"kommun:{kommunkod}\" for municipality sources)\n    source_document_ref Canonical document reference — see make_document_ref()\n    ingested_at         UTC timestamp of ingestion (not document date)\n    confidence          0.0–1.0 derivation confidence — see ConfidenceTier\n    raw_url             Source URL if the record came from a web endpoint\n    schema_version      Provenance schema version for forward compatibility",
            "properties": {
              "source_agency": {
                "description": "Canonical agency identifier. One of the Agency enum values, or 'kommun:{kommunkod}' for municipality sources.",
                "type": "string"
              },
              "source_document_ref": {
                "description": "Canonical document reference in format {agency}:{entity_id}/{document_type}[/{period}]. Use make_document_ref() to construct this.",
                "type": "string"
              },
              "ingested_at": {
                "description": "UTC timestamp of when this record was ingested by Norric.",
                "format": "date-time",
                "type": "string"
              },
              "confidence": {
                "description": "Derivation confidence. 1.0=direct copy, 0.8–0.99=parsed, 0.5–0.79=inferred, 0.0–0.49=estimated.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "raw_url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Source URL if this record was fetched from a web endpoint."
              },
              "schema_version": {
                "default": "1.0",
                "description": "Provenance schema version. Increment when breaking changes are made.",
                "type": "string"
              }
            },
            "required": [
              "source_agency",
              "source_document_ref",
              "confidence"
            ],
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Per-record data lineage. Present for SIGNAL, Kreditvakt, and Sigvik records ingested after provenance layer deployment. Null for pre-provenance records — do not treat as error."
    }
  },
  "required": [
    "success",
    "tool"
  ],
  "description": "Universal response envelope for all Norric MCP tools.\n\nEvery tool — Kreditvakt, Sigvik, SIGNAL, Vigil, LeadFlow — returns\nthis shape. Agents and compliance systems can rely on a consistent\nstructure regardless of which product generated the response.\n\nFields:\n    success         True if the tool executed without error\n    tool            The tool name that generated this response\n    source          Human-readable list of data agencies (for display)\n    confidence      Overall confidence score 0.0–1.0\n                    When provenance is present, derived as min(provenance.confidence)\n    data            Tool-specific payload (dict or list)\n    error           Error message if success=False, else None\n    cached          True if response was served from cache\n    ts              UTC timestamp of response generation\n    provenance      Per-record lineage (None for pre-provenance records)"
}
🟢norric_data_freshness_v1(agencies)

Returns ingestion freshness for all active Norric data pipelines, per agency. Used by: - Agents deciding whether Norric data is current enough to act on (a Claude Code agent should check this before triggering a workflow) - Compliance dashboards monitoring pipeline health - Norric internal ops alerting (stale pipeline = data quality incident) Args: agencies Optional list of agency IDs to filter. If omitted, returns all active pipelines. e.g. ["bolagsverket", "kronofogden"] Returns: NorricResponse with data containing: pipelines Per-agency freshness records summary Aggregate health summary checked_at UTC timestamp of this freshness check

입력 스키마

{
  "type": "object",
  "properties": {
    "agencies": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "tool": {
      "type": "string"
    },
    "source": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "confidence": {
      "default": 1,
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "cached": {
      "default": false,
      "type": "boolean"
    },
    "ts": {
      "format": "date-time",
      "type": "string"
    },
    "provenance": {
      "anyOf": [
        {
          "items": {
            "description": "Per-record lineage envelope. Attached at ingestion time, stored in DB,\nsurfaced in every NorricResponse that touches this record.\n\nFields:\n    source_agency       Canonical agency identifier (Agency enum value or\n                        \"kommun:{kommunkod}\" for municipality sources)\n    source_document_ref Canonical document reference — see make_document_ref()\n    ingested_at         UTC timestamp of ingestion (not document date)\n    confidence          0.0–1.0 derivation confidence — see ConfidenceTier\n    raw_url             Source URL if the record came from a web endpoint\n    schema_version      Provenance schema version for forward compatibility",
            "properties": {
              "source_agency": {
                "description": "Canonical agency identifier. One of the Agency enum values, or 'kommun:{kommunkod}' for municipality sources.",
                "type": "string"
              },
              "source_document_ref": {
                "description": "Canonical document reference in format {agency}:{entity_id}/{document_type}[/{period}]. Use make_document_ref() to construct this.",
                "type": "string"
              },
              "ingested_at": {
                "description": "UTC timestamp of when this record was ingested by Norric.",
                "format": "date-time",
                "type": "string"
              },
              "confidence": {
                "description": "Derivation confidence. 1.0=direct copy, 0.8–0.99=parsed, 0.5–0.79=inferred, 0.0–0.49=estimated.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "raw_url": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Source URL if this record was fetched from a web endpoint."
              },
              "schema_version": {
                "default": "1.0",
                "description": "Provenance schema version. Increment when breaking changes are made.",
                "type": "string"
              }
            },
            "required": [
              "source_agency",
              "source_document_ref",
              "confidence"
            ],
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Per-record data lineage. Present for SIGNAL, Kreditvakt, and Sigvik records ingested after provenance layer deployment. Null for pre-provenance records — do not treat as error."
    }
  },
  "required": [
    "success",
    "tool"
  ],
  "description": "Universal response envelope for all Norric MCP tools.\n\nEvery tool — Kreditvakt, Sigvik, SIGNAL, Vigil, LeadFlow — returns\nthis shape. Agents and compliance systems can rely on a consistent\nstructure regardless of which product generated the response.\n\nFields:\n    success         True if the tool executed without error\n    tool            The tool name that generated this response\n    source          Human-readable list of data agencies (for display)\n    confidence      Overall confidence score 0.0–1.0\n                    When provenance is present, derived as min(provenance.confidence)\n    data            Tool-specific payload (dict or list)\n    error           Error message if success=False, else None\n    cached          True if response was served from cache\n    ts              UTC timestamp of response generation\n    provenance      Per-record lineage (None for pre-provenance records)"
}
⚪norric_score_v1(orgnr)

Full intelligence package for a Swedish company: identity + geography (with lat/lng), risk score (band/tier/percentile/delta_7d/trajectory), decomposed signal flags (restanslängd, betalningsförelägganden, konkursansökan, F-skatt), insolvency timeline (onset date, days elapsed/remaining vs ~210-day median), supply-chain contagion preview, and active SIGNAL contracts. Single round-trip payload for the intelligence dashboard score card. Returns null for risk_* fields when score_source='no_signals'. Accepts orgnr with or without dash.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢norric_search_v1(q, limit)

Search the Norric monitored universe by organisation number prefix or company name prefix. Returns each match with its current risk score / band / tier when available. Use to resolve a typed query in the dashboard search bar to a concrete orgnr before calling norric_score_v1. Heuristic: if the query is digits + dashes, prefix-match orgnr_display; otherwise prefix-match name (case-insensitive). limit defaults to 10, max 50.

입력 스키마

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "integer"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪norric_contagion_map_v1(orgnr)

Supply-chain blast-radius shape for a HIGH or CRITICAL company, sized for the dashboard visualisation. Returns source company (with lat/lng), concentric rings of peers grouped by match_reason (same_sector_kommunkod = ring 1, same_sector_county = ring 2), each peer enriched with its own lat/lng and risk score, plus an aggregate summary. Reads the cached contagion_peers table (refreshed every 4h). Empty rings when no peers exist — caller should fall back to a non-spatial view. Same disclaimer as kreditvakt_contagion_v1: peers are probabilistic, not verified.

입력 스키마

{
  "type": "object",
  "properties": {
    "orgnr": {
      "type": "string"
    }
  },
  "required": [
    "orgnr"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡norric_watch_create_v1(event_types, callback_url, orgnrs, min_score_delta, description)

Create a Norric Watch: push a signed webhook to callback_url when a watched company's Kreditvakt data changes. Args: event_types: one or more of: company.risk_tier_changed, company.score_changed, company.debt_signal_new, company.bankruptcy_status_changed callback_url: HTTPS endpoint that receives signed POSTs (X-Norric-Signature: t=...,v1=... — HMAC-SHA256, like Stripe) orgnrs: Swedish org numbers to watch (e.g. ["556012-3456"]) min_score_delta: minimum 0-20 risk_score movement that fires company.score_changed (default 3) description: free-text label for this watch Returns the watch object including signing_secret — shown ONCE. Events emit after the daily scoring beat (~05:30 Europe/Stockholm); delivery is at-least-once, dedupe on X-Norric-Event-Id.

입력 스키마

{
  "type": "object",
  "properties": {
    "event_types": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "callback_url": {
      "type": "string"
    },
    "orgnrs": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "min_score_delta": {
      "default": 3,
      "type": "integer"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "event_types",
    "callback_url"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡norric_watch_list_v1

List your API key's watches with delivery stats (events_sent, last_delivery_at, consecutive_failures) and status (active/paused). A watch auto-pauses after 50 consecutive failed deliveries; resume with norric_watch_update_v1(status="active").

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟡norric_watch_update_v1(watch_id, event_types, orgnrs, min_score_delta, callback_url, ...)

Update a watch. Only the fields you pass change. Args: watch_id: watch_... id from create/list event_types: replacement event type list orgnrs: replacement watched-orgnr list min_score_delta: replacement score-delta threshold (1-20) callback_url: replacement HTTPS callback URL description: replacement label status: "paused" to stop delivery, "active" to resume (resume resets the consecutive-failure counter that auto-pauses at 50)

입력 스키마

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string"
    },
    "event_types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "orgnrs": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "min_score_delta": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "callback_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "watch_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🔴norric_watch_delete_v1(watch_id)

Delete a watch and its event history. Immediate; no delivery attempt is made after deletion.

입력 스키마

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string"
    }
  },
  "required": [
    "watch_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
⚪norric_watch_events_v1(watch_id, limit)

Recent events for a watch — delivery replay/audit. Includes dead-lettered events (status "dead", kept 30 days). Standard tier sees 7 days of history; Compliance sees full history. Args: watch_id: watch_... id limit: max events to return (1-200, default 50)

입력 스키마

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string"
    },
    "limit": {
      "default": 50,
      "type": "integer"
    }
  },
  "required": [
    "watch_id"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 42개
인증 필요버전이 기록되지 않음—