dudgeon/penguin-bank-cloud
If you are the rightful owner of penguin-bank-cloud and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Penguin Bank MCP Server is a production-ready server for AI-assisted banking interactions, utilizing Supabase and Netlify Edge Functions for real data persistence.
hello_penguin
Welcome message
get_balance
Get account balance
get_recent_transactions
List recent transactions
show_bill
Display bill details
process_payment
Pay bills with validation
Penguin Bank MCP Server
A production-ready Model Context Protocol (MCP) server demonstrating AI-assisted banking interactions with real data persistence using Supabase and Netlify Edge Functions.
๐ง Features
- Real Banking Operations: Account balances, transactions, and bill payments
- Persistent Data: All data stored in Supabase PostgreSQL database
- MCP Protocol: Full compatibility with Claude Desktop and other MCP clients
- Interactive Payments: Bill payment workflow with validation
- Edge Functions: Fast, globally distributed on Netlify Edge Runtime (Deno)
๐ Quick Start
Prerequisites
- Supabase account
- Netlify account (for deployment)
Local Development
-
Clone and install dependencies:
git clone <repository-url> cd penguin-bank-cloud npm install
-
Configure environment:
cp .env.example .env # Edit .env with your Supabase credentials
-
Start development server:
npm run dev
-
Configure Claude Desktop: Add to your Claude Desktop MCP settings:
{ "mcpServers": { "penguin-bank": { "url": "http://localhost:8888/mcp", "transport": "http" } } }
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ โ โ โ โ โ
โ Claude Desktop โโโโโโโโโโโค Netlify Edge โโโโโโโโโโโค Supabase โ
โ (MCP Client) โ HTTP โ Function (Deno) โ SQL โ Database โ
โ โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
Key Components:
- Edge Function: Single
mcp.ts
file handling MCP protocol - Deno Runtime: No build process, direct TypeScript execution
- Supabase: Cloud-first database with comprehensive banking schema
๐ ๏ธ Available Tools
- hello_penguin - Welcome message
- get_balance - Get account balance
- get_recent_transactions - List recent transactions
- show_bill - Display bill details
- process_payment - Pay bills with validation
๐ Database Schema
- users - User accounts with profile data
- accounts - Bank accounts (checking/savings) with balances
- transactions - Complete transaction history with categories
- bills - Payable bills with due dates and autopay
- payment_history - Payment records with confirmations
๐ง Development Commands
npm run dev # Start local development server
npm run db:migrate # Push database migrations to cloud
npm run db:reset # Reset cloud database with seed data
npm run db:link # Link to Supabase project
๐ Deployment
Automatic deployment via GitHub Actions:
- Push to main โ Triggers production deployment
- Pull requests โ Create preview deployments
- Database migrations โ Run automatically on main branch
- Zero build process โ Edge functions deploy directly
Required GitHub Secrets
SUPABASE_ACCESS_TOKEN
SUPABASE_DB_PASSWORD
SUPABASE_PROJECT_ID
NETLIFY_AUTH_TOKEN
NETLIFY_SITE_ID
Build Status:
๐งช Testing
Test the MCP server locally:
curl -X POST http://localhost:8888/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
๐ Documentation
๐ Security
- Demo uses fixed user ID for simplicity
- Production deployment needs proper authentication
- RLS policies enabled but bypassed for demo
- Service role key used (rotate regularly)
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make changes and test with
npm run dev
- Submit a pull request
๐ License
MIT License - see LICENSE file for details