Model Context Protocol

Hlídač státu MCP Server

Přístup k otevřeným datům Hlídače státu - smlouvy ve státním sektoru, dotace, politici, firmy a propojení s veřejnou správou - z libovolného MCP klienta (Claude, ChatGPT, Cursor, mcp-inspector…).

Server URL

https://mcp.api.hlidacstatu.cz

Musíte být na Hlídači registrováni. MCP server je dostupný pouze pro registrované uživatele.

Vložte tuto URL do MCP klienta níže. Discovery, registraci klienta, zalogování do Hlídače i obnovu tokenu si moderní klienti zařídí automaticky (většinou). Podrobnější návody najdete níže.

Podporovaní AI agenti

Server byl otestován s následujícími MCP klienty. Většina podporuje OAuth discovery - stačí jim předat URL výše. U klientů bez podpory OAuth pošlete legacy API token v hlavičce Authorization: Bearer ….

Claude Desktop

Otestováno · OAuth

Anthropic desktop aplikace s nativní podporou MCP.
Jak zprovoznit najděte níže.

Konfigurace →

Claude.ai (web)

Otestováno · OAuth

Webová verze Claude.ai - Settings → Connectors → Add custom connector. Stejný flow jako u desktop klienta.

Konfigurace →

ChatGPT

Otestováno · OAuth

Custom Connectors a Deep Research. ChatGPT vyřeší discovery i registraci klienta automaticky.

Konfigurace →

ChatGPT Codex CLI

Otestováno · Bearer token

Codex agent ve verzi 0.135.0 a nižší (verze před 28.5.2026 podporuje pouze Bearer token, nikoliv OAuth.

Konfigurace →

Cursor

Otestováno · OAuth

AI editor založený na VS Code. Konfigurace přes ~/.cursor/mcp.json.

Konfigurace →

VS Code (GitHub Copilot)

Otestováno · OAuth

Copilot Agent mode. V Command Palette spusťte MCP: Open User Configuration a vložte stejný JSON jako pro Cursor.

Konfigurace →

Windsurf

OAuth · MCP JSON

AI editor od Codeia. V ~/.codeium/windsurf/mcp_config.json přidejte sekci mcpServers s URL serveru.

Konfigurace →

Cline

OAuth · VS Code rozšíření

Open-source agent v VS Code. V Cline panelu otevřete MCP Servers → Configure MCP Servers.

Konfigurace →

Continue

OAuth · VS Code / JetBrains

Open-source AI asistent. Přidejte server do ~/.continue/config.yaml v sekci mcpServers.

Konfigurace →

mcp-inspector

Otestováno · debug

Oficiální debug nástroj pro MCP. Spusťte přes npx -y @modelcontextprotocol/inspector a krokujte protokol ručně.

Konfigurace →

STDIO

Otestováno · local

MCP server přes STDIO je proces, který komunikuje s klientem (např. Claude Desktop) přes standardní vstup a výstup (stdin/stdout) místo síťového protokolu jako HTTP

Konfigurace →

Autentizace

Server podporuje dvě metody - moderní MCP klienti by měli použít OAuth, starší skripty mohou nadále posílat statický API token.

OAuth 2.0 (doporučené)

Klient automaticky objeví autorizační server přes /.well-known/oauth-protected-resource, provede dynamickou registraci (RFC 7591) a otevře přihlášení. Uživatel se přihlásí svým běžným účtem na hlidacstatu.cz a odsouhlasí scope mcp:tools. Tokeny jsou krátkodobé JWT (RS256) podepsané klíčem oauth.api.hlidacstatu.cz.

Bearer API token

Na www.hlidacstatu.cz/api získejte osobní API token a posílejte ho v hlavičce každého požadavku:

Authorization: Bearer 1a2b3c4de5f67890abcdef1234567890

Příklad API token based MCP serveru s STDIO


{
"mcpServers":
  {     
    "hlidac-statu": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.api.hlidacstatu.cz",
        "--header",
        "Authorization: Token 1a2b3c4de5f67890abcdef1234567890"
      ]
    }
 }

Příklady konfigurace

Claude Desktop

Varianta 1 (doporučená)

  1. V Claude Desktop otevřete Settings → Connectors → Add custom connector.
  2. Do pole "MCP server URL" vložte https://mcp.api.hlidacstatu.cz.
  3. ‼️ Při prvním použití se NEOTEVŘE prohlížeč k přihlášení. Najděte Hlídač státu v seznamu "Connectors" a klikněte "Disconnect".
  4. Poté na stejném místě zvolte "Connect" - tím se spustí přihlášení (OAuth flow). Po úspěšném přihlášení je MCP server připraven k použití.

Varianta 2

Otevřete %APPDATA%\Claude\claude_desktop_config.json (Windows) nebo ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) a vložte:

{
  "mcpServers": {
    "hlidac-statu": {
      "url": "https://mcp.api.hlidacstatu.cz"
    }
  }
}

Při prvním použití se otevře prohlížeč k přihlášení; další tokeny se obnovují automaticky.

ChatGPT (Custom Connectors / Deep Research)

Settings → Connectors → Add custom connector:

ChatGPT Codex CLI

Nutné spustit codex mcp add --bearer-token-env-var HLIDAC_STATU_API_TOKEN hlidac-statu --url https://mcp.api.hlidacstatu.cz

do .env nebo to enviroment proměnné HLIDAC_STATU_API_TOKEN dejte API klíč, který (po zalogování do hlídače) najdete na https://api.hlidacstatu.cz.

Trik: snadnější je nastavit MCP server s Bearer tokenem pomocí Codex Desktop aplikace. Settings → MCP Servers. Sdílí konfiguraci s CLI verzí.

Codex CLI do verze 0.135.0 (do 28.5.2026) bohužel nepodporuje OAuth, takže je nutné použít Bearer token.

Cursor / VS Code / Windsurf / Cline / Continue

V ~/.cursor/mcp.json (případně ekvivalentní config IDE):

{
  "mcpServers": {
    "hlidac-statu": {
      "url": "https://mcp.api.hlidacstatu.cz"
    }
  }
}

mcp-inspector (debugování)

npx -y @modelcontextprotocol/inspector https://mcp.api.hlidacstatu.cz

Jako auth metodu vyberte OAuth nebo Bearer Token.

STDIO

MCP server přes STDIO je proces, který komunikuje s AI agentem (např. Claude Desktop) přes standardní vstup a výstup (stdin/stdout) místo síťového protokolu jako HTTP.

Je to starší metoda, která se používá hlavně pro lokální integrace a vyžaduje práva na lokální spuštění aplikace na počítači.

Definice STDIO serveru naleznete v dokumentaci Agenta, např. u Claude Desktop šlo o soubor ~/Library/Application\ Support/Claude/claude_desktop_config.json na MacOS a %APPDATA%\Claude\claude_desktop_config.json na Windows.

V konfiguračním souboru obvykle najdete sekci "mcpServers", kam přidejte definici pro Hlídač státu. Příklad konfigurace pro STDIO server s legacy API tokenem může vypadat takto:

{
    ...předchozí konfigurace...

    "mcpServers":
    {
        "hlidac-statu":
        {
            "command": "npx",
            "args":
            [
                "mcp-remote",
                "https://mcp.api.hlidacstatu.cz",
                "--header",
                "Authorization: Token api-token-hlidace"
            ]
        }
    }

        ...další ...
}

curl s legacy tokenem

curl -sS https://mcp.api.hlidacstatu.cz \
  -H "Authorization: Bearer <váš-api-token>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Dostupné nástroje

Úplný a aktuální seznam získáte voláním tools/list ze svého klienta.

Smlouvy

Registr smluv - smlouvy mezi státem a třetími stranami.

get_contract_detail
Returns the full detail of a single contract from the Czech Register of Contracts by its ID. Use 'search_contracts' to obtain the ID.
list_contract_categories
Lists all contract classification categories. 'Value' is accepted by the 'categories' filter of 'search_contracts'; numeric 'Code' of main categories is accepted by the 'category_code' argument of the top-contract-increases tools.
search_contracts
Searches contracts from the Czech Register of Contracts (Registr smluv) - agreements between Czech public institutions and other parties. At least one filter is required; filters combine with AND. Returns a paginated list; use 'get_contract_detail' for full data of a single contract.
Firmy a státní instituce

Subjekty (firmy, ministerstva, obce, neziskovky) a jejich vazby na stát.

find_legal_entity_by_name
Finds a Czech legal entity (company, state institution, municipality, NGO, ...) by name or partial name. Returns its IČO, name and entity type; null when nothing matches. Use the IČO with 'get_legal_entity_business_info' or 'get_business_with_government' for details.
get_business_with_government
Returns aggregated information about contracts, subsidies, K-Index and risks of a Czech legal entity (by IČO) in relation to the Czech state. Use 'find_legal_entity_by_name' to obtain the IČO.
get_legal_entity_business_info
Returns basic business and financial information about a Czech legal entity by IČO - restrictions of activity, employees, turnover, VAT status, related persons, subsidiaries. For its business with the Czech state use 'get_business_with_government'.
get_subsidiaries_of_legal_entity
Returns IČO and name of all subsidiaries of a Czech legal entity (by IČO).
list_government_offices_by_type
Lists Czech public institutions of a given type (e.g. Nemocnice = hospitals, Krajske_soudy = regional courts, Kraje_Praha = regions, Statni_fondy = state funds, Obce_III_stupne = municipalities). Returns IČO, name and region for each, paginated.
Osoby a politici

Politici a další veřejně sledované osoby; sponzorské vazby a životopisná data.

find_persons_by_name
Finds persons tracked by Hlídač státu (politicians and other public figures) by full name in 'first last' order. Use the returned person_id with 'get_person_detail' for full data.
find_politicians_by_name
Finds Czech politicians (current and former) by full name in 'first last' order. For non-politicians use 'find_persons_by_name'. Use the returned person_id with 'get_person_detail' for full data.
get_person_detail
Returns the full detail of a person (politician or other public figure) tracked by Hlídač státu, by person_id. Use 'find_persons_by_name' or 'find_politicians_by_name' to obtain the person_id. For legal entities use 'get_legal_entity_business_info'.
Dotace

České a EU dotace, jejich příjemci a poskytovatelé.

get_subsidy_detail
Returns the full detail of a single Czech state or EU subsidy by its ID. Use 'search_subsidies' to obtain the ID.
search_subsidies
Searches Czech state and EU subsidies. At least one filter is required; filters combine with AND. Returns a paginated list; use 'get_subsidy_detail' for full data of a single subsidy.
VeKLEP - legislativní proces

Elektronická knihovna legislativního procesu - návrhy zákonů, novel a jejich připomínky ve schvalovacím procesu.

get_veklep_legislation_detail
Returns the full detail of a single VeKLEP legislative document by its ID. Use 'search_veklep_legislation' to obtain the ID.
search_veklep_legislation
Searches VeKLEP (Elektronická knihovna legislativního procesu) - the Czech government's electronic library of legislative documents in the approval process: bills, amendments, government regulations and the related comments and submissions from ministries. Returns a paginated list. Use 'get_veklep_legislation_detail' for full data of a single record.
Rozhodnutí ÚOHS

Sbírka rozhodnutí Úřadu pro ochranu hospodářské soutěže od roku 1999 (hospodářská soutěž, veřejné zakázky, veřejná podpora).

get_uohs_decision_detail
Returns the full detail of a single ÚOHS decision by its ID. Use 'search_uohs_decisions' to obtain the ID.
search_uohs_decisions
Searches the collection of decisions of ÚOHS (Czech Office for the Protection of Competition / Úřad pro ochranu hospodářské soutěže) since 1999, covering competition law, public procurement, state aid and significant market power. Returns a paginated list. Use 'get_uohs_decision_detail' for full data of a single decision.
Trendy

Trendy a neobvyklé nárůsty objemu smluv subjektů se státem. Dostupné pouze pro testery (role Admin, BetaTester a novinar).

get_top_contract_increases_by_percentage
Same as 'get_top_contract_increases_by_value', but ranked by the RELATIVE (percentage) increase. Percent_Change is a fraction (0.85 = +85 %); the absolute CZK increase is included for context. Restricted to the 'Admin', 'BetaTester' or 'novinar' role.
get_top_contract_increases_by_value
Ranked list of Czech legal entities whose volume of contracts with the public sector grew the most in ABSOLUTE CZK terms during a selected period (data behind https://www.hlidacstatu.cz/report/33). Per entity: name, IČO, CZK increase and per-year contract volumes. Paginated; optional restriction to one main contract category. Restricted to the 'Admin', 'BetaTester' or 'novinar' role.
Univerzální vyhledávání (ChatGPT / OpenAI deep research)

Povinné rozhraní pro ChatGPT MCP - full-text napříč všemi typy záznamů.

fetch
Fetches the full document for a single result previously returned by 'search'. The id must be in the form 'smlouva-<id>', 'dotace-<id>', 'firma-<ico>' or 'osoba-<personId>'. Intended for deep-research clients; prefer the specialized get_*_detail tools when you know the data type.
search
Full-text search across contracts, subsidies, legal entities and persons at once. Returns up to 50 items with id, title, snippet and url; use 'fetch' with the returned id for full content. Intended for deep-research clients (OpenAI/ChatGPT MCP spec); prefer the specialized search_*/find_* tools when you know the data type.
Ostatní

Pomocné nástroje.

ping
Returns the supplied text prefixed with "Pong:". Use to verify the server is reachable.
send_feedback
Sends a feedback message from the user to the Hlídač státu support team by e-mail. Ask the user for their e-mail address before calling; when missing or invalid, the feedback is sent anonymously and support cannot reply.
Insolvence
find_insolvency_records_by_ico
Returns insolvency proceedings from the Czech Insolvency Register (ISIR) related to a Czech legal entity by IČO - as debtor, creditor or administrator, most recent first. Use 'find_legal_entity_by_name' to obtain the IČO.
KIndex
get_kindex_for_legal_entity
Returns the K-Index (Index of key contracting risks) of a Czech public institution by IČO. Calculated from the Register of Contracts; grade A (best) to F (worst). Available only for the ~200 largest government bodies - null means not available. Use 'find_legal_entity_by_name' to obtain the IČO.
NespolehlivyPlatceDPH
get_unreliable_vat_payer_status
Returns the status of a Czech legal entity (by IČO) in the official registry of unreliable VAT payers (Registr nespolehlivých plátců DPH): whether it is currently unreliable, was ever listed, and the listing dates. Always returns a record (Was_Ever_Listed = false when never listed).
PlatyPolitiku
get_politician_salaries
Returns salaries (income, bonuses and allowances) of a single Czech politician for a given year, broken down by organization. Identify the politician by person_id (preferred) or name.
RejstrikTrestu
find_criminal_records_by_ico
Returns entries from the Czech criminal register of legal entities (Rejstřík trestů právnických osob) by IČO - violated paragraphs, courts, punishments and severity. Empty list = no records. Use 'find_legal_entity_by_name' to obtain the IČO.
Sponzoring
find_party_sponsoring_by_company
Returns all donations (financial and non-financial) made by a single Czech legal entity to Czech political parties - date, amount, donation type and receiving party. Identify the entity by IČO (preferred) or name. For donations by natural persons use 'find_party_sponsoring_by_person'.
find_party_sponsoring_by_person
Returns all donations (financial and non-financial) made by a single Czech natural person to Czech political parties - date, amount, donation type and receiving party. Identify the person by person_id (preferred) or name. For donations by companies use 'find_party_sponsoring_by_company'.
find_party_sponsoring_records
Returns individual donation records RECEIVED by a single Czech political party - one row per donation with donor, exact date, amount and donation type. Ordered by date descending, paginated. For aggregated per-donor/per-year totals use 'find_party_sponsors'.
find_party_sponsors
Returns the donors of a single Czech political party aggregated per donor and calendar year (how much each person or company gave in each year), covering roughly the last 10 years. Ordered by amount descending, paginated. For individual donation records with exact dates use 'find_party_sponsoring_records'; for donations made BY a person/company use 'find_party_sponsoring_by_person' / 'find_party_sponsoring_by_company'.

OAuth 2.0. Discovery endpointy

Changelog