bank-postgres-mcp
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 |
| POST | MCP Streamable HTTP endpoint |
| GET | Liveness check |
Tools
Read tools (query bankdb directly)
Tool | Description |
| List all customers in the database |
| Get customer profile + all accounts by customer_id |
| Look up customer + account by account number (e.g. |
| Get recent transactions by account_id or account_number |
Write tools (upsert into MCP dump tables)
Tool | Action |
| Upsert a fetched customer record into |
| Insert a newly created customer into |
| Upsert a bank branch record into |
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 build3. Configure environment
cp env.example .env
# .env is gitignored — edit credentials thereProvided credentials:
DATABASE_URL=postgresql://bankuser:bankpassword@localhost:5432/bankdb
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=bankdb
POSTGRES_USER=bankuser
POSTGRES_PASSWORD=bankpassword4. 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.jsServer 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 |
|
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 |
| TEXT PK | |
| TEXT | |
| TEXT | |
| TEXT | |
| TEXT | |
| TEXT | PII |
| TEXT | PII |
| TEXT | PII |
| TEXT | |
| TEXT | line1, line2, city, state, postal_code, country |
| TEXT | |
| TEXT | |
| NUMERIC | |
| INT | |
| TEXT | |
| TEXT |
|
| TIMESTAMPTZ | auto |
| TIMESTAMPTZ | auto |
bank_branches
Column | Type | Notes |
| TEXT PK | |
| TEXT | |
| TEXT | |
| TEXT | |
| TEXT | |
| TEXT[] | |
| TIMESTAMPTZ | auto |
| TIMESTAMPTZ | auto |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/prashil1996/github-postgres-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server