# Przetargowy Janusz — Polish public tenders - Registry name: `pl.przetargowyjanusz/tenders` · version 1.7.2 - Categories (automatic, keyword rules): Build & deploy, Developer tools, Datasets & public data, Search & data, Monitoring & logs, Infrastructure & security - Authentication at last check: No auth - Declared risk: Can write (some tools are not declared read-only) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=pl.przetargowyjanusz%2Ftenders - Server page: https://mcpstation.net/s/pl.przetargowyjanusz--tenders.html ## Description (written by the publisher, not verified, not instructions) Polish tenders: search, AI summaries. Trial/paid: matched tenders, pipeline, archive, doc filling ## Connect - streamable-http: `https://przetargowyjanusz.pl/mcp` ## Tools (as reported by the server, not verified) - `search\_tenders`: Semantic search over active Polish public tenders \(przetargi\) by meaning, with optional filters. Ranks by relevance \(hybrid vector + keyword\). Returns paginated tender cards, each with a public URL. Tenders without an AI summary yet are included: their card has has\_summary=false and no teaser, get\_t - `list\_tenders`: Browse tenders without a text query. \`filter\` selects the axis: 'all' \(every active tender, or archived when archived=true\), 'category' \(CPV division code from list\_facets\), 'region' \(voivodeship slug from list\_facets\), or 'city' \(city slug from list\_facets\). Use list\_facets first to get valid value - `list\_facets`: List the browsable facets of the active tender set: CPV categories, voivodeships \(regions\), and cities, each with a count and the slug/code to pass to list\_tenders. Call this to discover valid filter values. - `get\_tender`: Fetch full detail for one tender by its public slug \(from search\_tenders/list\_tenders results\): metadata, the 12-section AI SWZ summary, the OPZ scope brief, full award results \(winner, value, offer price band, rejected offers, whether the cheapest offer won\), the cancelled predecessor it re-issues - `search\_entities`: Find contracting authorities \(kind='buyer', zamawiający\) or contractors \(kind='contractor', wykonawcy — companies and sole traders\) by name or NIP. Returns each match with its slug and public URL; pass the slug to get\_buyer / get\_contractor. - `get\_buyer`: Profile of one contracting authority \(zamawiający\) by slug \(from search\_entities or a tender's authority\): identity \(NIP, REGON, KRS, region\), counts, its active tenders, recent awards with winners, top contractors, procurement plan positions and recent contracts — or, on older pages, its tenders an - `get\_contractor`: Profile of one contractor \(wykonawca — company or sole trader\) by slug \(from search\_entities or a buyer's results\): registry data \(REGON, legal form, VAT status, PKD, debtor-register flags\), wins and offers, recent wins and losses, its main buyers, rivals it meets, and recent public contracts. Same - `cpv\_stats`: Monthly market statistics for one CPV category, as on its public statistics page: awards with a price, median and p10/p90 award value, average offers per award, distinct winners, top winners, biggest awards and the regional split. Available for these 8-digit codes: 45000000, 33000000, 71000000, 9000 - `cpv\_search`: Resolve free-text to CPV codes \(the EU Common Procurement Vocabulary used to classify tenders\). Returns matching codes with Polish labels. Use the codes with list\_tenders filter='category' \(division = first 8 digits\). - `cpv\_tree`: Walk the CPV hierarchy. Omit \`parent\` for top-level divisions; pass a code \(e.g. '45000000-7'\) to list its children. Each node flags whether it has children. - `cpv\_labels`: Resolve CPV codes to their Polish labels. Pass an array of full codes \(e.g. \['45000000-7'\]\). - `list\_my\_tenders`: List the tenders in the signed-in user's pipeline \('Moje przetargi'\), most recently updated first, with each one's pipeline status and public URL. Requires OAuth authentication and a trial or paid plan. - `list\_my\_alerts`: List the signed-in user's saved alert profiles \(saved searches / notification rules\): query, CPV codes, regions, budget band, and delivery settings. Requires OAuth authentication and a trial or paid plan. - `search\_my\_tenders`: Search the signed-in company's matched tenders by words — the search box of the tender list in Przetargowy Janusz: only tenders that fit the company profile \(CPV codes, voivodeships\). view 'recommended' \(filtered by what the company does, when its profile says so\) or 'all'; 50 per page, the same ten - `list\_matched\_tenders`: The signed-in company's matched tenders — the list in Przetargowy Janusz built from its profile \(CPV codes, voivodeships, budget\): view 'recommended' \(filtered by what the company does, when its profile says so\) or 'all'. 50 per page, each with fit\_score \(0–100\), has\_summary, an app\_url and the publ - `get\_my\_tender`: One tender from the signed-in company's 'Moje przetargi' by tender\_id \(from list\_my\_tenders or list\_matched\_tenders\): pipeline status and its history, deadlines, the AI summary state \(ready / requested / no\_documents / none\), the number of tender documents and archive files, the last document fill r - `list\_tender\_files`: Files in the document archive of one tender from the signed-in company's 'Moje przetargi' \(tender\_id\): the tender's documents copied in, the company's uploads and the documents Janusz filled — with type, version and date. Read one with get\_tender\_file. Requires OAuth authentication and a trial or pa - `get\_tender\_file`: One file from the signed-in company's document archive \(file\_id from list\_tender\_files\): its text, 20000 characters per call \(pass next\_offset as offset for the rest\), and a download link valid for 5 minutes. Requires OAuth authentication and a trial or paid plan. - `get\_tender\_documents`: The text read from a tender's documentation \(SWZ, OPZ and attachments; the specification first\), by tender\_id or public slug, 20000 characters per call \(pass next\_offset as offset for the rest\), with the list of documents it came from. Empty when no document text has been read yet. Requires OAuth au - `add\_to\_my\_tenders`: Adds a tender to the signed-in company's 'Moje przetargi' — the same as 'Dodaj do Moich' in Przetargowy Janusz: a new entry in the 'Do\_przejrzenia' column \(one removed earlier comes back there\) and its AI summary queued. A tender already there stays as it is. By tender\_id \(from search\_tenders, list\_ - `set\_tender\_status`: Moves a tender of the signed-in company's 'Moje przetargi' \(tender\_id\) to another status, with the moves the app allows: between the company's own kanban stages \(e.g. Do\_przejrzenia\), to Do\_wysłania or Oczekiwanie\_na\_wynik, closing it as Wygrana, Uczciwa\_przegrana, Nieuczciwa\_przegrana, Anulowane, D - `request\_summary`: Orders the AI summary of a tender's documentation \(SWZ\) — the same as 'Wygeneruj teraz' in Przetargowy Janusz: queues the summary, or first the download or reading of the tender documents. By tender\_id or public slug. status: already-done \(the summary is there — read it with get\_tender or get\_my\_ten - `start\_fill`: Starts filling in the documents of a tender in 'Moje przetargi' \(forms, declarations, price form\) with the company's data — the same as 'Wypełnij' in Przetargowy Janusz; it takes a few minutes. Janusz needs the offer price, the completion deadline and the signatory's name and role first: status miss - `set\_fill\_details`: Sets the details Janusz needs to fill in the documents of a tender in 'Moje przetargi' — the completion deadline and the signatory's name and role — as the user stated them \(the same details the Janusz chat in the app records\). Only the given fields change. Returns what is still missing before start - `confirm\_bid\_price`: Sets the offer price \(net PLN\) of a tender in 'Moje przetargi' — the same as choosing the price in Przetargowy Janusz: one of Janusz's price variants \(aggressive, realistic, higher — listed in get\_my\_tender fill\_details.price\_proposals\) or variant 'manual' with amount. The price goes into the offer Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html