Skip to main content
Glama
Atlas Przetargów

Atlas Przetargów

Atlas Przetargów — MCP Server

npm version License: MIT

The first MCP server for Polish public procurement data. Query 800 000+ Polish public tenders (BZP + TED), buyer/contractor profiles, and category statistics directly from Claude Desktop, Cursor, Continue, Cline, or any MCP-compatible AI client.

Powered by Atlas Przetargów — the Polish public procurement search and analytics platform.


What is this?

The Model Context Protocol (MCP) lets AI assistants connect to external tools and data. This server exposes the Atlas Przetargów API to any MCP client, giving your AI assistant the ability to:

  • Search Polish public tenders by keyword, CPV category, location, value, or deadline

  • Get full tender details including buyer, CPV codes, estimated value, deadlines, optional AI-generated summary

  • Profile any procuring entity (zamawiający) by NIP — including who wins their contracts most often

  • Profile any contractor (wykonawca) by NIP — including which buyers they win from

  • Analyze market statistics for any CPV category (count, median value, avg offers, avg deadline)

  • Compare provinces and cities in procurement volume

  • Access a glossary of 90+ Polish public procurement terms

  • Use guided workflows (prompts) for tender analysis, buyer due diligence, and opportunity discovery


Related MCP server: Polish Public Tenders (e-Zamówienia/BZP) MCP

Quick start (Claude Desktop)

Option A — via npx (recommended, no install)

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add:

{
  "mcpServers": {
    "atlas-przetargow": {
      "command": "npx",
      "args": ["-y", "@atlasprzetargow/mcp"]
    }
  }
}

Restart Claude Desktop. The Atlas tools will appear in the tools panel.

Option B — global install

npm install -g @atlasprzetargow/mcp

Then in claude_desktop_config.json:

{
  "mcpServers": {
    "atlas-przetargow": {
      "command": "atlas-przetargow-mcp"
    }
  }
}

Usage examples (in Claude Desktop)

"Find active construction tenders in Warsaw with budget 500k–5M PLN and show me the top 5"

"Use the buyer-due-diligence prompt for NIP 5252248481" (→ runs due diligence on the City of Warsaw as a procuring entity)

"What's the median value of IT tenders in Poland last year?"

"Look up tender 2026/BZP 00202613 and analyze its key terms and risks"

"Find me the CPV code for medical equipment and show active tenders"

"Who most frequently wins contracts from GDDKiA (National Roads Authority)?"


Tools

Tool

Description

search_tenders

Search tenders with filters (query, CPV, city, province, value range, dates, sort)

get_tender

Full details of a tender by ID, optionally with AI summary

get_buyer

Profile of a procuring entity by NIP + top winning contractors

get_contractor

Profile of a contractor by NIP + top buyers they win from

search_entities

Find buyers / contractors by name (returns NIP for other tools)

get_category_stats

Aggregate stats for a CPV category (count, median, avg offers, avg deadline)

get_province_stats

Statistics by province or city (top buyers, top CPV)

search_cpv

Look up CPV codes by Polish keyword

Resources

URI

Description

atlas://glossary

Index of 90+ Polish public procurement terms

atlas://glossary/{slug}

Full definition of a specific term

atlas://knowledge

Index of long-form knowledge base articles

atlas://knowledge/{slug}

Full knowledge base article

Prompts

Prompt

Description

analyze-tender

Comprehensive analysis of a tender notice: scope, value, deadlines, risks, recommendation

buyer-due-diligence

Due diligence on a procuring entity: purchase profile, contractor network, red flags

find-opportunities

Find active tender opportunities matching a CPV + location + value profile


Configuration (environment variables)

All optional. Defaults are safe.

Variable

Default

Description

ATLAS_API_BASE

https://atlasprzetargow.pl

API root. Useful for staging or self-hosted Atlas

ATLAS_API_KEY

(none)

Optional Atlas API key (atlas_...), generated at https://atlasprzetargow.pl/konto (tab "API"). Raises the daily request quota (anonymous: 1 500/day per IP, key: 5 000/day) and is sent as X-Api-Key. Docs: https://atlasprzetargow.pl/dokumentacja-api

ATLAS_TIMEOUT_MS

20000

Request timeout

ATLAS_MAX_RETRIES

2

Retry count for 429 / 5xx / timeouts

Pass them via your MCP client config:

{
  "mcpServers": {
    "atlas-przetargow": {
      "command": "npx",
      "args": ["-y", "@atlasprzetargow/mcp"],
      "env": {
        "ATLAS_API_KEY": "atlas_your_key_here"
      }
    }
  }
}

Polish public procurement — quick reference

  • BZP (Biuletyn Zamówień Publicznych) — Polish national tender registry. IDs look like 2026/BZP 00202613.

  • TED (Tenders Electronic Daily) — EU-wide tender registry, required for tenders above EU thresholds.

  • CPV (Common Procurement Vocabulary) — 8-digit category codes, e.g. 45000000 = construction, 72000000 = IT.

  • NIP — Polish 10-digit tax ID, used to identify every buyer / contractor.

  • Province codes: PL02 dolnośląskie · PL04 kujawsko-pomorskie · PL06 lubelskie · PL08 lubuskie · PL10 łódzkie · PL12 małopolskie · PL14 mazowieckie · PL16 opolskie · PL18 podkarpackie · PL20 podlaskie · PL22 pomorskie · PL24 śląskie · PL26 świętokrzyskie · PL28 warmińsko-mazurskie · PL30 wielkopolskie · PL32 zachodniopomorskie

  • Notice types:

    • ContractNotice — active tender, open for bids

    • TenderResultNotice / ContractAwardNotice — results (who won, at what price)

    • CompetitionNotice, ConcessionNotice — specialized notices


Development

git clone https://github.com/atlasprzetargow/mcp-server.git
cd mcp-server
npm install
npm run build
npm run smoke   # runs all tools against production API

# Test locally in Claude Desktop:
# Point the "command" in claude_desktop_config.json to the absolute path of dist/index.js:
# "command": "node", "args": ["/abs/path/to/mcp-server/dist/index.js"]

Rate limits & fair use

Atlas Przetargów API has a per-IP rate limit (30 req/min for LLM endpoints, more for public ones). The MCP server automatically retries 429 responses with exponential backoff.

If you hit rate limits frequently (e.g. in production automations), please reach out via atlasprzetargow.pl/kontakt for higher-tier access.


License

MIT © Atlas Przetargów

Data source attribution

All tender data is sourced from:

  • BZP (Biuletyn Zamówień Publicznych) — public registry of the Polish Public Procurement Office

  • TED (Tenders Electronic Daily) — EU public procurement registry

Processed, enriched, and served by Atlas Przetargów.


Available Tools

8 tools
get_buyerGet profile of a procuring entity (zamawiający)A

Fetch a profile of a Polish public procuring entity (zamawiający) by its NIP (tax ID). Returns name, location, statistics, recent tenders, and top winning contractors. Use for due diligence on who buys what and from whom.

Inputs: nip (required), include_winning_contractors.

get_category_statsGet tender statistics for a CPV categoryA

Retrieve aggregate statistics for a CPV category: count, average/median value, average number of offers, average deadline period. Based on historical BZP+TED data. Useful for market sizing and competitive benchmarking.

Inputs: cpv (required), window.

get_contractorGet profile of a contractor (wykonawca)A

Fetch a profile of a Polish tender contractor by its NIP. Returns name, location, total wins, total value and top buyers they win tenders from.

Inputs: nip (required), include_winning_buyers.

get_province_statsGet tender statistics by province or cityA

Retrieve aggregate tender statistics by Polish province (all 16 voivodeships) or drill down to a specific city (top buyers, top CPV categories). Without arguments returns the full province ranking.

Inputs: province, city.

get_tenderGet full details of a public tenderA

Retrieve detailed information about a specific Polish public tender by its ID. Returns buyer, location, deadlines, estimated value, CPV codes, contractor (if awarded), notice type and a content excerpt. Optionally includes AI-generated summary points (requires ATLAS_API_KEY).

Inputs: tender_id (required), include_ai_summary.

search_cpvSearch CPV codes by keywordA

Look up CPV (Common Procurement Vocabulary — EU procurement category) codes by Polish keyword. Use this before search_tenders to find the right CPV filter. Returns code, name, division, and historical tender count.

Inputs: query (required), limit.

search_entitiesSearch procuring entities or contractors by nameA

Search Polish public procurement entities (buyers / zamawiający) or contractors (wykonawcy) by name. Returns a list with NIP, location and volume. Useful to find the NIP for get_buyer / get_contractor tools.

Inputs: query (required), type, limit.

search_tendersSearch Polish public tendersA

Search public procurement tenders from BZP (Biuletyn Zamówień Publicznych) and TED (Tenders Electronic Daily) via Atlas Przetargów. Returns a list with titles, buyers, locations, CPV codes, estimated values and deadlines. Use for queries like 'aktywne przetargi budowlane w Warszawie', 'zamówienia IT powyżej 500k PLN', 'co kupuje ZUS'.

Inputs: query, cpv, city, province, +10 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 8 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. For example, get_buyer retrieves buyer profiles, get_tender fetches specific tender details, and search_tenders performs broader searches, each targeting different resources and actions. The descriptions explicitly differentiate their functions, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern, such as get_buyer, search_tenders, and get_category_stats. This uniformity enhances readability and predictability, with no deviations in naming conventions across the set.

    Tool Count5/5

    With 8 tools, the count is well-scoped for the server's purpose of Polish public procurement analysis. Each tool earns its place by covering distinct aspects like entity profiles, tender searches, and statistical data, avoiding both thinness and overload.

    Completeness5/5

    The tool set provides complete coverage for the domain, including CRUD-like operations such as fetching entities and tenders, searching with filters, and retrieving statistical insights. There are no obvious gaps, as it supports due diligence, market analysis, and competitive benchmarking workflows.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Exposes French and EU public procurement data (BOAMP + TED) as MCP tools for AI agents, enabling search for tenders, awards, and winner intelligence via typed filters.
      4
      45 PyPI
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Enables searching and analyzing Polish public procurement tenders from BZP and TED, including filtering, tender details and timelines, offers and contract values, buyer/contractor profiles, CPV code lookup, and regional statistics, with optional AI-summary endpoints.
      12
      1
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants such as Claude, ChatGPT, and Cursor to search Korean public procurement bid announcements, view detailed bid information, access pre-specifications, and analyze award history from 나라장터 (Public Procurement Service), with source links and no installation or API key required for basic use.
      MIT