Skip to main content

mcp-sinim

Pull Chilean municipal data from SINIM with a searchable catalog, tidy municipal panels, and the same package from Python or any MCP-compatible client.

An open-source project by Maykol Medrano.

PyPI Python CI License: MIT


What You Can Do

  • Search roughly 480 SINIM variables by natural language instead of memorizing id_dato codes.
  • Pull one or many municipal indicators as tidy pandas panels in one call.
  • Discover available years and municipality codes directly from the live portal.
  • Use the same package in notebooks, scripts, or MCP clients.
  • Work with an offline catalog snapshot plus optional metadata caching.

Installation

pip install mcp-sinim

Python Example

from mcp_sinim import SINIMClient

client = SINIMClient(corrmon=True)

# 1) Find the right variable code
hits = client.search("patentes municipales")
print(hits[["code", "name"]].head(3).to_string(index=False))

# 4173 = Ingresos por Patentes Municipales de Beneficio Municipal
# 1311 = Monto Patentes Municipales Pagadas
# 13101 = Santiago, 13114 = Las Condes, 13123 = Providencia

# 2) Pull a tidy panel for several years and municipalities
df = client.get(
    ["4173", "1311"],
    years=[2022, 2023, 2024],
    municipios=["13101", "13114", "13123"],  # Santiago, Las Condes, Providencia
)
print(df.head(12).to_string(index=False))

# 3) Explore metadata when needed
print(client.years()[-5:])
print(client.search_municipios("providencia"))
print(client.municipios(region="13"))  # official region code: Metropolitana

Main things you will use:

  • search(...) to find variable codes
  • get(...) to pull municipal data
  • municipios(...) and search_municipios(...) to work with legal municipality codes
  • years() to see what is currently available

MCP Server

Use mcp-sinim when you want an MCP client to search SINIM variables, inspect their metadata, and fetch municipal data without writing a custom wrapper.

Run the server after installation:

mcp-sinim

Typical MCP configuration:

{
  "mcpServers": {
    "sinim": {
      "command": "mcp-sinim"
    }
  }
}

Optional environment variable:

  • MCP_SINIM_CACHE_DIR for the metadata disk cache

MCP tools

Tool Description
search_variables Search the SINIM variable catalog by keyword.
get_variable_info Return metadata for one SINIM variable code.
get_data Retrieve tidy municipal records for one or many variables.
list_areas List the 9 catalog subject areas.
list_municipios List municipalities, optionally filtered by region.
search_municipalities Search municipalities by name, optionally filtered by region.
list_years List currently available SINIM years.

Important Notes

  • cod_municipio matches the official SUBDERE CUT codes for the 345 municipalities present in SINIM.
  • Pass those legal CUT codes to municipios=. The client translates them to SINIM's internal identifiers automatically.
  • Region filters accept official Chilean region codes ("1" through "16"), as well as SINIM's portal identifiers for compatibility.
  • corrmon=True requests SINIM's real-value series, expressed in pesos of the most recent published year.
  • This is an independent open-source client for the public SINIM portal. It is not affiliated with SUBDERE or the Gobierno de Chile.

Development

git clone https://github.com/MaykolMedrano/mcp_sinim
cd mcp_sinim
python -m venv .venv
.venv/Scripts/activate
pip install -e ".[dev]"
python -m ruff check .
python -m ruff format --check .
python -m pytest

License

MIT. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_sinim-0.2.0.tar.gz (115.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_sinim-0.2.0-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_sinim-0.2.0.tar.gz.

File metadata

  • Download URL: mcp_sinim-0.2.0.tar.gz
  • Upload date:
  • Size: 115.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_sinim-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f7f94b1ee8efe644f3c2b57b02d43989f6d77abf549062a2332c62ba83980a0c
MD5 93e641a0aa8abf64ae66d2456da42c71
BLAKE2b-256 e21ddff680bbe7e3331ea9a51e84e59850bebd6bc171abb910a1133d1aaf7749

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_sinim-0.2.0.tar.gz:

Publisher: publish.yml on MaykolMedrano/mcp_sinim

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_sinim-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_sinim-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_sinim-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a8f5c58fd23cf96927ac6a9e138dbfcf1e2f80cc1cab84d51e504ac83114bab
MD5 b90977f030f4fa565eeed53c452cbadf
BLAKE2b-256 bb466eb60b8af66cce799501b708941374254c460d06b6c0929311041f12d34d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_sinim-0.2.0-py3-none-any.whl:

Publisher: publish.yml on MaykolMedrano/mcp_sinim

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.0

2 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