atlas-przetargow-mcp-py
atlas-przetargow-mcp-py
Atlas Przetargow Polish public procurement API MCP server. A Python/FastMCP rewrite of the official TypeScript server with several upstream bugs fixed and new tender-analysis tools added.
Table of contents
Tools
Tool | Parameters | Description |
|
| Search BZP + TED tenders with filters |
|
| Tender details; |
|
| Full notice chain of a procedure (announcement, revisions, result, performance) |
|
| Offers count and lowest/highest/winning prices from result notices |
|
| Contract/order money amounts extracted from notice text |
|
| Buyer profile + contractors that most often win its tenders |
|
| Contractor profile with win geography + top buyers |
|
| Find buyers/contractors by name (returns NIP) |
|
| Look up CPV codes by Polish keyword |
|
| Category stats: count, median value, avg offers, avg deadline |
|
| Province ranking, single province, or city drill-down |
|
| Escape hatch: GET any |
Fixed vs upstream TS server
Bugs found while testing @atlasprzetargow/mcp v0.1.1:
buyerNipfilter sent asbuyerNipwhile the API expectsbuyer_nip— filter silently ignored. Fixed here.get_buyerwinning contractors read fromwinners.contractorswhile the API returns{"data": [...]}— section never rendered. Fixed here.City stats returned an empty header although
/api/stats/city/{city}/top-buyersreturns data. Fixed here.get_category_statsrequested window can be ignored by the API (asks for year, returns 90 days) — this server returns the actualdaysvalue so the discrepancy is visible.get_contractorreturned 3 lines; this server returns the full profile (win geography, shares) plus winning buyers.
New tools not present upstream: get_tender_timeline, get_tender_offers, extract_contract_value, raw_request.
Environment variables
Variable | Required | Description |
| no | API base (default |
| no | Key for |
| no | Request timeout in seconds (default 20) |
Wiring it up
Only requirement: uv (https://docs.astral.sh/uv/). Nothing else to install.
Claude Code
claude mcp add atlas-przetargow-mcp-py -- uvx --from git+https://github.com/dam2452/atlas-przetargow-mcp-py.git atlas-przetargow-mcp-pyClaude Desktop / other MCP client
{
"mcpServers": {
"atlas-przetargow-mcp-py": {
"command": "uvx",
"args": ["--from", "git+https://github.com/dam2452/atlas-przetargow-mcp-py.git", "atlas-przetargow-mcp-py"]
}
}
}After pushing a new version: uv cache clean and restart the client.
Local run
uv run --directory . atlas-przetargow-mcp-pyTests (manual):
uv run --directory . --with pytest pytest test/