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 →

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 a krokujte protokol ručně.

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.

Legacy API token

Na www.hlidacstatu.cz/api si vygenerujte 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:

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 @modelcontextprotocol/inspector https://mcp.api.hlidacstatu.cz

Jako auth metodu vyberte OAuth.

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 (Registr smluv) by its ID. Use 'search_contracts' to obtain the ID.
search_contracts
Searches contracts from the Czech Register of Contracts (Registr smluv) - agreements between Czech state institutions and other parties. All filters are optional and combinable; at least one filter must be provided. 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, etc.) by name or partial name. Returns its IČO (8-digit ID) and full registered name. Use the IČO with 'get_legal_entity_business_info' or 'get_business_with_government' for further details.
get_business_with_government
Returns aggregated information about contracts, subsidies and other business relationships between a given Czech legal entity (by IČO) and 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 (company, state institution, municipality, NGO, etc.) by its IČO - registered address, legal form, employees, revenue, and similar. For interactions 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). The 'historic_view' parameter selects the time window.
list_government_offices_by_type
Lists Czech government offices, ministries, agencies or municipalities filtered by their type. Returns IČO, name and region for each entity.
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. Optional year of birth narrows results. Use the returned name_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. Optional year of birth narrows results. For non-politicians use 'find_persons_by_name'. Use the returned name_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 their internal name_id. Use 'find_persons_by_name' or 'find_politicians_by_name' to obtain the name_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. All filters are optional and combinable; at least one filter must be provided. Returns a paginated list of matching subsidies. 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.
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-<nameId>'. Required by the OpenAI deep research / ChatGPT MCP spec.
search
Full-text search across contracts, subsidies, legal entities and persons in Hlídač státu. Designed for OpenAI deep research and ChatGPT MCP. Returns up to 50 result items with id, title, snippet and url. Use 'fetch' with the returned id for full content.
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. Always ask the user for their e-mail address before calling - it is required.
Insolvence
find_insolvency_records_by_ico
Returns insolvency proceedings (insolvenční řízení) from the Czech Insolvency Register (ISIR) related to a Czech legal entity by its IČO. Includes proceedings where the entity is a debtor (dlužník), a creditor (věřitel) or an administrator (správce). Returns the most recent proceedings first. Use 'find_legal_entity_by_name' to obtain the IČO when only a name is known.
KIndex
get_kindex_for_legal_entity
Returns the K-Index (Index klíčových rizik / Index of key contracting risks) of a Czech state institution, ministry, agency, region or municipality, by IČO. K-Index is calculated from the Czech Register of Contracts and quantifies how risky the entity's contracting behavior looks (lower is better; A is best, F is worst). Available only for the largest 200+ government bodies. Use 'find_legal_entity_by_name' to obtain the IČO.
NespolehlivyPlatceDPH
get_unreliable_vat_payer_status
Returns information from the Czech registry of unreliable VAT payers (Registr nespolehlivých plátců DPH, maintained by the General Financial Directorate / GFŘ) for a given Czech legal entity by its IČO. The result indicates whether the entity is currently unreliable, was ever unreliable, and the dates of listing / removal. Always returns a record (with Was_Ever_Listed = false when the IČO has never been on the list).
PlatyPolitiku
get_politician_salaries
Returns salaries (income, bonuses and allowances) of a single Czech politician for a given year, broken down by organization (employer). The politician is identified primarily by name_id (preferred); if name_id is not provided, name is used to look it up. Use 'find_politicians_by_name' or 'find_persons_by_name' to obtain a name_id when only a name is known. Data is sourced from public information collected by Hlídač státu.
RejstrikTrestu
find_criminal_records_by_ico
Returns entries from the Czech criminal register of legal entities (Rejstřík trestů právnických osob) for a Czech legal entity by its IČO. Each entry includes the violated paragraphs, courts that decided the case, imposed punishments and severity. Empty list when the entity has no records. Use 'find_legal_entity_by_name' to obtain the IČO when only a name is known.
Sponzoring
find_party_sponsoring_by_company
Returns all donations (sponsoring) made by a single Czech legal entity (company) to Czech political parties - financial and non-financial gifts, with date, amount, donation type and the receiving party. The entity is identified primarily by IČO (preferred); if IČO is not provided, name is used to look it up. Use 'find_legal_entity_by_name' to obtain the IČO when only a name is known. For donations made by natural persons use 'find_party_sponsoring_by_person'.
find_party_sponsoring_by_person
Returns all donations (sponsoring) made by a single Czech natural person to Czech political parties - financial and non-financial gifts, with date, amount, donation type and the receiving party. The person is identified primarily by name_id (preferred); if name_id is not provided, name is used to look it up. Use 'find_persons_by_name' or 'find_politicians_by_name' to obtain a name_id when only a name is known. For donations made by legal entities use 'find_party_sponsoring_by_company'.

OAuth 2.0. Discovery endpointy

Changelog