Skip to content

mnckapilan/starling_mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Server for Starling Bank API

A Model Connector Protocol (MCP) server implementation for interfacing with the Starling Bank API.

This project exposes Starling Bank API endpoints as tools compatible with AI models and other MCP clients.

⚠️ Disclaimer
This project is not affiliated with or endorsed by Starling Bank. It is an unofficial, independent open-source implementation using their public API, created for experimentation purposes.

Use at your own risk.


Overview

The Starling MCP server wraps the full Starling Bank API in an MCP-compatible interface, enabling you to interact with the following features through an AI model – like this:

claude_example.png

Features exposed include:

  • 🏦 Account management
  • 👤 Account holder info
  • 🏠 Address management
  • 💳 Card controls
  • 🔁 Direct debits
  • 📊 Transaction feeds
  • 🪪 Identity verification
  • 💸 Payment processing
  • 👥 Payee handling
  • 🖼️ Profile images
  • 🐷 Savings goals
  • 📂 Spaces (sub-accounts)
  • 📈 Spending insights

⚙️ Installation

📋 Prerequisites

  • Python 3.11+
  • uv package manager (fast pip replacement)
  • A Starling Bank API token (sandbox)

We're working to Dockerize this project so that you won't need to setup Python and uv in the near future.

🚀 Setup

git clone https://github.com/mnckapilan/starling_mcp.git
cd starling_mcp
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
uv pip install -e .

🧪 Usage / Testing

Using MCP Inspector

You can run and connect to this server to inspect it using MCP Inspector.

mcp_inspector.png

Navigate to the root of this cloned repository and run:

npx @modelcontextprotocol/inspector uv --directory . run main.py

Add your Starling API token as STARLING_API_TOKEN an environment variable in the MCP Inspector.

Claude Desktop

You can use this MCP server locally using Claude Desktop's built-in MCP client support.

In your claude_desktop_config.json:

{
  "mcpServers": {
    "starling": {
      "command": "uv",
      "args": [
        "--directory",
        "/Your/Absolute/Path/To/starling_mcp",
        "run",
        "main.py"
      ],
      "env": {
        "STARLING_API_TOKEN": "your-starling-api-access-token"
      }
    }
  }
}

See the Claude MCP Server Guide for more detailed step-by-step instructions.

Example usage:

claude_example.png


🧩 Adding New Tools / Endpoints

  1. Add an endpoint in mcp_server/api/
  2. Register with the MCP server in app.py
@mcp.tool()
def newFeature(param: str) -> dict:
# Implementation

📄 License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.


🙌 Contributing

PRs welcome! Open issues, request features, or just star the repo ⭐

About

A MCP server implementation for interfacing with the Starling Bank API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages