serbian-data-mcp
PyPI
v0.1.0
Published by acailic — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.
MCP server for Serbian open data portal (data.gov.rs) with visualization capabilities
The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.
1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:
The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.
2. Client adoption risk — 100 − 7 = 93. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:
| Points | Adoption-risk factor |
|---|---|
| −6 | capability blast radius (high) — client exposure if the model is manipulated |
| −1 | publisher verification (public source) — no provenance, but the source is public and inspectable |
Capability observations and info notes are shown under Findings but never scored.
Open any row's finding below for the file, line and evidence behind a deduction.
This server (without client built-ins) exposes a complete data-exfiltration chain: browse_recent_datasets → export_data → export_to_datawrapper. Untrusted input is ingested, private data is read, and it can be sent to an external sink via the agent composing the tools (→). Static analysis proves the primitive exists, not that a specific run will occur.
Fix: Remove one leg of the trifecta: isolate untrusted-input tools from secret-reading tools and from egress tools, or require human approval between them.
Location: flow browse_recent_datasets → export_data → export_to_datawrapper
Each tool and what it can reach — statically extracted from the published source.
browse_recent_datasetsingests untrusted inputcompare_datasetsingests untrusted inputexport_datareads sensitive dataexport_to_datawrappernetwork egressget_data_summaryingests untrusted inputget_dataset_resourcesingests untrusted inputget_resource_dataingests untrusted inputpreview_datasetingests untrusted inputaggregate_data_toolno sensitive capabilityapply_chart_themeno sensitive capabilitybuild_dashboardno sensitive capabilitybuild_infographicno sensitive capabilitycompute_metricsno sensitive capabilitycreate_advanced_visualizationno sensitive capabilitycreate_animated_chartno sensitive capabilitycreate_arrow_chartno sensitive capabilitycreate_dumbbell_chartno sensitive capabilitycreate_scrollytelling_storyno sensitive capabilitycreate_serbia_mapno sensitive capabilitycreate_visualizationno sensitive capabilitydata_profileno sensitive capabilityenhance_chart_tooltipsno sensitive capabilityexport_visualizationno sensitive capabilityextract_data_insightsno sensitive capabilityfilter_data_toolno sensitive capabilitygenerate_data_narrativeno sensitive capabilityget_catalog_statsno sensitive capabilityget_config_toolno sensitive capabilityget_datasetno sensitive capabilityget_portal_statisticsno sensitive capabilitygroup_data_toolno sensitive capabilityhealth_checkno sensitive capabilityintelligent_searchno sensitive capabilitylist_organizationsno sensitive capabilitylist_serbia_districtsno sensitive capabilityrefresh_catalogno sensitive capabilitysearch_by_tagno sensitive capabilitysearch_datasetsno sensitive capabilityselect_columns_toolno sensitive capabilitysort_data_toolno sensitive capabilitysuggest_datasetsno sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v0.1.0 latest |
A 93/100 | 1 | 1.13.0 | 2026-08-25 |
Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.
The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.
npx mcptrustchecker scan serbian-data-mcp --online --registry pypi
MCP server for 2s.io — 575+ pay-per-call tools for AI agents — ground-truth data, AI gateway, and agent infra (storage, locks, queues, watchers). x402 USDC on Base/Solana, no API keys, upto usage billing, free trials.
ArXiv preprints + Google Scholar papers, with citation counts in one query.
Add MCP servers to your favorite coding agents with a single command.
Help agents automatically write and test stories for your UI components
Model Context Protocol server for AI-Archive platform - enables AI agents to discover, submit, and review research papers
MCP server for Semantic Scholar research workflows with stdio and Streamable HTTP transports.