Skip to main content
Glama
shreyash1231

MCP Banking Server

by shreyash1231

MCP Server - Python FastAPI

Overview

This is a MCP (Minimal Core Platform) Server implemented in Python using FastAPI. It simulates a basic banking system with endpoints for account management, deposits, withdrawals, balance inquiries, and transaction history.


Hosted URL

https://mcp-server-m5d2.onrender.com


Cloud Provider

Render - Publicly accessible deployment.


Technology Stack

  • Python 3.13

  • FastAPI

  • Uvicorn

  • SQLAlchemy (SQLite/PostgreSQL compatible)

  • Pydantic

  • python-dotenv


Endpoints

1. Create Account

POST /account Creates a new bank account.

Request Body Example:

{
  "name": "John Doe",
  "email": "john@example.com"
}

Response Example:

{
  "name": "alex roy",
  "email": "example@gmail.com",
  "created_at": "2025-12-27T17:43:36",
  "balance": 0,
  "id": "05997aae-a545-4157-9118-99fd2ec7b4c7"
}

2. Deposit

POST /deposit/{account_id} Adds funds to an existing account.

Request Body Example:

{
  "amount": 500.0
}

Response Example:

{
  "account_id": "uuid",
  "balance": 500.0
}

3. Withdraw

POST /withdraw/{account_id} Removes funds from an existing account.

Request Body Example:

{
  "amount": 100.0
}

Response Example:

{
  "account_id": "uuid",
  "balance": 400.0
}

4. Balance Inquiry

GET /balance/{account_id} Retrieves the current balance of the account.

Response Example:

{
  "account_id": "uuid",
  "balance": 400.0
}

5. Transaction History

GET /transactions/{account_id} Returns recent transactions for the account.

Response Example:

[
  {
    "transaction_id": "uuid",
    "type": "deposit",
    "amount": 500.0,
    "timestamp": "2025-12-27T12:00:00"
  },
  {
    "transaction_id": "uuid",
    "type": "withdraw",
    "amount": 100.0,
    "timestamp": "2025-12-27T12:10:00"
  }
]

Database & ACID Properties

The MCP Server uses SQLAlchemy to interact with a relational database (SQLite by default). The database logic ensures the operations:

  • Isolation: Simultaneous transactions on different accounts are isolated; concurrent operations do not interfere.

  • Durability: Once a transaction is committed, it persists even if the server crashes.


Running Locally

Prerequisites

  • Python 3.13

  • pip

Install Dependencies

pip install -r requirements.txt

Start Server

uvicorn main:app --host 0.0.0.0 --port 8000

Visit http://127.0.0.1:8000/docs for Swagger UI.


ArmorIQ Scanning

  • Tested with ArmorIQ Sentry VS Code extension (Sentry-MCP-Endpoint-Scan, Sentry-Scan-WorkSpace-For-MCP-Security-Issue)

  • Tested with ArmorIQ Landing Page scanner

  • Endpoints are exposed publicly for the purpose of security scanning


GitHub Repository

https://github.com/shreyash1231/MCP-Server.git


Latest Blog Posts

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/shreyash1231/MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server