Polish Public Tenders

Polish public procurement for AI agents: BZP and TED tenders, awards, buyers and contractors.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
83%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,929Tokens (definiciones de herramientas)
~2.4 KBTamaño de respuesta típico
Impacto significativo en la atención (2.29% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "polish-public-tenders": {
      "url": "https://compabase.com/api/mcp/tenders"
    }
  }
}

Puntos de conexión remotos

https://compabase.com/api/mcp/tendersstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_tenders(status, industry, region, city, kind, ...)

Search Polish public procurement notices from BZP (national) and TED (EU): open calls with deadlines or awarded contracts. Filter by industry (it, construction, medicine, or a 2-digit CPV division such as 72), region, buyer city, kind and value. Returns title, buyer, CPV codes, publication date, deadline, estimated or awarded value and a link to the notice.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "open",
        "awarded"
      ],
      "description": "open (default) or awarded notices."
    },
    "industry": {
      "type": "string",
      "description": "it, construction, medicine, or a 2-digit CPV division code (e.g. 72, 45, 33)."
    },
    "region": {
      "type": "string",
      "enum": [
        "dolnośląskie",
        "kujawsko-pomorskie",
        "lubelskie",
        "lubuskie",
        "łódzkie",
        "małopolskie",
        "mazowieckie",
        "opolskie",
        "podkarpackie",
        "podlaskie",
        "pomorskie",
        "śląskie",
        "świętokrzyskie",
        "warmińsko-mazurskie",
        "wielkopolskie",
        "zachodniopomorskie"
      ],
      "description": "Voivodeship of the buyer."
    },
    "city": {
      "type": "string",
      "description": "Buyer city, e.g. Warszawa."
    },
    "kind": {
      "type": "string",
      "enum": [
        "supplies",
        "services",
        "works"
      ],
      "description": "Contract type."
    },
    "source": {
      "type": "string",
      "enum": [
        "national",
        "eu"
      ],
      "description": "national (BZP) or eu (TED). Default: both."
    },
    "value_min": {
      "type": "number",
      "description": "Minimum estimated/awarded value."
    },
    "value_max": {
      "type": "number",
      "description": "Maximum estimated/awarded value."
    },
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "EUR",
        "USD"
      ],
      "description": "Currency for value filters and output. Default PLN."
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "maximum": 50,
      "description": "Result page (20 per page)."
    }
  },
  "additionalProperties": false
}
🟢search_companies(name, krs, nip, city, county, ...)

Search and filter Polish KRS companies (spółki). Compabase also holds the full CEIDG/JDG register; this tool does not browse JDG — those without a public contact email are hidden because of RODO. Default `fields=summary` returns a compact row (name, NIP, KRS, location, PKD, latest financials, email/phone/website) — small enough for MCP clients. `fields=contacts_only` is name/NIP/KRS/city/email/phone/website only. `fields=full` returns every company_search column plus contacts and may exceed client size limits. Use for rankings, sector filters, city/county/region browsing, name search, or NIP/KRS lookup. When a PKD is mostly JDG, a sparse result includes a `hint` (full CEIDG is in the database; listing is RODO-gated). Do not call export_companies just to get a handful of emails or phones.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    },
    "city": {
      "type": "string",
      "description": "City name — KRS records use uppercase, e.g. 'WARSZAWA', 'POZNAŃ'."
    },
    "county": {
      "type": "string",
      "description": "County / powiat (lowercase)."
    },
    "region": {
      "type": "string",
      "description": "Voivodeship (lowercase), e.g. 'mazowieckie', 'wielkopolskie'."
    },
    "postal_code": {
      "type": "string",
      "description": "Postal code prefix, e.g. '00-9' or '61-'."
    },
    "pkd": {
      "type": "string",
      "description": "Primary PKD code prefix, e.g. '46.90.Z' or '46'."
    },
    "all_pkd": {
      "type": "string",
      "description": "Match any PKD code in the company's activity list (not just primary)."
    },
    "legal_form": {
      "type": "string",
      "description": "Legal form fragment, e.g. 'spółka z o.o.' or 'akcyjna'."
    },
    "currency": {
      "type": "string",
      "enum": [
        "pln",
        "usd",
        "eur"
      ],
      "description": "Currency for monetary filters. Default: pln."
    },
    "revenue_min": {
      "type": "number",
      "description": "Minimum total revenue."
    },
    "revenue_max": {
      "type": "number",
      "description": "Maximum total revenue."
    },
    "profit_min": {
      "type": "number",
      "description": "Minimum net profit."
    },
    "profit_max": {
      "type": "number",
      "description": "Maximum net profit."
    },
    "profit_operating_min": {
      "type": "number",
      "description": "Minimum operating profit (PLN). Negative allowed. Omit if unused."
    },
    "profit_operating_max": {
      "type": "number",
      "description": "Maximum operating profit (PLN). Omit if unused."
    },
    "total_assets_min": {
      "type": "number",
      "description": "Minimum total assets."
    },
    "total_assets_max": {
      "type": "number",
      "description": "Maximum total assets."
    },
    "ebitda_min": {
      "type": "number",
      "description": "Minimum EBITDA."
    },
    "ebitda_max": {
      "type": "number",
      "description": "Maximum EBITDA."
    },
    "capital_min": {
      "type": "number",
      "description": "Minimum share capital."
    },
    "capital_max": {
      "type": "number",
      "description": "Maximum share capital."
    },
    "estimated_value_min": {
      "type": "number",
      "description": "Minimum Ohlson estimated equity value in PLN."
    },
    "estimated_value_max": {
      "type": "number",
      "description": "Maximum Ohlson estimated equity value in PLN."
    },
    "registration_date_min": {
      "type": "string",
      "description": "Earliest KRS registration date, YYYY-MM-DD (inclusive). For newly registered companies use today's date for both registration_date_min and registration_date_max."
    },
    "registration_date_max": {
      "type": "string",
      "description": "Latest KRS registration date, YYYY-MM-DD (inclusive)."
    },
    "is_active": {
      "type": "boolean",
      "description": "true = active only, false = closed only. Omit for all."
    },
    "has_email": {
      "type": "boolean",
      "description": "true = only companies with email on record. Matching rows include contacts.email. Omit otherwise."
    },
    "has_website": {
      "type": "boolean",
      "description": "true = only companies with website on record. Matching rows include contacts.website. Omit otherwise."
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "revenue_total",
        "profit_net",
        "total_assets",
        "profit_operating",
        "ebitda",
        "capital_total",
        "estimated_value",
        "registration_date"
      ],
      "description": "Sort field (default: revenue_total). registration_date + sort_dir=desc lists the newest registrations first."
    },
    "sort_dir": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ],
      "description": "Sort direction (default: desc)."
    },
    "year": {
      "type": "integer",
      "description": "Filter to companies whose latest financial_period_to falls within this calendar year (e.g. 2024). Use only for sector/ranking browse — omit when looking up a company by name, KRS, or NIP."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Max results (default: 10, max: 50)."
    },
    "fields": {
      "type": "string",
      "enum": [
        "contacts_only",
        "summary",
        "full"
      ],
      "description": "Response size. Default summary (name, NIP, KRS, location, PKD, latest financials, email/phone/website). contacts_only: name, NIP, KRS, city, email, phone, website. full: every company_search column plus contacts — often too large for MCP clients."
    }
  }
}
🟢get_company(name, krs, nip)

Get the registry profile of one Polish company: name, legal form, address, industry (PKD), share capital, representation rules, recent registry changes, VAT status and headline financials for the latest filed period. Identify the company by name, KRS number or company tax number (NIP). For earlier years or full statements use get_financials.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    }
  }
}
🟢get_company_public_aid(name, krs, nip)

Get SUDOP public aid / grants for a company — full case list with amounts, grantor, measure, purpose. Keyed by NIP. Identify company by name, KRS, or NIP.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    }
  }
}
🟢get_company_eu_funds(name, krs, nip)

Get European Funds (Fundusze Europejskie) projects for a company — official MFiPR lists, EU co-financing, programme and dates. Keyed by NIP. Identify company by name, KRS, or NIP. Cohesion/shared-management funds; not TED procurement, not FTS Commission grants, and not SUDOP state aid.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    }
  }
}
🟢get_company_eu_grants(name, krs, nip)

Get European Commission grants awarded directly to a Polish company (Horizon Europe, LIFE, Erasmus+ and other EU programmes from the EU Financial Transparency System). Identify the company by name, KRS number or company tax number (NIP).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    }
  }
}
🟢get_company_public_tenders(name, krs, nip)

Get BZP public procurement data — full awards as contractor and notices as buyer, with award values. Keyed by NIP. Identify company by name, KRS, or NIP.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    }
  }
}
🟢get_company_eu_tenders(name, krs, nip)

Get TED EU-threshold public procurement — full awards as contractor and notices as buyer. Keyed by NIP. Identify company by name, KRS, or NIP.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name, used when the KRS or NIP is not known."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company in the Polish National Court Register (10 digits)."
    },
    "nip": {
      "type": "string",
      "description": "Polish company tax number (NIP) of the business, 10 digits."
    }
  }
}
🟢get_usage

Get current billing period usage and remaining quota — mcp_queries, api_requests, export_companies, ask_ai_credits, watchlist_companies. Includes limits and reset date.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas