Skip to main content
Glama
prashil1996

bank-postgres-mcp

by prashil1996

bank-postgres-mcp

HTTP MCP server that reads from and writes to a PostgreSQL database (bankdb). Deployed and accessible at: https://armored-backspace-angles.ngrok-free.dev/mcp

Endpoints

Path

Method

Purpose

/mcp

POST

MCP Streamable HTTP endpoint

/health

GET

Liveness check

Related MCP server: db-mcp

Tools

Read tools (query bankdb directly)

Tool

Description

list_customers

List all customers in the database

get_customer_by_id

Get customer profile + all accounts by customer_id

get_customer_by_account

Look up customer + account by account number (e.g. DB5194542004)

get_transactions

Get recent transactions by account_id or account_number

Write tools (upsert into MCP dump tables)

Tool

Action

dump_customer_data

Upsert a fetched customer record into customers

dump_created_customer

Insert a newly created customer into customers

dump_bank_branch

Upsert a bank branch record into bank_branches

Tables are auto-created on first use.


Setup

1. Prerequisites

  • Node.js ≥ 18

  • PostgreSQL running locally

2. Install & build

cd bank-postgres-mcp
npm install
npm run build

3. Configure environment

cp env.example .env
# .env is gitignored — edit credentials there

Provided credentials:

DATABASE_URL=postgresql://bankuser:bankpassword@localhost:5432/bankdb
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=bankdb
POSTGRES_USER=bankuser
POSTGRES_PASSWORD=bankpassword

4. Start the server

# Export env vars, then start
export DATABASE_URL=postgresql://bankuser:bankpassword@localhost:5432/bankdb
node build/index.js

# Or with all vars:
export POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DB=bankdb \
       POSTGRES_USER=bankuser POSTGRES_PASSWORD=bankpassword
node build/index.js

Server starts on http://localhost:3100 by default. Override with PORT=XXXX.

5. Verify

curl http://localhost:3100/health
# → {"status":"ok","server":"bank-postgres-mcp","version":"1.0.0"}

Registering in watsonx Orchestrate

In Orchestrate, add a new MCP Server tool integration:

Field

Value

Transport

Streamable HTTP

URL

http://localhost:3100/mcp

If Orchestrate is running remotely (not on your laptop), expose the server with a tunnel:

npx localtunnel --port 3100
# Use the returned https URL instead of localhost

Registering in Bob (.bob/mcp.json)

{
  "mcpServers": {
    "bank-postgres-mcp": {
      "url": "http://localhost:3100/mcp"
    }
  }
}

Database schema

customers

Column

Type

Notes

customer_id

TEXT PK

full_name

TEXT

date_of_birth

TEXT

phone

TEXT

email

TEXT

pan

TEXT

PII

aadhaar

TEXT

PII

account_number

TEXT

PII

ifsc

TEXT

address_*

TEXT

line1, line2, city, state, postal_code, country

account_type

TEXT

kyc_status

TEXT

available_balance

NUMERIC

credit_score

INT

nominee

TEXT

source

TEXT

fetch or create

inserted_at

TIMESTAMPTZ

auto

updated_at

TIMESTAMPTZ

auto

bank_branches

Column

Type

Notes

ifsc

TEXT PK

branch_name

TEXT

bank_name

TEXT

city

TEXT

state

TEXT

services

TEXT[]

inserted_at

TIMESTAMPTZ

auto

updated_at

TIMESTAMPTZ

auto

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A minimal banking system MCP server that allows account management, deposits, withdrawals, balance inquiries, and transaction history via REST endpoints.
    -
  • A
    license
    A
    quality
    D
    maintenance
    A lightweight MCP server for relational databases, enabling dynamic connections to PostgreSQL and MySQL, SQL execution, and transaction control.
    7
    57 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Full-featured MCP server that exposes 36 tools for interacting with PostgreSQL databases, covering schema introspection, query execution, data exploration, performance monitoring, security auditing, and maintenance.
    36
    8 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for PostgreSQL that enables Cursor and other MCP clients to execute SQL queries, list tables, and explore database schemas via HTTP.
    1,239 npm
    MIT