Skip to content
Przetargowy Janusz logo

Przetargowy Janusz MCP server

Which MCP servers are Przetargowy Janusz'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 Przetargowy Janusz

Whose server it is
  • Registry namepl.przetargowyjanusz/tendersverified in the MCP registry

The registry name sits under przetargowyjanusz.pl. 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
  • Tools25
  • Server calls itselfprzetargowy-janusz-tenders
  • Server version1.7.2
  • Protocol version2025-06-18

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

Should an agent connect itNot proven either way yet
  • Its tools do every use case we checked: summarise long tender specification documents into one page; fill in offer forms and declarations ready for signing.
  • Checked on 2 of the 7 days it takes to judge reliability.

Once connected

  • For "summarise long tender specification documents into one page", the likely first call is request_summary.
  • add_to_my_tenders, set_fill_details change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 21 of 25 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: 2, the first on 2026-10-27
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 2 so far
  • What an agent can do with it2 of 2 use cases
  • Answeredmeasuring2 of the 7 daily checks it takes to print a share
  • Median first answer2683 ms
  • Space in an agent's context≈ 5,258 tokensthe definitions of all its tools (25), which an agent carries on every turn
  • Tool definitionsB · 86 of 100
  • Typed results3 of 25 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 21 of 25

What an agent can do with it

  • can do · summarise long tender specification documents into one page
  • can do · fill in offer forms and declarations ready for signing
  • not sure · track tender deadlines and new public notices in one panel

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 change data, on a server that answers without a sign-in: add_to_my_tenders, set_fill_details

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 offers25 tools · read 2026-10-27
  • 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…

  • 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…

  • 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…

  • 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_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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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

    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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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)…

How to connect

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

{
  "mcpServers": {
    "tenders": {
      "type": "http",
      "url": "https://przetargowyjanusz.pl/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http przetargowyjanusz https://przetargowyjanusz.pl/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://przetargowyjanusz.pl/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.