# io.github.atlasprzetargow/mcp (npm · @atlasprzetargow/mcp)

Search Polish public tenders (BZP + TED) — 800k+ tenders, profiles, statistics, glossary.

- Trust score: 70/100 (medium)
- Change this week: −10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@atlasprzetargow/mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/atlasprzetargow-mcp/atlasprzetargow-mcp.md), [page](https://verifymcp.io/servers/atlasprzetargow-mcp/atlasprzetargow-mcp)

## Channel facts

- Registry: `npm`
- Package: `@atlasprzetargow/mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 108 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 78/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1897 tokens (~189/item across 10 items; 8 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add atlasprzetargow-mcp -- npx -y @atlasprzetargow/mcp
```

### Codex

```bash
codex mcp add atlasprzetargow-mcp -- npx -y @atlasprzetargow/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "atlasprzetargow-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@atlasprzetargow/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add atlasprzetargow-mcp --command npx --arg -y --arg @atlasprzetargow/mcp
```

### Hermes

```yaml
mcp_servers:
  atlasprzetargow-mcp:
    command: "npx"
    args: ["-y", "@atlasprzetargow/mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 70, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 66, +30)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 36, −5)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 41, +16)

- [security regression] Malware scan: pass → unverified
- [functional regression] Dependency health: partial → unverified
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 25, −55)

- [security regression] Known CVEs: partial → unverified
- [security regression] Install scripts: pass → unverified
- [security regression] Provenance: fail → unverified
- [functional regression] Maintenance: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] License: pass → unverified
- [functional] Licence: MIT

### 2026-07-27 (score 80, +37)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 43)

First indexed and scored.

## MCP tools (8)

### `search_tenders` (~503 tokens)

Search Polish public tenders

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'.

Input parameters:

- `buyerNip` (string): NIP (tax ID) of the procuring entity (zamawiający)
- `city` (string): City name, e.g. 'Warszawa', 'Kraków'
- `cpv` (string): CPV code prefix or full code. Examples: '45' (roboty budowlane), '72' (IT services), '45240000-1'
- `dateFrom` (string): ISO date YYYY-MM-DD — filter publications from
- `dateTo` (string): ISO date YYYY-MM-DD — filter publications to
- `limit` (integer): Max results per page (1-50, default 20)
- `noticeType` (string): ContractNotice = active tender; TenderResultNotice/ContractAwardNotice = results
- `orderKind` (string): Kind of procurement: works (roboty), supplies (dostawy), services (usługi)
- `page` (integer): Page number (default 1)
- `province` (string): Polish province code: PL02 dolnośląskie, PL04 kujawsko-pomorskie, PL06 lubelskie, PL08 lubuskie, PL10 łódzkie, PL12 małopolskie, PL14 mazowieckie, PL16 opolskie, PL18 podkarpackie, PL20 podlaskie, PL…
- `query` (string): Full-text search query (Polish terms work best), e.g. 'budowa drogi', 'komputer'
- `sort` (string): Sort order (default: newest)
- `valueMax` (number): Maximum estimated value in PLN
- `valueMin` (number): Minimum estimated value in PLN

### `get_tender` (~137 tokens)

Get full details of a public tender

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).

Input parameters:

- `include_ai_summary` (boolean): If true and ATLAS_API_KEY is configured, attach AI-generated summary of the tender notice. Default: false.
- `tender_id` (string, required): Tender ID in BZP format '2026/BZP 00202613' or dashed '2026-BZP-00202613'. TED IDs are also supported.

### `get_buyer` (~117 tokens)

Get profile of a procuring entity (zamawiający)

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.

Input parameters:

- `include_winning_contractors` (boolean): If true, also fetch the list of contractors that most frequently win this buyer's tenders. Default: true.
- `nip` (string, required): Polish tax ID (NIP) of the procuring entity — 10 digits

### `get_contractor` (~94 tokens)

Get profile of a contractor (wykonawca)

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.

Input parameters:

- `include_winning_buyers` (boolean): If true, also fetch the list of buyers this contractor most frequently wins tenders from. Default: true.
- `nip` (string, required): Polish tax ID (NIP) of the contractor — 10 digits

### `search_entities` (~140 tokens)

Search procuring entities or contractors by name

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.

Input parameters:

- `limit` (integer): Max results (1-30, default 10)
- `query` (string, required): Name (or fragment) of the entity to search, e.g. 'warszawa', 'gddkia', 'budimex'
- `type` (string): Limit to buyers (zamawiający), contractors (wykonawcy), or both. Default: all

### `get_category_stats` (~115 tokens)

Get tender statistics for a CPV category

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.

Input parameters:

- `cpv` (string, required): CPV code or prefix, e.g. '45' (construction), '72' (IT), '45240000-1'
- `window` (string): Statistics window: month=30d, quarter=90d, year=365d. Default: year

### `get_province_stats` (~94 tokens)

Get tender statistics by province or city

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.

Input parameters:

- `city` (string): If provided, returns top buyers and top CPV categories for this city instead.
- `province` (string): Province code like 'PL14'. If omitted, returns totals for ALL provinces.

### `search_cpv` (~111 tokens)

Search CPV codes by keyword

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.

Input parameters:

- `limit` (integer): Max results (1-30, default 10)
- `query` (string, required): Search term for CPV (Common Procurement Vocabulary) codes — keyword in Polish, e.g. 'komputer', 'budowa drogi', 'usługi prawne'

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/atlasprzetargow-mcp/atlasprzetargow-mcp#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 66
- 2026-08-01: 36
- 2026-07-31: 36
- 2026-07-30: 41
- 2026-07-28: 25
- 2026-07-27: 80
- 2026-07-26: 43

## Links

- npm package: https://www.npmjs.com/package/@atlasprzetargow/mcp
- Socket report: https://socket.dev/npm/package/@atlasprzetargow/mcp
- Repository: https://github.com/atlasprzetargow/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/atlasprzetargow-mcp/atlasprzetargow-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/atlasprzetargow-mcp/atlasprzetargow-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/atlasprzetargow-mcp/atlasprzetargow-mcp
