{"name":"io.github.bartosz-kuc/skanfirmy","slug":"bartosz-kuc-skanfirmy","title":"skanfirmy.pl","description":"Verify Polish companies by NIP/KRS/REGON + EU VAT (VIES). 14 MCP tools (9 no-key).","url":"https://mcp.market/server/bartosz-kuc-skanfirmy","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":20,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-01T11:10:31.000Z","license":"MIT"},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/bartosz-kuc/skanfirmy-mcp","website":null,"version":"1.1.2","remotes":[{"type":"streamable-http","url":"https://skanfirmy.pl/mcp"}],"packages":[],"tools":[{"name":"changes_since","description":"Return changes (VAT status, bank accounts, or registry data — name, address, KRS, REGON — from the White List) detected since a given date for the NIPs you monitor. The field property is one of: status_vat, account_added, account_removed, name, address, krs, regon. A polling channel for agents. Requires a skanfirmy API key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"since":{"type":"string","description":"ISO date/timestamp (e.g. 2026-08-01). Returns changes since that date. Defaults to the beginning."},"api_key":{"type":"string","description":"skanfirmy API key (optional, if not in the header)."}},"required":[]}},{"name":"generuj_mikrorachunek","description":"Generate the individual tax micro-account (for PIT/CIT/VAT payments) from a NIP or PESEL.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identyfikator":{"type":"string","description":"NIP (10 digits) or PESEL (11 digits)."}},"required":["identyfikator"]}},{"name":"list_observations","description":"Return the list of NIPs you monitor, with their current VAT status and last-checked date. Each entry keeps the raw Ministry of Finance literal in status_vat and, when a status is known, adds derived language-neutral fields vat_active (boolean) and status_vat_code (active/exempt/not_registered). Requires a skanfirmy API key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"api_key":{"type":"string","description":"skanfirmy API key (optional, if not in the header)."}},"required":[]}},{"name":"oblicz_odsetki","description":"Calculate statutory or commercial (B2B) late-payment interest, broken down by NBP reference-rate periods.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kwota":{"type":"number","description":"Overdue amount in PLN."},"dataOd":{"type":"string","description":"Payment due date, format YYYY-MM-DD."},"dataDo":{"type":"string","description":"Actual payment date, format YYYY-MM-DD."},"typ":{"type":"string","enum":["kc","h10","h8"],"description":"kc = statutory late-payment interest (Civil Code art. 481, NBP reference rate + 5.5 pp); h10 = commercial B2B transactions, non-public debtor (NBP reference rate on 1 Jan / 1 Jul + 10 pp); h8 = commercial transactions, public healthcare debtor (NBP reference rate on 1 Jan / 1 Jul + 8 pp)."}},"required":["kwota","dataOd","dataDo","typ"]}},{"name":"observe_nip","description":"Add a NIP to monitoring. You get notified (via changes_since or email) when its VAT status, bank account, or registry data shown on the Ministry of Finance White List (name, address, KRS, REGON) changes. Requires a skanfirmy API key (Authorization: Bearer, or the api_key argument). Free plan: up to 10 NIPs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"nip":{"type":"string","description":"10-digit NIP to monitor."},"api_key":{"type":"string","description":"skanfirmy API key (if not provided in the Authorization header)."}},"required":["nip"]}},{"name":"set_webhook","description":"Set (or clear) a push webhook URL for your monitoring, instead of or in addition to polling. When we detect a change for a monitored NIP, we send a POST signed with HMAC-SHA256 (X-Skanfirmy-Signature header). Returns the secret ONCE. Pass an empty url to disable. Requires a skanfirmy API key. Public https addresses only (port 443).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public https URL of the receiver (empty = disable the webhook)."},"api_key":{"type":"string","description":"skanfirmy API key (optional, if not in the header)."}},"required":[]}},{"name":"sprawdz_lista_nip","description":"Bulk-check up to 30 NIPs in one call to the Ministry of Finance VAT White List: VAT status, bank accounts, REGON, KRS and address of each entity. For verifying a portfolio of counterparties. Ministry limits: max 30 NIPs per call, about 500 bulk queries/day per IP. Does not fetch full KRS data (use sprawdz_nip for individual entities).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"nipy":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":30,"description":"List of NIPs (1 to 30). Each 10-digit with a valid checksum. Invalid NIPs are returned separately in the invalidInput field."}},"required":["nipy"]}},{"name":"sprawdz_nip","description":"Check VAT status (VAT White List / Biała Lista) and KRS data for a Polish company by NIP.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"nip":{"type":"string","description":"10-digit Polish NIP (tax ID)."}},"required":["nip"]}},{"name":"sprawdz_rachunek","description":"Check whether a bank account number (NRB) appears in the VAT White List for a given NIP. Due diligence for payments above PLN 15,000.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"nip":{"type":"string","description":"10-digit NIP of the counterparty."},"numerRachunku":{"type":"string","description":"26-digit bank account number (NRB), without the PL prefix."}},"required":["nip","numerRachunku"]}},{"name":"sprawdz_regon","description":"Look up entity data in the REGON register (Statistics Poland / GUS BIR) by NIP: REGON number, official name, legal form (legal or natural person), full address (voivodeship, county, municipality). Covers ALL entities, including sole proprietors that are not in the KRS.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"nip":{"type":"string","description":"10-digit Polish NIP (tax ID)."}},"required":["nip"]}},{"name":"sprawdz_vies","description":"Validate a counterparty's EU VAT number in the VIES system (European Commission).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"countryCode":{"type":"string","enum":["AT","BE","BG","CY","CZ","DE","DK","EE","EL","ES","FI","FR","HR","HU","IE","IT","LT","LU","LV","MT","NL","PL","PT","RO","SE","SI","SK","XI"],"description":"Two-letter EU country code (e.g. DE, IE, FR)."},"vatNumber":{"type":"string","description":"VAT number without the country prefix."}},"required":["countryCode","vatNumber"]}},{"name":"szukaj_katalog_api","description":"Search otwarteAPI.pl, a catalog of public Polish and EU APIs (VAT, KRS, GUS, NBP, ECB, Eurostat and more). Returns matching entries with a link to each API's official docs. An empty query returns the whole catalog (optionally narrowed by scope or topic).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zapytanie":{"type":"string","description":"Natural-language query, e.g. \"euro exchange rate\" or \"weather data\". Optional."},"zasieg":{"type":"string","enum":["PL","EU"],"description":"Narrow to Polish (PL) or EU APIs. Optional."},"temat":{"type":"string","description":"Narrow to a specific catalog tag, e.g. \"firmy\" or \"dane-statystyczne\". Optional."}},"required":[]}},{"name":"szukaj_pkd","description":"Search PKD 2025 business activity codes by activity name or code number.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zapytanie":{"type":"string","description":"Activity name (e.g. \"software\") or PKD code (e.g. \"62.01\")."}},"required":["zapytanie"]}},{"name":"unobserve_nip","description":"Remove a NIP from monitoring. Requires a skanfirmy API key.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"nip":{"type":"string","description":"10-digit NIP to remove from monitoring."},"api_key":{"type":"string","description":"skanfirmy API key (optional, if not in the header)."}},"required":["nip"]}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-09-19T04:45:31.896Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T04:45:31.809Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 328ms"]},"poisoning":{"score":15,"max":15,"notes":["14 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 18 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://skanfirmy.pl/mcp","reachable":true,"authRequired":false,"latencyMs":328,"serverInfo":{"name":"skanfirmy-mcp","version":"1.1.2"}}],"packages":[],"repo":{"found":true,"owner":"bartosz-kuc","repo":"skanfirmy-mcp","archived":false,"pushedAt":"2026-09-01T11:10:31Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/95177427?v=4","ownerCreatedAt":"2021-11-28T14:40:18Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/95177427?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-01T11:10:31.000Z","score":20}}}},"grade_history":[],"reviews":[]}