Integrate with Starling Bank API
An unofficial MCP server for the Starling Bank API - account management and transactions, with explicit prompt-injection and financial-risk warnings.
Why it matters
Connect to the Starling Bank API to manage your accounts and transactions programmatically. This asset provides tools for accessing account details and transaction history, enabling automated financial management.
Outcomes
What it gets done
Access Starling Bank account details
Retrieve transaction history
Initiate payments via Starling Bank API
Integrate with developer tools like Claude Desktop and Cursor
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-starling-bank | bash Overview
Starling Bank MCP Server
An unofficial MCP server for Starling Bank account management and transactions, carrying explicit warnings about model mistakes, prompt injection, and unauthenticated HTTP transport risk. Use when an AI assistant needs to read or act on a real Starling Bank account - never expose the unauthenticated HTTP transport directly, and use with caution given real financial risk.
What it does
Gives an AI assistant tools to interact with Starling Bank's developer API for account management and transactions, as an unofficial third-party integration not affiliated with Starling Bank itself. The project carries an explicit warning that models make frequent mistakes and are vulnerable to prompt injection, and because this server gives a model real control over a bank account, mistakes here could be financially costly - it should be used cautiously and at the user's own risk, not treated as a safe default integration. Setup starts by creating a Starling Bank personal access token through a Starling Developers account, linking it to the actual bank account, and generating a token scoped to only what the AI system should be allowed to access; an optional, more advanced step covers configuring payment signing separately, only needed if sending payments is required.
When to use - and when NOT to
Use it when an AI assistant needs to read or act on a real Starling Bank account - checking balances, transactions, or, with the optional payment-signing setup, sending payments - through natural-language requests. By default it runs over stdio transport for desktop clients like Claude Desktop, Cursor, or Cline, configured with an access token as an environment variable; it can alternatively run as an HTTP server, but the HTTP transport ships with no authentication at all, meaning any other process on the same machine, including a website open in the browser, could potentially reach the endpoint and control the bank account. HTTP transport should only ever be used behind a reverse proxy or another properly secured setup, never exposed directly.
Capabilities
Account management and transaction access against a real Starling Bank account through its developer API, with an optional payment-signing configuration for actually sending payments rather than just reading data.
How to install
Create a Starling personal access token scoped to the desired permissions, then either install a pre-built .mcpb bundle in Claude Desktop, or add a JSON configuration with the access token as an environment variable:
{
"mcpServers": {
"starling-bank": {
"command": "npx",
"args": [
"-y",
"starling-bank-mcp"
],
"env": {
"STARLING_BANK_ACCESS_TOKEN": "eyJhb...",
}
}
}
}
supported directly in Claude Desktop, Cursor, and Cline.
Who it's for
Users who want an AI assistant to read or act on their real Starling Bank account, and who accept the real financial risk of connecting a model to live banking access - not for anyone unwilling to use an unofficial, real-money integration at their own risk.
Source README
starling-bank-mcp
MCP server for Starling Bank API integration, providing tools to interact with Starling Bank's developer API for account management and transactions.
https://github.com/user-attachments/assets/c2b23c22-bd23-487e-a4f5-c62e02280052
This is a 3rd party integration, and is not affiliated with Starling Bank.
Installation
Step 1: Create a Starling Bank personal access token. To do this:
- Sign up for a Starling Developers account
- Link your Starling Bank account to your Starling Developer account
- Create the access token
- The token name can be anything, e.g. 'Starling Bank MCP Server Token'
- Select the scopes based on what you want the AI system to be able to access
Keep the token handy, you'll need it in the next step. It'll probably begin something like eyJhbGciOiJQUzI1NiIsInppcCI6IkdaSVAifQ., and be moderately long.
Step 2: Follow the instructions below for your preferred client:
(Optional, Advanced) Step 3: See PAYMENT_SIGNING_SETUP.md if you want to be able to send payments.
Claude Desktop
(Recommended) Alternative: Via manual .mcpb installation
- Find the latest mcpb build in the GitHub Actions history (the top one)
- In the 'Artifacts' section, download the
starling-bank-mcp-mcpbfile - Rename the
.zipfile to.mcpb - Double-click the
.mcpbfile to open with Claude Desktop - Click "Install" and configure with your API key
(Advanced) Alternative: Via JSON configuration
- Install Node.js
- Open Claude Desktop and go to Settings → Developer
- Click "Edit Config" to open your
claude_desktop_config.jsonfile - Add the following configuration to the "mcpServers" section, replacing
eyJhb...with your API key:
{
"mcpServers": {
"starling-bank": {
"command": "npx",
"args": [
"-y",
"starling-bank-mcp"
],
"env": {
"STARLING_BANK_ACCESS_TOKEN": "eyJhb...",
}
}
}
}
- Save the file and restart Claude Desktop
Cursor
(Recommended) Via one-click install
(Advanced) Alternative: Via JSON configuration
Create either a global (~/.cursor/mcp.json) or project-specific (.cursor/mcp.json) configuration file, replacing eyJhb... with your API key:
{
"mcpServers": {
"starling-bank": {
"command": "npx",
"args": ["-y", "starling-bank-mcp"],
"env": {
"STARLING_BANK_ACCESS_TOKEN": "eyJhb..."
}
}
}
}
Cline
Via JSON configuration
- Click the "MCP Servers" icon in the Cline extension
- Click on the "Installed" tab, then the "Configure MCP Servers" button at the bottom
- Add the following configuration to the "mcpServers" section, replacing
eyJhb...with your API key:
{
"mcpServers": {
"starling-bank": {
"type": "stdio",
"command": "npx",
"args": ["-y", "starling-bank-mcp"],
"env": {
"STARLING_BANK_ACCESS_TOKEN": "eyJhb..."
}
}
}
}
Advanced: HTTP Transport
By default, the server uses stdio transport (for Claude Desktop, Cursor, etc.). You can also run it as an HTTP server:
STARLING_BANK_ACCESS_TOKEN=eyJhb... MCP_TRANSPORT=http PORT=3000 npx starling-bank-mcp
The MCP endpoint will be available at http://localhost:3000/mcp.
Releases
Versions follow the semantic versioning spec.
To release:
- Use
npm version <major | minor | patch>to bump the version - Run
git push --follow-tagsto push with tags - Wait for GitHub Actions to publish to the NPM registry.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.