Skip to main content

MCP server for Almanac — Argentine financial data (BCRA, CNV, INDEC, SEC) for Claude Desktop, Cursor, Copilot

Project description

almanac-mcp

MCP server for Almanac — Argentine financial and economic data (BCRA, CNV, INDEC, SEC) exposed directly to your AI assistant (Claude Desktop, Cursor, Copilot, etc.) via the Model Context Protocol.

What it does

Once connected, your AI assistant can:

  • List the catalog of published datasets (BCRA monetarias, tipos de cambio, INDEC IPC, CNV hechos relevantes, SEC EDGAR XBRL filings, and more)
  • Inspect schemas column-by-column with descriptions, types, and pre-built example queries
  • Run SQL directly against the production datasets — sub-second latency, cross-dataset JOINs work natively (e.g. join INDEC IPC with BCRA reservas, or SEC financial facts with CNV hechos relevantes by CUIT)
  • Download full snapshots as signed parquet/CSV URLs to work locally with DuckDB, polars, pandas, R, or any other tool

v0.2 architecture (HTTP-only)

In v0.2 the client is a thin HTTP wrapper. No psycopg, no DuckDB, no parquet libs — the package installs in seconds and ships only mcp, httpx, and pydantic. All data plane operations are server-side at https://almanac.ar/api/mcp/v1/invoke. Benefits:

  • Zero credentials on your machine (just ALMANAC_API_KEY)
  • Schema discovery + AI metadata live server-side and update without a client version bump
  • Telemetry and rate limits centralised

Requirements

Install

uvx almanac-mcp                  # try it without installing
# or
pip install almanac-mcp          # persistent install

Configuration

The client requires ALMANAC_API_KEY in the environment. It optionally respects ALMANAC_SITE_URL (defaults to https://almanac.ar).

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "almanac": {
      "command": "uvx",
      "args": ["almanac-mcp"],
      "env": {
        "ALMANAC_API_KEY": "alm_your_key_here"
      }
    }
  }
}

Restart Claude Desktop. The Almanac tools appear automatically.

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "almanac": {
      "command": "uvx",
      "args": ["almanac-mcp"],
      "env": { "ALMANAC_API_KEY": "alm_your_key_here" }
    }
  }
}

GitHub Copilot (VS Code)

Add to .vscode/settings.json:

{
  "github.copilot.chat.mcp.servers": {
    "almanac": {
      "command": "uvx",
      "args": ["almanac-mcp"],
      "env": { "ALMANAC_API_KEY": "alm_your_key_here" }
    }
  }
}

Tools

All four tools follow the <domain>.<action> naming convention:

catalog.list

Lists every published dataset with a brief summary. No params.

catalog.get(dataset_id)

Full metadata for a single dataset, including:

  • Description, frequency, historical depth
  • Business questions and typical use cases
  • Methodology notes and known gotchas
  • Pre-built example SQL queries
  • mcp.table_name — exact Postgres table (e.g. data_bcra_monetarias_indicadores)
  • mcp.columns — list of {name, type, nullable} to write SQL correctly

data.query(sql)

Runs a SELECT/WITH/EXPLAIN query against the production tables. DDL/DML are rejected. Server-side constraints:

  • statement_timeout 30 s
  • 10.000 row cap (truncation signalled in response)
  • work_mem 32 MB

Response shape: { rows, row_count, truncated, columns }. Tables are documented through catalog.get (mcp.table_name).

data.snapshot_url(dataset_id, format="parquet")

Returns a 10-minute signed R2 URL to the complete production snapshot (parquet or CSV). Use this when you want to download the full dataset and work with it locally.

Example session

User: "What were Argentina's international reserves on the last business day, and how do they compare to a year ago?"

The assistant will:

  1. Call catalog.list to see what is available.
  2. Call catalog.get("bcra.monetarias.indicadores") to find the relevant variable and learn the table schema.
  3. Call data.query with something like:
SELECT fecha, valor, unidad
FROM data_bcra_monetarias_indicadores
WHERE descripcion ILIKE '%reservas internacionales%'
  AND fecha <= CURRENT_DATE
ORDER BY fecha DESC
LIMIT 30
  1. Compare the most recent value with the same date a year ago and reply with concrete numbers.

License

Proprietary. Use of this package requires an active Almanac subscription (plan Pro+ or Enterprise). See https://almanac.ar/pricing for details.

Support

Project details


Download files

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

Source Distribution

almanac_mcp-0.2.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

almanac_mcp-0.2.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: almanac_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for almanac_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a2eb421798fd298c89780646d02926df595ed6a4ffbacb5f755bb3c3f43fc070
MD5 c86c6b9b58f929d3ae625bda65498c00
BLAKE2b-256 4f45b2f0c07473d93eb4e4e65cf03beec14e92772a31c32716ae6d61018bcb92

See more details on using hashes here.

Provenance

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

Publisher: publish-mcp.yml on nicolascolombo/Almanac

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

File details

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

File metadata

  • Download URL: almanac_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for almanac_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c5212a9debdf4d93e6a3803d12f88f7fb79b7a8883fb218cab920c533e71b31
MD5 d4477d8ac3522c7cd0f37abf5aa2736d
BLAKE2b-256 0c820bb197c52e86785c83fae434bdaa68adaa7dac757f6b6694dfaf854b0b9c

See more details on using hashes here.

Provenance

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

Publisher: publish-mcp.yml on nicolascolombo/Almanac

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page