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
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