🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

argentina-mcp

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

argentina-mcp

MCP server exposing Argentine public jurisdiction/registry data (georef) and datasets.

latest
Source
npmnpm
Version
0.1.1
Version published
Maintainers
1
Created
Source

argentina-mcp

MCP server exposing Argentine public jurisdiction/registry data (georef) and datasets under data/.

Requirements

  • Node.js >= 22

Use as an MCP server

Run directly via npx — no local clone required:

npx argentina-mcp

Add it to Claude Code:

claude mcp add argentina-mcp -- npx -y argentina-mcp

Or add it to Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "argentina-mcp": {
      "command": "npx",
      "args": ["-y", "argentina-mcp"]
    }
  }
}

Data staleness: the datasets shipped inside the published npm package are snapshots taken as of that version's publish date, not live/real-time data. Some national datasets refresh on a repo cron — see docs/refresh-automation.md — but the installed npm package itself only updates when you install a newer version. For fresher data than your installed version ships with, update to a newer release, or clone the repo and run the sync:* scripts yourself.

Licensing: this package's code is MIT-licensed (see LICENSE). The datasets under data/ are not all MIT — each dataset ships its own meta.json with a license field reflecting its source portal's terms. See docs/provincial-coverage.md for the per-province license matrix.

Install

npm install

Build

npm run build      # tsc -> dist/
npm run typecheck   # tsc --noEmit

Sync the jurisdiction registry

Fetches provincias/departamentos/municipios from the pinned georef v2.1 API (https://apis.datos.gob.ar/georef/api/v2.1/) and writes data/registry/{provincias,departamentos,municipios,meta}.json plus the 24 data/provincial/<id>-<slug>/ directories and data/nacional/.

npm run sync:registry

This performs a real network call. Re-run it whenever the registry needs refreshing (refresh_policy: "manual" in data/registry/meta.json).

Note: CABA's 15 comunas are stored only as departamentos (ids 02007-02105). The georef API has no municipio-level entries for CABA (/municipios?provincia=02 returns zero results), so municipios.json intentionally contains no CABA records. Verified registry totals: provincias=24, departamentos=529, municipios=1210.

Sync national datasets

Each script performs a real network call and writes a raw snapshot plus its meta.json under data/nacional/:

npm run sync:dolar   # DolarAPI /v1/dolares quotes -> data/nacional/dolar-cotizaciones/
npm run sync:ckan    # datos.gob.ar CKAN package_show (jgm_8) -> data/nacional/<package-name>/
npm run sync:bcra    # BCRA estadisticas/v4.0/monetarias variables -> data/nacional/bcra-monetarias/
npm run sync:indec   # INDEC IPC national series -> data/nacional/indec-ipc-nacional/

smoke:bcra is a live TLS/connectivity check against the pinned BCRA v4.0 endpoint (no files written) — run it before shipping BCRA adapter changes:

npm run smoke:bcra

Automated dataset refresh

.github/workflows/refresh-datasets.yml runs sync:dolar/sync:bcra daily and sync:indec monthly, opening a PR only when non-fetched_at data actually changed — same CI-gated, human-merge-required flow as any other PR. See docs/refresh-automation.md for the DATA_REFRESH_PAT/repo-variable prerequisites, conventions, and failure runbook.

Provincial coverage

See docs/provincial-coverage.md for the per-province ingestion status matrix (integrated/conditional/deferred/etc.) and the current integrated-province count.

Municipal coverage

npm run sync:municipal ingests three Wave 1 municipios (each isolated — one municipio's failure never blocks the others):

MunicipioPortal typeDatasetLicense
Ciudad de Mendoza (500007)CKANacequiasCC-BY-4.0
Bahía Blanca (060056)CKANagua-potableCC-BY-4.0
Rosario (820210)DKANpresupuesto-2022-recursos-ejecutadosODbL 1.0

Rosario is the first DKAN-backed municipio (src/adapters/dkan-client.ts); CKAN and DKAN snapshots are both discoverable identically through list_datasets/get_dataset — no MCP-layer distinction between portal types.

Test

npm run test        # vitest run
npm run test:cov     # vitest run --coverage (v8 provider)

Run the MCP server

node dist/server.js

Connects over stdio. Exposes:

  • Tools: search_jurisdiction, list_datasets, get_dataset
  • Resources: data://registry (the registry snapshot) and the data://{level}/{id} template (datasets under data/nacional, data/provincial, data/municipal)

Smoke test

Requires npm run build first.

npm run smoke
# equivalent to:
npx @modelcontextprotocol/inspector --cli node dist/server.js --method tools/list

Exercise a tool call manually:

npx @modelcontextprotocol/inspector --cli node dist/server.js \
  --method tools/call --tool-name search_jurisdiction --tool-arg query=Neuquen

Keywords

argentina

FAQs

Package last updated on 23 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts