### Install and Run MCP Server (Bash) Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Instructions for cloning the repository, installing dependencies using UV, and running the MCP server locally. ```bash # Clone the repository git clone https://github.com/appunite/dane-gov-pl-mcp.git cd dane-gov-pl-mcp # Install dependencies uv sync # Run the MCP server uv run python -m src.app --transport stdio ``` -------------------------------- ### Discovery API Usage (Python) Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Python examples demonstrating how to use the Discovery layer of the MCP server to search for datasets, institutions, and retrieve resource details. ```python # Search datasets by keywords search_datasets(search_filters={"query_all": "environment"}) # Find institutions by location search_institutions(search_filters={"city_terms": "Warszawa"}) # Get dataset details get_resources_details(dataset_ids=[123, 456]) ``` -------------------------------- ### Document Parsing API Usage (Python) Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Python example for using the Parsing layer of the MCP server to convert various file formats (CSV, JSON, XLSX, PDF) into Markdown documents. ```python # Parse files to Markdown get_file_content(resource_ids=[123, 456]) ``` -------------------------------- ### MCP Client Configuration (JSON) Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Configuration snippets for integrating the Dane.gov.pl MCP Server with MCP clients like Claude Desktop or Cursor. Includes options for UV package manager. ```json { "mcpServers": { "dane-gov-pl-mcp": { "command": "uvx", "args": ["dane-gov-pl-mcp"] } } } ``` ```json { "mcpServers": { "dane-gov-pl-mcp": { "command": "uv", "args": ["run", "--directory", "/path/to/dane-gov-pl-mcp", "dane-gov-pl-mcp"] } } } ``` -------------------------------- ### Discovery API Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Endpoints for searching and filtering government institutions, datasets, resources, and showcases. ```APIDOC ## Discovery API Endpoints ### Search Datasets **Description**: Search for datasets using keywords and various filters. **Method**: GET (assumed, based on usage example) **Endpoint**: `/datasets` (assumed) **Query Parameters**: - **query_all** (string) - Optional - Keywords to search across all dataset fields. - **title_terms** (string) - Optional - Filter by dataset title. - **description_terms** (string) - Optional - Filter by dataset description. ### Search Institutions **Description**: Find and filter government institutions by name, city, and description. **Method**: GET (assumed, based on usage example) **Endpoint**: `/institutions` (assumed) **Query Parameters**: - **city_terms** (string) - Optional - Filter by city name. - **name_terms** (string) - Optional - Filter by institution name. - **description_terms** (string) - Optional - Filter by institution description. ### Get Dataset Resource Details **Description**: Retrieve detailed information about specific data resources within datasets. **Method**: GET (assumed, based on usage example) **Endpoint**: `/datasets/{dataset_id}/resources` (assumed) **Query Parameters**: - **dataset_ids** (list of integers) - Required - A list of dataset IDs to retrieve resource details for. ### Search Showcases **Description**: Find real-world visualizations and applications that use the datasets. **Method**: GET (assumed, based on usage example) **Endpoint**: `/showcases` (assumed) **Query Parameters**: - **query_all** (string) - Optional - Keywords to search across showcase fields. ### Request Example (Python - Search Datasets) ```python # Assuming a client library is available from mcp_client import search_datasets results = search_datasets(search_filters={"query_all": "environment"}) print(results) ``` ### Request Example (Python - Search Institutions) ```python # Assuming a client library is available from mcp_client import search_institutions results = search_institutions(search_filters={"city_terms": "Warszawa"}) print(results) ``` ### Request Example (Python - Get Dataset Resource Details) ```python # Assuming a client library is available from mcp_client import get_resources_details results = get_resources_details(dataset_ids=[123, 456]) print(results) ``` ``` -------------------------------- ### Parsing and Processing API Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Endpoints for parsing various file formats into Markdown documents and performing LLM-powered operations on tabular data. ```APIDOC ## Parsing and Processing API Endpoints ### Get File Content (Parsing) **Description**: Convert resources (files) into LLM-ready Markdown documents. **Method**: GET (assumed, based on usage example) **Endpoint**: `/resources/{resource_id}/content` (assumed) **Query Parameters**: - **resource_ids** (list of integers) - Required - A list of resource IDs to parse. **Response Example (Markdown Document)**: ```markdown # Dataset Title ## Description This is a description of the dataset. ## Data Table | Header 1 | Header 2 | |---|---| | Row 1 Col 1 | Row 1 Col 2 | | Row 2 Col 1 | Row 2 Col 2 | ``` ### Tabular Data Processing **Description**: Enable grouping, aggregating, filtering, and sorting operations for tabular data resources. This functionality is typically accessed through a client that sends commands to the MCP server to perform these operations on data loaded into Polars DataFrames. **Method**: POST (assumed for operations) **Endpoint**: `/process` (assumed) **Request Body Example (Conceptual)**: ```json { "operation": "aggregate", "data_source": { "type": "resource", "id": 123 }, "group_by": "category", "aggregations": { "value": "sum" } } ``` **Response Example (Processed Data - Conceptual)**: ```json { "result": [ {"category": "A", "value": 150}, {"category": "B", "value": 200} ] } ``` ### Request Example (Python - Get File Content) ```python # Assuming a client library is available from mcp_client import get_file_content markdown_docs = get_file_content(resource_ids=[123, 456]) for doc in markdown_docs: print(doc) ``` ``` -------------------------------- ### Retrieve Tabular Resource Metadata Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Fetches metadata for specific tabular resources using their unique identifiers. This function is essential for understanding the structure and availability of datasets before querying them. ```python get_tabular_resource_metadata(resource_ids=[123]) ``` -------------------------------- ### Query Tabular Data Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Executes a query against a specific tabular resource using search filters. It allows users to retrieve filtered subsets of data based on column-specific criteria. ```python get_tabular_data(resource_id=123, search_filters={"q": "col1:Warszawa"}) ``` -------------------------------- ### Perform Advanced DataFrame Operations Source: https://github.com/appunite/dane-gov-pl-mcp/blob/main/README.md Transforms and aggregates data from a resource into a DataFrame format. It supports complex operations such as grouping, multi-column aggregation, and multi-level sorting. ```python resource_to_dataframe(resource_id=123, dataframe_operations={ "primary_group": "col1", "aggregations": ["sum", "mean"], "aggregation_columns": ["col2", "col2"], "sort_columns": ["col2_sum", "col1"], "sort_descending": [True, False] }) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.