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.
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:
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
- Python 3.11+
uvpackage manager (fastpipreplacement)- A Starling Bank API token (sandbox)
- 👉 Get one at the Starling Developer Portal
We're working to Dockerize this project so that you won't need to setup Python and uv in the near future.
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 .You can run and connect to this server to inspect it using MCP Inspector.
Navigate to the root of this cloned repository and run:
npx @modelcontextprotocol/inspector uv --directory . run main.pyAdd your Starling API token as STARLING_API_TOKEN an environment variable in the MCP Inspector.
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.
- Add an endpoint in
mcp_server/api/ - Register with the MCP server in
app.py
@mcp.tool()
def newFeature(param: str) -> dict:
# ImplementationThis 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.
PRs welcome! Open issues, request features, or just star the repo ⭐

