Przetargowy Janusz — Polish public tenders
Polish public tenders (przetargi): hybrid search, AI SWZ summaries, buyers, contractors, CPV stats.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin cpv_labels
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"tenders": {
"url": "https://przetargowyjanusz.pl/mcp"
}
}
}Remote-Endpunkte
https://przetargowyjanusz.pl/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (14)
🟢search_tenders(query, cpv, min_value, max_value, deadline_before, ...)
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. Only publicly-servable tenders with an AI summary are returned. `mode` is 'semantic', or 'lexical' when the embedding service is temporarily unavailable.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Natural-language query, e.g. 'budowa hali sportowej z basenem'"
},
"cpv": {
"description": "Restrict to tenders whose CPV includes this code",
"type": "string",
"pattern": "^\\d{8}-\\d$"
},
"min_value": {
"description": "Minimum estimated value (PLN)",
"type": "number",
"minimum": 0
},
"max_value": {
"description": "Maximum estimated value (PLN)",
"type": "number",
"minimum": 0
},
"deadline_before": {
"description": "ISO date; only tenders with submission deadline before it",
"type": "string"
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"semantic",
"lexical"
]
},
"query": {
"type": "string"
},
"filter": {
"type": "string"
},
"page": {
"type": "number"
},
"per_page": {
"type": "number"
},
"total": {
"type": "number"
},
"has_more": {
"type": "boolean"
},
"tenders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"buyer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"buyer_city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cpv": {
"type": "array",
"items": {
"type": "string"
}
},
"estimated_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"submission_deadline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"teaser": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"url",
"title",
"buyer",
"buyer_city",
"region",
"cpv",
"estimated_value",
"currency",
"submission_deadline",
"published_at",
"teaser"
],
"additionalProperties": false
}
}
},
"required": [
"page",
"per_page",
"total",
"has_more",
"tenders"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_tenders(filter, value, page, archived)
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 values.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"default": "all",
"type": "string",
"enum": [
"all",
"category",
"region",
"city"
]
},
"value": {
"description": "Required for category/region/city. CPV division code (e.g. '45000000'), region slug, or city slug — all from list_facets.",
"type": "string",
"maxLength": 64
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 200
},
"archived": {
"default": false,
"description": "Only for filter='all': return finished tenders instead.",
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"semantic",
"lexical"
]
},
"query": {
"type": "string"
},
"filter": {
"type": "string"
},
"page": {
"type": "number"
},
"per_page": {
"type": "number"
},
"total": {
"type": "number"
},
"has_more": {
"type": "boolean"
},
"tenders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"buyer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"buyer_city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cpv": {
"type": "array",
"items": {
"type": "string"
}
},
"estimated_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"submission_deadline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"teaser": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"url",
"title",
"buyer",
"buyer_city",
"region",
"cpv",
"estimated_value",
"currency",
"submission_deadline",
"published_at",
"teaser"
],
"additionalProperties": false
}
}
},
"required": [
"page",
"per_page",
"total",
"has_more",
"tenders"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_tender(slug)
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 (with that procedure's offer band — a price signal), the EU project funding it, and the bidders' Q&A. Returns not-found for non-public tenders.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "public_slug from a listing result"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"source": {
"type": "string"
},
"authority": {
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"nip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"nip",
"city",
"region"
],
"additionalProperties": false
},
"cpv": {
"type": "array",
"items": {
"type": "string"
}
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"submission_deadline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"opening_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scope_brief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"summary_sections": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "number"
},
"title": {
"type": "string"
},
"content_md": {
"type": "string"
}
},
"required": [
"number",
"title",
"content_md"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"winner_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"winner_nip": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"winner_foreign_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"winning_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"awarded_value_total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"offers_count": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"lowest_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"highest_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"winner_offer_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"offers_rejected": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"winner_was_cheapest": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"winner_name",
"winner_nip",
"winner_foreign_id",
"winning_value",
"awarded_value_total",
"offers_count",
"lowest_value",
"highest_value",
"winner_offer_value",
"offers_rejected",
"winner_was_cheapest",
"currency",
"created_at"
],
"additionalProperties": false
}
},
"cancelled_predecessor": {
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"submission_deadline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lowest_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"highest_value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"offers_count": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"partially_awarded": {
"type": "boolean"
}
},
"required": [
"title",
"url",
"submission_deadline",
"lowest_value",
"highest_value",
"offers_count",
"currency",
"partially_awarded"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"eu_project": {
"anyOf": [
{
"type": "object",
"properties": {
"contract_number": {
"type": "string"
},
"project_name": {
"type": "string"
},
"beneficiary_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"programme_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"priority_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"measure_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fund_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"total_value_pln": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"eu_cofinancing_pln": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"eu_cofinancing_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"started_on": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ends_on": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"contract_number",
"project_name",
"beneficiary_name",
"programme_name",
"priority_name",
"measure_name",
"fund_name",
"total_value_pln",
"eu_cofinancing_pln",
"eu_cofinancing_pct",
"started_on",
"ends_on"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"qa": {
"anyOf": [
{
"type": "object",
"properties": {
"total": {
"type": "number"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question_no": {
"type": "number"
},
"question": {
"type": "string"
},
"answer": {
"type": "string"
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"question_no",
"question",
"answer",
"published_at"
],
"additionalProperties": false
}
}
},
"required": [
"total",
"items"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"slug",
"url",
"title",
"source",
"authority",
"cpv",
"region",
"estimated_value",
"currency",
"submission_deadline",
"opening_date",
"published_at",
"scope_brief",
"summary_sections",
"results",
"cancelled_predecessor",
"eu_project",
"qa"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_entities(kind, query, limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"buyer",
"contractor"
]
},
"query": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "Name fragment or NIP, e.g. 'gmina wieliczka' or '6772...'"
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"kind",
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_buyer(slug)
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 and public finance (municipal budget, NFZ contracts, investments). Same data as its public page.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_contractor(slug)
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 data as its public page.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪cpv_stats(cpv, month)
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, 90000000, 34000000, 39000000, 55000000, 30000000, 48000000, 79000000, 50000000, 09000000, 38000000, 15000000, 80000000, 72000000, 85000000, 60000000, 42000000, 31000000, 32000000, 44000000.
Eingabe-Schema
{
"type": "object",
"properties": {
"cpv": {
"type": "string",
"minLength": 8,
"maxLength": 10,
"description": "8-digit CPV code, check digit optional, e.g. '45000000'"
},
"month": {
"description": "YYYY-MM; defaults to the latest closed month",
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
}
},
"required": [
"cpv"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢cpv_search(query, limit)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"limit": {
"default": 40,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢cpv_tree(parent)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"parent": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{8}-\\d$"
},
{
"type": "null"
}
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪cpv_labels(codes)
Resolve CPV codes to their Polish labels. Pass an array of full codes (e.g. ['45000000-7']).
Eingabe-Schema
{
"type": "object",
"properties": {
"codes": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{8}-\\d$"
}
}
},
"required": [
"codes"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_my_tenders(limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"default": 25,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_my_tenders(query, limit)
Plan-gated hybrid search over active tenders for the signed-in user's organization (the same search as the in-app command palette). Requires OAuth authentication and an active plan.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis