Skip to content
MMIT logo

MMIT MCP server

Which MCP servers are MMIT's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-27

← Back to MMIT

Whose server it is
  • Registry namecom.almmity.api/pl-firmyverified in the MCP registry

The registry name sits under almmity.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-27
  • Stateanswerschecked 2026-10-27
  • Tools20
  • Server calls itselfpl-firmy-mcp
  • Server version0.4.0
  • Protocol version2025-06-18

On 2026-10-27 the server answered initialize and tools/list without a sign-in. First answer in 501 ms.

Should an agent connect itSkip it
  • Its tools do none of the product's use cases we checked: check how a Google listing and website look to customers; add hours, photos and reviews to a Google listing.
  • Checked on 6 of the 7 days it takes to judge reliability.

Once connected

  • Keep approval on for export_transfer_batch: they delete, send or pay without saying so.
  • add_watch, remove_watch, export_transfer_batch change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 15 of 20 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 6, the first on 2026-10-27
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 6 so far
  • What an agent can do with it0 of 2 use cases
  • Answeredmeasuring6 of the 7 daily checks it takes to print a share
  • Median first answer503 ms
  • Space in an agent's context≈ 5,207 tokensthe definitions of all its tools (20), which an agent carries on every turn
  • Tool definitionsB · 88 of 100
  • Typed results20 of 20 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 15 of 20

What an agent can do with it

  • cannot · check how a Google listing and website look to customers
  • not sure · build a website for a business that has none
  • cannot · add hours, photos and reviews to a Google listing

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that delete, send or pay, marked as not destructive: export_transfer_batch
  • Tools that change data, on a server that answers without a sign-in: add_watch, remove_watch, export_transfer_batch

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers20 tools · read 2026-10-27
  • add_watch

    Once a day, check one Polish contractor (one NIP) in public registries. The check reads VAT status and white-list bank accounts from the Ministry of Finance, and reads KRS for liquidation, bankruptcy or restructuring. It stores the NIP…

  • list_watches

    List contractors monitored for your account, with the last stored status and recent change events. Reads only this server's database. Requires sign-in (OAuth) or an almmity API key.

  • remove_watch

    Remove one contractor, identified by NIP, from monitoring for your account. Deletes the watch and stops future alerts. Requires sign-in (OAuth) or an almmity API key.

  • payment_audit_report

    Before paying a Polish contractor, verify the NIP and bank account on the MF VAT white list for the payment date, check KRS and VIES, and store a PDF proof of due diligence (MF request IDs, timestamps, findings, SHA-256). Flags the 15 000…

  • check_vat_whitelist

    Query the Ministry of Finance VAT white list (wl-api.mf.gov.pl). Returns the full taxpayer card: name, NIP, VAT status, REGON, KRS, address, every account (groups of 4), registration/denial/removal/restoration dates with legal basis…

  • get_krs_extract

    Current KRS (National Court Register) extract: name, legal form, address, share capital, board and representation, proxies, PKD codes, liquidation and bankruptcy flags. Reads a public registry and does not change it. Callable without an…

  • find_company

    Combine the MF VAT white list and KRS into one normalized company profile. Provide one of nip, regon or krs. Reads public registries and does not change them. Callable without an API key, within the daily per-IP limit.

  • vies_check

    Validate an EU VAT number via the European Commission VIES REST API, for example PL7740001454 or DE811569869. Reads a public registry and does not change it. Callable without an API key, within the daily per-IP limit.

  • contractor_due_diligence

    Concise risk summary for a Polish contractor by NIP: VAT status, whitelisted accounts (optionally verify one bank account), and KRS liquidation, bankruptcy or restructuring flags. Reads public registries and does not change them. Callable…

  • validate_ksef_xml

    Validate a KSeF FA(3) invoice XML against the official Ministry of Finance schema (when xmllint and the vendored XSD are available) and against business rules: NIP checksum, totals, bank account checksum, required JST/GV, correction…

  • generate_fa3_xml

    Build a sales invoice XML in the FA(3) schema (kodSystemowy FA (3), variant 3) from seller, buyer and line items. Header VAT is computed from the summed net base of each rate. Does not send the invoice to KSeF and does not store it…

  • generate_correction_xml

    Build an FA(3) correction invoice (RodzajFaktury KOR). Header amounts are the difference versus the original. Pass beforeLines to emit state-before (StanPrzed) and state-after rows; otherwise lines are the delta. Does not send the invoice…

  • summarize_ksef_invoice

    Parse an FA(3) XML into a short Polish summary: parties, dates, net, VAT, gross, split payment, due date and bank account. Returns a link to the XML-to-PDF viewer. It creates a temporary PDF file on api.almmity.com, reachable by an…

  • build_transfer_title

    Build a Polish bank transfer title that carries one KSeF invoice number or a collective identifier (art. 108g VAT). mode=mpp builds the split-payment message /VAT/IDC/INV/TXT and checks the supplier NIP checksum. Does not send a payment…

  • calculate_late_interest

    Calculate Polish late-payment interest with the same rates and day count as ksef.almmity.com: commercial (NBP reference + 10 pp), medical public debtor (+ 8 pp) or statutory (reference + 5.5 pp), plus the 40/70/100 EUR compensation…

  • draft_payment_demand

    Draft a Polish pre-court payment demand (wezwanie do zapłaty) from the same interest calculation as calculate_late_interest, including art. 187 of the Code of Civil Procedure. Returns the text. It creates a temporary PDF file on…

  • nip_checksum

    Check the checksum of a Polish NIP (weights 6,5,7,2,3,4,5,6,7). Local arithmetic only. Callable without an API key. Does not look the NIP up in any registry.

  • list_cost_invoices

    List cost invoices already stored on the linked KSeF Płatności account: number, seller, amounts, due date, payment status and white-list check. Requires OAuth scope invoices.read. Never ask the user for a KSeF token or a password. Does…

  • unpaid_due_soon

    List unpaid cost invoices on the linked KSeF Płatności account that are overdue or due within withinDays (default 7, max 90). Requires OAuth scope invoices.read. Never ask for a KSeF token or a password.

  • export_transfer_batch

    Prepare an Elixir-0 transfer file for selected cost invoices on the linked KSeF Płatności account. Each account is re-checked on the MF white list for today; unsafe lines are left out of the file. Requires OAuth scope transfers.prepare…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "pl-firmy": {
      "type": "http",
      "url": "https://api.almmity.com/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http almmity https://api.almmity.com/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://api.almmity.com/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.