Norric

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
72%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (6)

  • LOWTool 'kreditvakt_score_company_v1' description lacks action verbin kreditvakt_score_company_v1
  • LOWTool 'sigvik_score_brf_v1' description lacks action verbin sigvik_score_brf_v1
  • LOWTool 'sigvik_brf_avgift_v1' description lacks action verbin sigvik_brf_avgift_v1
  • LOWTool 'signal_municipality_briefing_v1' name length outside 3-30 rangein signal_municipality_briefing_v1
  • LOWTool 'signal_contract_expiry_alerts_v1' name length outside 3-30 rangein signal_contract_expiry_alerts_v1
  • LOWTool 'kreditvakt_bankruptcy_status_v1' name length outside 3-30 rangein kreditvakt_bankruptcy_status_v1

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~8,252Tokens (Tool-Definitionen)
~1.1 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (6.45% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (42)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
⚪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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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).

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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).

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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).

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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").

Eingabe-Schema

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

Ausgabe-Schema

{
  "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)

Eingabe-Schema

{
  "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
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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)

Eingabe-Schema

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

Ausgabe-Schema

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

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet42 Tools
Authentifizierung erforderlichVersion nicht aufgezeichnet—