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.
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.1.0.tar.gz (110.9 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.1.0-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_sinim-0.1.0.tar.gz
  • Upload date:
  • Size: 110.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mcp_sinim-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0e031686a0ed6192d56e7ee99de95c9f12b92a0040ea9cb85c242a74d7e57a79
MD5 d77d62ee6595eee35f8f991e3230c6cd
BLAKE2b-256 39d22a83170a88ddedbbfeee191fd704666d7a2e679cc221ea3d170d5d702a63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcp_sinim-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mcp_sinim-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52c795bf966ef59ede56590cc211f78c2894a8be0667ba26753d3bfcb940775f
MD5 fff5033128b046334fc956ed8b638a64
BLAKE2b-256 1dc5a9dcfd165a5cd26ed083d60c0b20e353f0334fcbfd484dabab36c2256b4c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.0

2 files

0.2.0

2 files

This release

0.1.0 This release

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