{"serverId":"mcp-registry/io.github.gucceed/norric-mcp","tools":[{"name":"kreditvakt_bankruptcy_status_v1","fixed":{"name":"kreditvakt_bankruptcy_status_v1","description":"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.","inputSchema":{"type":"object","required":["orgnr"],"properties":{"orgnr":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"norric_explain_score_v1","fixed":{"name":"norric_explain_score_v1","description":"Returns a human-readable explanation of how a specific score was computed,\nwith full source provenance. Intended for compliance teams and regulated\nworkflow integrations (e.g. a bank using Kreditvakt scores in credit decisions).\n\nArgs:\n    tool_name       The Norric tool that produced the score.\n                    e.g. \"kreditvakt_score_company_v1\"\n    record_id       The entity identifier for the record.\n                    For Kreditvakt/Sigvik: orgnr (10-digit)\n                    For SIGNAL","inputSchema":{"type":"object","required":["tool_name","record_id"],"properties":{"record_id":{"type":"string"},"tool_name":{"type":"string"},"include_raw_refs":{"type":"boolean","default":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":220,"tokensAfter":220},{"name":"norric_search_v1","fixed":{"name":"norric_search_v1","description":"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.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"limit":{"type":"integer","default":10}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":174,"tokensAfter":174},{"name":"norric_status_v1","fixed":{"name":"norric_status_v1","description":"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.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"norric_watch_create_v1","fixed":{"name":"norric_watch_create_v1","description":"Create a Norric Watch: push a signed webhook to callback_url when a\nwatched company's Kreditvakt data changes.\n\nArgs:\n    event_types: one or more of: company.risk_tier_changed,\n        company.score_changed, company.debt_signal_new,\n        company.bankruptcy_status_changed\n    callback_url: HTTPS endpoint that receives signed POSTs\n        (X-Norric-Signature: t=...,v1=... — HMAC-SHA256, like Stripe)\n    orgnrs: Swedish org numbers to watch (e.g. [\"556012-3456\"])\n    min_score_delta: minimum 0","inputSchema":{"type":"object","required":["event_types","callback_url"],"properties":{"orgnrs":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"event_types":{"type":"array","items":{"type":"string"}},"callback_url":{"type":"string"},"min_score_delta":{"type":"integer","default":3}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":275,"tokensAfter":275},{"name":"norric_watch_delete_v1","fixed":{"name":"norric_watch_delete_v1","description":"Delete a watch and its event history. Immediate; no delivery\nattempt is made after deletion.","inputSchema":{"type":"object","required":["watch_id"],"properties":{"watch_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"norric_watch_list_v1","fixed":{"name":"norric_watch_list_v1","description":"List your API key's watches with delivery stats (events_sent,\nlast_delivery_at, consecutive_failures) and status (active/paused).\nA watch auto-pauses after 50 consecutive failed deliveries; resume\nwith norric_watch_update_v1(status=\"active\").","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"norric_watch_update_v1","fixed":{"name":"norric_watch_update_v1","description":"Update a watch. Only the fields you pass change.\n\nArgs:\n    watch_id: watch_... id from create/list\n    event_types: replacement event type list\n    orgnrs: replacement watched-orgnr list\n    min_score_delta: replacement score-delta threshold (1-20)\n    callback_url: replacement HTTPS callback URL\n    description: replacement label\n    status: \"paused\" to stop delivery, \"active\" to resume (resume\n        resets the consecutive-failure counter that auto-pauses at 50)","inputSchema":{"type":"object","required":["watch_id"],"properties":{"orgnrs":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"watch_id":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"event_types":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null},"callback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"min_score_delta":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":322,"tokensAfter":322},{"name":"signal_weekly_call_list_v1","fixed":{"name":"signal_weekly_call_list_v1","description":"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.","inputSchema":{"type":"object","required":["vertikal"],"properties":{"limit":{"type":"integer","default":10},"vertikal":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":175,"tokensAfter":175},{"name":"siteloop_pipeline_status_v1","fixed":{"name":"siteloop_pipeline_status_v1","description":"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.","inputSchema":{"type":"object","properties":{"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"siteloop_submit_lead_v1","fixed":{"name":"siteloop_submit_lead_v1","description":"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.","inputSchema":{"type":"object","required":["business_name","category","address","phone"],"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"orgnr":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"phone":{"type":"string"},"source":{"type":"string","default":"api"},"address":{"type":"string"},"category":{"type":"string"},"business_name":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":238,"tokensAfter":238}],"toolsChanged":11,"tokensSaved":0,"todo":[{"tool":"danish_company_changes_v1","params":["days","limit","cvr_number","event_types"]},{"tool":"danish_company_verify_v1","params":["cvr_or_name"]},{"tool":"estonian_company_changes_v1","params":["days","limit","event_types","registry_code"]},{"tool":"estonian_company_verify_v1","params":["registry_code_or_name"]},{"tool":"finnish_company_changes_v1","params":["days","limit","business_id","event_types"]},{"tool":"finnish_company_verify_v1","params":["business_id_or_name"]},{"tool":"french_company_changes_v1","params":["days","limit","siren","event_types"]},{"tool":"french_company_verify_v1","params":["siren_or_name"]},{"tool":"kreditvakt_bankruptcy_status_v1","params":["orgnr"]},{"tool":"kreditvakt_batch_score_v1","params":["orgnrs"]},{"tool":"kreditvakt_contagion_v1","params":["limit","orgnr"]},{"tool":"kreditvakt_debt_signals_v1","params":["orgnr"]},{"tool":"kreditvakt_score_company_v1","params":["orgnr"]},{"tool":"norric_company_profile_v1","params":["orgnr"]},{"tool":"norric_contagion_map_v1","params":["orgnr"]},{"tool":"norric_data_freshness_v1","params":["agencies"]},{"tool":"norric_explain_score_v1","params":["record_id","tool_name","include_raw_refs"]},{"tool":"norric_score_v1","params":["orgnr"]},{"tool":"norric_search_v1","params":["q","limit"]},{"tool":"norric_watch_create_v1","params":["orgnrs","description","event_types","callback_url","min_score_delta"]},{"tool":"norric_watch_delete_v1","params":["watch_id"]},{"tool":"norric_watch_events_v1","params":["limit","watch_id"]},{"tool":"norric_watch_update_v1","params":["orgnrs","status","watch_id","description","event_types","callback_url","min_score_delta"]},{"tool":"norwegian_company_changes_v1","params":["days","limit","org_number","event_types"]},{"tool":"norwegian_company_verify_v1","params":["orgnr_or_name"]},{"tool":"signal_contract_expiry_alerts_v1","params":["vertikal","days_ahead"]},{"tool":"signal_municipality_briefing_v1","params":["vertikal","kommunkod"]},{"tool":"signal_score_municipality_v1","params":["vertikal","kommunkod"]},{"tool":"signal_sweden_pulse_v1","params":["vertikal"]},{"tool":"signal_weekly_call_list_v1","params":["limit","vertikal"]},{"tool":"sigvik_brf_avgift_v1","params":["brf_id"]},{"tool":"sigvik_brf_flags_v1","params":["brf_id"]},{"tool":"sigvik_score_brf_v1","params":["brf_id"]},{"tool":"siteloop_pipeline_status_v1","params":["city"]},{"tool":"siteloop_submit_lead_v1","params":["email","orgnr","phone","source","address","category","business_name"]},{"tool":"swedish_company_changes_v1","params":["days","limit","orgnr","event_types"]},{"tool":"swedish_company_verify_v1","params":["orgnr_or_name"]},{"tool":"vigil_lifecycle_stage_v1","params":["orgnr"]},{"tool":"vigil_new_companies_v1","params":["days_back","kommunkod"]},{"tool":"vigil_ownership_velocity_v1","params":["orgnr"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}