Agent Data Hub
Official statistics and economic data for agents, with source and licence per answer. No key.
제작자가 쓴 설명(영어 원문)
Ukrainian public procurement (Prozorro): open tenders, plans, competitors, red flags. No keys.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"prozorro": {
"command": "uvx",
"args": [
"prozorro-mcp",
"serve"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add prozorro -- uvx prozorro-mcp serve프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"prozorro": {
"command": "uvx",
"args": [
"prozorro-mcp",
"serve"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"prozorro": {
"type": "stdio",
"command": "uvx",
"args": [
"prozorro-mcp",
"serve"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 kotiniiqq 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.1)은 27일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Agent Data Hub, Sanctions screening, KYB due diligence
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Official statistics and economic data for agents, with source and licence per answer. No key.
Screen names and crypto wallets against OFAC, UK, EU and UN sanctions lists, with list dates
KYB counterparty checks: company register, insolvency, sanctions, VAT, IBAN, from official sources
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An MCP server and a command-line tool for Prozorro, Ukraine's public procurement system. It keeps a local copy of the official open data for the regions you choose. Then you can ask an AI assistant (Claude, Cursor, VS Code Copilot and others), or the CLI on its own, things like:
Every number is computed by code from the data, and the assistant only writes the text. No API keys are needed: the Prozorro API is public, and nothing here calls an LLM.
Ukrainian step-by-step guide for non-developers: docs/guide.uk.md.
You need uv (or plain pip install prozorro-mcp):
uvx prozorro-mcp search --demo --query борошно --status any
The demo is a real snapshot of Lviv oblast for one week (5–12 October 2026): 5,479 tenders, 1,120 of them with public bids, and 1,619 upcoming plans. Contact persons were removed.
Download prozorro-mcp.mcpb and open it (or drag it into Settings → Extensions). Claude Desktop installs Python and the package by itself, so there is nothing else to install and no config to edit. In the install dialog, type your oblasts (for example Львівська, Волинська) and the days of history.
Your regions download in the background; until the first download finishes, Claude says the data is not ready and shows the progress. If you leave the settings empty, Claude asks which oblast and how many days to download. Every start fetches what changed since the last one. To add a region later, ask Claude: *"download Volyn oblast for the last two weeks"*.
The server runs locally over stdio. Pick your client:
Claude Code
claude mcp add prozorro -- uvx prozorro-mcp serve
Claude Desktop without the extension: Settings → Developer → Edit Config. The file is %APPDATA%\Claude\claude_desktop_config.json on Windows and ~/Library/Application Support/Claude/claude_desktop_config.json on macOS:
{
"mcpServers": { "prozorro": { "command": "uvx", "args": ["prozorro-mcp", "serve"] } } }
Cursor (~/.cursor/mcp.json) and Windsurf, Cline and other clients: the same mcpServers block as Claude Desktop.
VS Code (.vscode/mcp.json):
{
"servers": { "prozorro": { "type": "stdio", "command": "uvx", "args": ["prozorro-mcp", "serve"] } } }
To try it on the demo first, add "--demo" after "serve". Restart the client after editing the config.
ChatGPT and claude.ai in the browser only connect to remote servers over HTTPS. See HTTP mode.
uvx prozorro-mcp sync --region Львівська --days 7
Львів, львовская, Lviv, Kyiv city, Київська. Repeat --region for several. Military units hide their address by law, so their tenders have no region. Add them with --region "без регіону".--cpv 33 (or --cpv реактиви) keeps only your categories.prozorro-mcp sync with no options) fetch only what changed since the last run. Ctrl+C is safe: run the command again and it continues from where it stopped.prozorro-mcp serve --sync-on-start fetches what changed in the background when the client starts it (add --region and --days to widen the coverage). Before the first sync, the data tools return no_data with a request to ask the user for an oblast and a period; during a sync, results carry sync_in_progress.prozorro-mcp status shows what is covered. Data lives in ~/.prozorro-mcp/data.db; set PROZORRO_MCP_DB to move it.The same numbers, as a table, CSV (opens in Excel with Cyrillic intact) or JSON. Install the command once with uv tool install prozorro-mcp, and then:
prozorro-mcp search --cpv реактиви --region Львівська # open tenders, nearest deadline first
prozorro-mcp plans --query "лабораторні" --budget-min 100000 # upcoming purchases prozorro-mcp flags --buyer 05498849 # red flags for one buyer prozorro-mcp watch add "реактиви Львів" --cpv 33696 --region Львівська prozorro-mcp digest --since 24h --format csv --out digest.csv # what is new for your saved searches
Run sync and digest every morning with Task Scheduler or cron (the guide shows how), and you have a daily list of new tenders without opening any website.
Eleven tools only read the local database. Each one declares readOnlyHint: true, destructiveHint: false, idempotentHint: true and openWorldHint: false. Three more exist only in the local stdio server, not in HTTP mode, and are marked for what they do: sync_data downloads data (readOnlyHint: false, openWorldHint: true), watch_add saves a search and watch_remove deletes one (destructiveHint: true). The server asks the assistant to start a download only after the user agrees.
| tool | what it returns |
|---|---|
coverage | synced regions, period, counts, last sync; the command to add more |
find_entity | EDRPOU codes of buyers and suppliers by part of a name |
search_tenders | tenders by words, CPV, region, status, amount, deadline, publication date |
get_tender | one tender: items, lots, every bid, the winner, documents with direct links |
market_overview | count and value, competitive share, average bidders, unit-price spread, top buyers and winners |
supplier_profile | wins, buyers, CPVs, win rate, median discount |
buyer_profile | what it buys, from whom, procedure mix, single-bidder share |
competitors | who bids in the same tenders and the head-to-head score |
upcoming_plans | annual-plan items with no tender yet |
red_flags | the four flags below, each with evidence and a link |
watch_digest | new tenders for your saved searches |
sync_data | starts a background download of regions or a longer period; coverage shows the progress |
watch_add, watch_remove | save or delete a search for watch_digest, right from the chat |
When a question needs data that is not synced, for example another oblast or an older period, the result says so and gives the exact sync command. It does not return an empty list that looks like "nothing exists".
active.tendering or active.enquiries, and the deadline has not passed as of the last sync. Prozorro sometimes changes the status late.reporting (a direct contract) and negotiation are not competitive. The full list is in src/prozorro_mcp/models.py.excluded.A flag is a reason to look closer, not proof of wrongdoing.
| flag | rule (defaults are parameters) |
|---|---|
single_bidder | a competitive procedure that ended with one bidder |
supplier_concentration | one supplier got more than 50% of a buyer's awarded money, with at least 5 awards |
price_above_median | unit price at least 30% above the median of at least 5 comparable tenders (same CPV and unit) |
short_tender_period | tendering shorter than 7 days (open), 15 (EU), 3 (below-threshold, price quotation). This is a heuristic, not a legal check: martial-law rules change often |
They run without keys or network, all computed by code: prozorro-mcp eval --suite all. The latest results are in evals/RESULTS.md.
prozorro-mcp serve --http --host 127.0.0.1 --port 8000 # MCP endpoint: http://127.0.0.1:8000/mcp
The same tools are served over streamable HTTP. To reach it from ChatGPT or claude.ai, put it behind a reverse proxy with HTTPS (Caddy, nginx). Version 1 has no authentication: the data is public and read-only. Add rate limits at the proxy before exposing it.
--region "без регіону").python -m venv .venv && .venv/bin/pip install -e ".[dev]" # Windows: .venv\Scripts\pip
pytest -q # 228 tests, no network: recorded API responses and built tenders ruff check . python scripts/capture_fixtures.py # refresh the recorded API responses python scripts/build_demo.py # rebuild the demo snapshot (live sync, about 20 minutes) python scripts/build_mcpb.py # the Claude Desktop extension (needs Node for the official packer)
The code is split by job: api (feed client) → sync → store (SQLite) → analytics (every number) → server (MCP) and cli. normalize handles regions and CPV.
price_raised_after_signing flag, for contracts whose price grew through amendments. This needs a sync of contract changes.앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요