npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

bancolombia-cli

v0.0.5

Published

Manage your Bancolombia accounts via terminal, REST API, or MCP server for Claude

Downloads

406

Readme

Install

# From npm (requires Bun)
bun add -g bancolombia-cli

# Or clone and link
git clone https://github.com/camilocbarrera/bancolombia-cli.git
cd bancolombia-cli
bun install
bun link

Login

bancolombia login       # Opens browser — log in with your Bancolombia account

Or via API proxy (headless):

bancolombia connect <username> <pin> [api-url]

CLI Usage

# Banking
bancolombia accounts                              # List all accounts
bancolombia balance                               # Quick balance check
bancolombia transactions 69870233906 2026-01-01 2026-03-31  # Transaction history

# Session
bancolombia whoami                                # Show session info
bancolombia health                                # Check API server status
bancolombia logout                                # Disconnect and clear session

REST API

bancolombia server    # Starts on http://localhost:3200

| Method | Endpoint | Description | |--------|----------|-------------| | GET | /api/accounts | List accounts with balances | | GET | /api/transactions?accountId=X&from=Y&to=Z | Transaction history | | GET | /api/whoami | Session info |

MCP Server (Claude Integration)

The Bancolombia CLI includes an MCP (Model Context Protocol) server that lets Claude manage your bank accounts natively.

Setup for Claude Code

Add .mcp.json to your project root:

{
  "mcpServers": {
    "bancolombia": {
      "command": "bun",
      "args": ["run", "/path/to/bancolombia-cli/src/mcp/index.ts"]
    }
  }
}

Setup for Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "bancolombia": {
      "command": "/path/to/.bun/bin/bun",
      "args": ["run", "/path/to/bancolombia-cli/src/mcp/index.ts"]
    }
  }
}

Use the full path to bun for Claude Desktop (run which bun to find it).

Available Tools

| Tool | Description | |------|-------------| | login | Connect to Bancolombia via API proxy | | logout | Disconnect and clear session | | get_accounts | List accounts with balances | | get_balance | Quick balance summary | | get_transactions | Transaction history with date range | | session_info | Current session status and expiry |

Architecture

src/
  constants.ts       → URLs, paths, defaults
  http.ts            → Typed HTTP client (direct Bancolombia + API proxy)
  config.ts          → Config load/save with Zod validation
  formatters.ts      → Currency formatting (COP)
  schemas/           → Zod schemas (config, account, transaction, bancolombia raw)
  services/          → Business logic (shared by CLI, API + MCP)
  api/app.ts         → Hono REST API
  mcp/index.ts       → MCP server (6 tools for Claude)
  commands/          → CLI commands
  ui/                → Terminal UI (chafa logo, chalk, tables, spinners)
index.ts             → CLI entry point
server.ts            → API server entry point

Type Safety

All API responses are validated with Zod schemas:

  • Bancolombia raw responsesschemas/bancolombia.ts (accounts, transactions)
  • Normalized outputschemas/account.ts, schemas/transaction.ts
  • Config → discriminated union (direct | api mode)
  • ErrorsBancolombiaError with session expiry detection

Security Considerations

This tool is designed for fully local, personal use only. It runs entirely on your machine — no data is sent to third-party servers (except Bancolombia's own APIs). However, working with real banking credentials carries inherent risks you should understand before using it.

Credential Storage

Session tokens, cookies, and device identifiers are stored in plaintext at ~/.bancolombia-config.json. This file is not encrypted. Anyone with access to your home directory (malware, shared machine, backup sync) could read your banking session. Recommendations:

  • Run chmod 600 ~/.bancolombia-config.json to restrict file permissions to your user only
  • Always run bancolombia logout when you're done to clear stored credentials
  • Never commit or share your config file
  • Be aware the stored JWT token contains your real name and document number

Shell History

The bancolombia connect <user> <pin> command accepts your PIN as a CLI argument, which means it gets saved in your shell history (~/.zsh_history, ~/.bash_history). If you use this command, clear the entry from your history afterward. The browser-based bancolombia login is the safer alternative.

REST API

The local API server (bancolombia server) binds to port 3200 with no authentication and open CORS. This is fine for personal use on localhost, but:

  • Do not expose this port to the network or internet
  • Any application on your machine can query your accounts and transactions while the server is running
  • Stop the server when not in use

MCP Server & AI Context

When using the MCP server with Claude (Code or Desktop), your account data — numbers, balances, transactions — is sent as text to the AI model. Be aware that:

  • This data flows through Anthropic's API and is subject to their data policies
  • Conversation context may be logged, cached, or used for safety monitoring
  • Avoid using MCP if you are not comfortable with your financial data being processed by a third-party AI provider

Browser Automation

The bancolombia login command launches a Chromium instance with --no-sandbox and automation flags disabled. This is necessary to interact with Bancolombia's website but reduces browser-level security protections during the login flow.

General Advice

  • Use this tool at your own risk. It is an unofficial, community project — not endorsed by Bancolombia.
  • Treat your machine as the security boundary. If your machine is compromised, your banking session is compromised.
  • Review the source code before use. This is why it's open source.

Tech Stack