Skip to main content

Serbian Data MCP Server

PyPI - Version Python - Version License: MIT

MCP server for accessing Serbian open data portal (data.gov.rs) with built-in visualization capabilities.

pip install serbian-data-mcp

Features

  • 🔍 Search 3,400+ datasets from Serbian government
  • 📊 Create 6 types of charts (line, bar, pie, scatter, histogram, box)
  • 📥 Download data in JSON, CSV, XML, XLSX formats
  • 🎨 Export visualizations as HTML/PNG/JSON
  • 🇷🇸 Full Serbian language support (UTF-8)
  • 🚀 Built-in rate limiting and caching
  • 🛠️ Data transformation tools (filter, group, aggregate, sort, select)
  • 🔧 Git repository visualization and analysis

🚀 Quick Start

Install from PyPI (Recommended)

pip install serbian-data-mcp

Then add to your MCP client configuration (see Usage below).

Install from Source

git clone https://github.com/acailic/serbian-data-mcp
cd serbian-data-mcp
uv sync

📖 Configuration

The server works out of the box with sensible defaults. To customize, create a config.json in your working directory (or next to the installed package):

{
  "api_base": "https://data.gov.rs",
  "rate_limit": 1.0,
  "timeout": 30,
  "cache_dir": ".cache",
  "export_dir": "exports"
}

See config.example.json in the source repo for all options.

🚀 Usage

Claude Desktop Configuration

{
  "mcpServers": {
    "serbian-data": {
      "command": "serbian-data-mcp"
    }
  }
}

Or if you installed from source:

{
  "mcpServers": {
    "serbian-data": {
      "command": "python",
      "args": ["-m", "serbian_data_mcp"]
    }
  }
}

Available Tools

  • search_datasets - Search datasets with filters
  • get_dataset - Get complete dataset details
  • get_resource_data - Download and parse resource data
  • create_visualization - Create charts from data
  • list_organizations - Browse data providers
  • suggest_datasets - Autocomplete for search
  • get_git_stats - Get git repository statistics
  • get_git_history - Retrieve commit history
  • visualize_git_data - Create git repository visualizations

📊 Visualization Gallery

The MCP server supports 6 types of interactive charts with automatic styling and Serbian language support.

Line Charts

Line chart showing trends over time

Perfect for time series data and trends

Bar Charts

Bar chart comparing categories

Compare values across categories

Horizontal Bar Charts

Horizontal bar chart for category comparison

Ideal for long category names

Pie Charts

Pie chart showing proportional distribution

Show parts of a whole

Scatter Plots

Scatter plot showing correlations

Explore relationships between variables

Histograms

Histogram showing distribution

Analyze frequency distributions

Box Plots

Box plot showing statistical distribution

Display statistical summaries and outliers

Examples

# Search datasets
datasets = await mcp.call_tool("search_datasets", {
    "query": "population",
    "format": "json",
    "page_size": 10
})

# Create visualization
chart = await mcp.call_tool("create_visualization", {
    "data": data,
    "chart_type": "line",
    "title": "Population Trends",
    "x_column": "year",
    "y_column": "population",
    "export_format": "html"
})

📚 Documentation

Development

Setup Development Environment

make install

Running Tests

make test       # Run all tests with coverage
make test-quick # Quick tests (no coverage)

Code Quality Checks

make check      # Run all quality checks (lint, format, type-check, security)
make check-quick # Quick checks (lint + format only)

Project Structure

serbian-data-mcp/
├── src/serbian_data_mcp/
│   ├── api/              # API client and models
│   ├── catalog/          # Dataset catalog and search
│   ├── data/             # Data parsing and transformation
│   ├── intelligence/     # Query expansion and smart search
│   ├── viz/              # Visualization tools
│   ├── config.py         # Configuration management
│   ├── exceptions.py     # Custom exceptions
│   └── tools.py          # MCP tool definitions
├── tests/                # Comprehensive test suite
├── .github/workflows/    # CI/CD configuration
├── pyproject.toml        # Project configuration
└── Makefile              # Development commands

License

MIT License - see LICENSE file

Release files for serbian-data-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for serbian-data-mcp 0.1.0
File Size Uploaded
serbian_data_mcp-0.1.0.tar.gz 81.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for serbian-data-mcp 0.1.0
File Interpreter ABI Platform
serbian_data_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 177.5 kB

Release files / serbian_data_mcp-0.1.0.tar.gz

Download URL serbian_data_mcp-0.1.0.tar.gz
Size 81.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0059561efba3fc59b2a2676c755ae5d21f1a0af016cc8743869e7809fe869a4d
BLAKE2b-256 checksum
How to use checksums
4741476f26873a4eb86775d351a8713a6bfdfaf5b2e97f3a823b36e3eb84f03d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / serbian_data_mcp-0.1.0-py3-none-any.whl

Download URL serbian_data_mcp-0.1.0-py3-none-any.whl
Size 96.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8072500f704eeeb0ee2405406090ae85100cfd494fe4990faad10344e16b8aa3
BLAKE2b-256 checksum
How to use checksums
086a406f63765256697ad915fa3e1e59968bb0c63e4909cffcafdb4c5d84ff80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page