serbian-data-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@serbian-data-mcpSearch datasets about population in Serbia"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Serbian Data MCP Server
MCP server for accessing Serbian open data portal (data.gov.rs) with built-in visualization, storytelling, and analytics capabilities.
pip install serbian-data-mcpFeatures
Data Access
π Search 3,400+ datasets from Serbian government (data.gov.rs)
π₯ Download data in JSON, CSV, XML, XLSX formats
π·πΈ Full Serbian language support (UTF-8)
π Built-in rate limiting and caching
Visualization β 15+ Chart Types
π Basic charts: line, bar, pie, scatter, histogram, box plot
πΊοΈ Maps: choropleth (25 Serbian districts), bubble map, multi-layer map
π Data journalism: slope chart, waffle chart, population pyramid, sankey diagram, radar chart
π― Advanced: heatmap, treemap, gauge/donut, funnel, sparklines, animated timelines
β¨ Special: arrow chart, dumbbell chart, lollipop chart
Storytelling & Analytics
π° Infographics: big number cards, auto-generated insights, timeline ribbon, data tables
π Dashboards: multi-panel layouts with mixed chart types
π Scrollytelling: scroll-driven HTML stories with IntersectionObserver
π Forecasting: linear/exponential projections with RΒ² and growth rates
π Benchmarking: compare against EU averages or custom references
π Cross-dataset analysis: correlations, outliers, rank divergences
Export & Sharing
π HTML: styled, responsive pages with dark data-journalism aesthetic
πΌοΈ PNG/PDF: export with kaleido (graceful fallback if not installed)
π Embed: iframe embed code for websites/blogs
π JSON: raw Plotly spec for custom integration
Data Tools
π§ Transformation tools: filter, group, aggregate, sort, select
π Auto-extracted insights: extremes, temporal changes, rankings, outliers
π¬ Auto-generated narrative summaries
π§ Git repository visualization and analysis
Related MCP server: mcp-chilegob-dataset
π Quick Start
Install from PyPI (Recommended)
pip install serbian-data-mcpThen add to your MCP client configuration (see Usage below).
Install from Smithery
Smithery is a registry and CLI for discovering and installing MCP servers.
# Install the Smithery CLI
npm install -g smithery@latest
# Add to Claude Desktop
smithery mcp add acailic/serbian-data-mcp --client claude
# Add to Cursor
smithery mcp add acailic/serbian-data-mcp --client cursor
# Or connect as a remote Smithery connection
smithery mcp add acailic/serbian-data-mcp --id serbian-dataNote: Requires Node.js 20+. After adding, restart your AI client for changes to take effect.
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"]
}
}
}Via Smithery CLI
If you installed via Smithery, the configuration is handled automatically. Just run:
# For Claude Desktop
smithery mcp add acailic/serbian-data-mcp --client claude
# For Cursor
smithery mcp add acailic/serbian-data-mcp --client cursorThen restart your AI client. No manual config editing needed.
π Visualization Gallery
All charts feature a polished dark data-journalism theme with Inter font, refined hover styles, and consistent Serbian flag color palette. Three themes available: dark, light, and infographic.
Line Charts β Time Series & Trends

Bar Charts β Comparisons & Rankings

Choropleth Map β Serbian Districts
Interactive map of 25 Serbian districts with Cyrillic/Latin name resolution, available as choropleth or bubble map.
Population Pyramid β Demographics

Slope Chart β Ranking Changes
Shows how district rankings shifted between censuses (2002 β 2022), with green for gainers and red for losers.
Sankey Diagram β Budget Flows
Visualize budget flows from revenue sources through ministries to spending categories.
Radar Chart β Multi-Metric Comparison
Compare cities across population, GDP per capita, schools, hospitals, and parks on a single spider plot.
Waffle Chart β Proportional Data
"1 in 4 Serbs live in Belgrade" β each category gets a block of squares in a 10Γ10 grid.
Donut Charts β Sector Distribution

Infographics β Data Stories
Auto-generated single-page stories with big number cards, timeline ribbon, insights, and supporting charts.
Dashboards β Multi-Panel Views
Combine multiple chart types into a single dashboard layout with big number KPIs.
Scrollytelling β Scroll-Driven Stories
Interactive HTML stories that reveal data as the user scrolls, with IntersectionObserver animations.
Examples
Search & Visualize
# Search datasets
datasets = await mcp.call_tool("search_datasets", {
"query": "population",
"format": "json",
"page_size": 10
})
# Create a basic chart
chart = await mcp.call_tool("create_visualization", {
"data": data,
"chart_type": "line",
"title": "Population Trends",
"x_column": "year",
"y_column": "population",
})
# Create an advanced chart (slope chart for census changes)
slope = await mcp.call_tool("create_slope_chart", {
"data": census_data,
"entity_column": "district",
"start_column": "pop_2002",
"end_column": "pop_2022",
"title": "Census Ranking Changes 2002β2022"
})Forecast & Benchmark
# Forecast future GDP
forecast = await mcp.call_tool("forecast_data", {
"data": gdp_data,
"time_column": "year",
"value_column": "gdp",
"periods_ahead": 5
})
# Compare against benchmarks
comparison = await mcp.call_tool("benchmark_data", {
"data": city_data,
"value_column": "gdp_pc",
"entity_column": "city",
"benchmarks": {"EU average": 35000}
})Create a Full Infographic
story = await mcp.call_tool("create_infographic", {
"data": population_data,
"title": "Srbija po Popisu 2022",
"chart_type": "bar",
"x_column": "district",
"y_column": "population_2022",
"extra_big_numbers": [
{"number": "6.6M", "label": "Ukupno stanovnika", "color": "gold", "trend": "down"},
{"number": "23%", "label": "Beograd region", "color": "blue", "trend": "up"},
],
"timeline_events": [
{"year": "2002", "label": "Popis 2002", "dot_class": ""},
{"year": "2022", "label": "Popis 2022", "dot_class": "gold"},
]
})Available MCP Tools
Data Access
Tool | Description |
| Search 3,400+ datasets with filters |
| Get complete dataset details |
| Download and parse resource data |
| Browse data providers |
| Autocomplete for search |
Data Transformation
Tool | Description |
| Filter rows by conditions |
| Group and aggregate |
| Sort by column(s) |
| Select/rename columns |
| Statistical summary of dataset |
Basic Charts
Tool | Description |
| Line, bar, pie, scatter, histogram, box plot |
| Heatmap, treemap, gauge, funnel, sparklines, animated |
| Directional arrow chart |
| Before/after comparison |
Novel Charts
Tool | Description |
| Ranking changes between two periods |
| Proportional icon grid |
| Age Γ sex demographic distribution |
| Budget/energy flow visualization |
| Multi-metric spider comparison |
Maps
Tool | Description |
| Colored district map of Serbia |
| Bubble-sized district map |
| Toggle between indicators |
Analytics & Forecasting
Tool | Description |
| Linear/exponential projections |
| Compare against reference values |
| Cross-dataset correlations |
Storytelling
Tool | Description |
| Full data story with KPIs, timeline, chart, insights |
| Multi-panel dashboard layout |
| Scroll-driven interactive story |
Export & Sharing
Tool | Description |
| Export as HTML, JSON, PNG, or PDF |
| Generate iframe embed code |
| Add rich contextual tooltips |
π Documentation
Quick Start Guide β Get started in 5 minutes
Usage Examples β 24+ real-world examples and use cases
API Reference β Complete tool documentation with parameters
Troubleshooting β Common issues and solutions
Contributing Guide β Developer contribution guidelines
Development
Setup Development Environment
make installGenerate Showcase Exports
uv run python generate_showcase.pyThis creates 12 polished HTML files in exports/ demonstrating all chart types with sample Serbian data.
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/
βββ exports/ # Generated HTML visualizations
βββ src/serbian_data_mcp/
β βββ api/ # API client for data.gov.rs
β βββ catalog/ # Dataset catalog and search
β βββ data/ # Data parsing and transformation
β βββ intelligence/ # Query expansion and smart search
β βββ viz/
β β βββ charts.py # Basic 6 chart types (auto-themed)
β β βββ advanced_charts.py # Heatmap, treemap, gauge, funnel, sparklines
β β βββ novel_charts.py # Slope, waffle, pyramid, sankey, radar
β β βββ maps.py # Choropleth map of 25 Serbian districts
β β βββ map_advanced.py # Bubble map, multi-layer map
β β βββ infographics.py # Full infographic builder
β β βββ scrollytelling.py # Scroll-driven HTML stories
β β βββ animations.py # Animated charts (timeline, bars, comparison)
β β βββ themes.py # Dark/light/infographic themes
β β βββ insights.py # Auto-extracted insights & narratives
β β βββ tooltips.py # Rich hover tooltips
β β βββ forecast.py # Linear/exponential forecasting
β β βββ data_tables.py # Styled data tables
β β βββ special_charts.py # Arrow, dumbbell, lollipop
β β βββ exporters.py # HTML/PNG/JSON/PDF/export
β β βββ datawrapper_export.py # Datawrapper cloud API
β βββ config.py # Configuration management
β βββ exceptions.py # Custom exceptions
β βββ tools.py # MCP tool definitions (30+ tools)
βββ tests/ # Comprehensive test suite (314 tests)
βββ generate_showcase.py # Generate showcase HTML exports
βββ .github/workflows/ # CI/CD configuration
βββ pyproject.toml # Project configuration
βββ Makefile # Development commandsLicense
MIT License - see LICENSE file
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/acailic/serbian-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server