openbanking
MCP server from Frictionlessdev/openbanking-mcp-server
claude mcp add --transport stdio frictionlessdev-openbanking-mcp-server java -jar target/OpenBankingMcpServerApplication-0.0.1-SNAPSHOT.jar \ --env DEBUG="false" \ --env MCP_SERVER_URL="http://localhost:8081/mcp" \ --env OPENBANKING_CLIENT_ID="your_client_id" \ --env OPENBANKING_API_BASE_URL="https://api.sandbox.yourbank.co.uk" \ --env OPENBANKING_FINANCIAL_ID="your_financial_id" \ --env OPENBANKING_CLIENT_SECRET="your_client_secret"
How to use
This MCP server exposes UK Open Banking capabilities through a Spring Boot application that implements the MCP protocol over JSON-RPC 2.0. It enables Claude Desktop to discover and invoke tools for account information (AISP) and payment initiation (PISP) against UK Open Banking APIs. Tools available include get_accounts, get_balances, get_transactions, and initiate_payment. You can initialize the MCP session, list available tools, and call a tool by name with the required arguments. The Stdio bridge (McpStdioBridge) handles stdio-based communication with Claude Desktop, while HTTP endpoints on port 8081 expose the JSON-RPC 2.0 interface for tool discovery and invocation.
How to install
Prerequisites: Java 21+ (recommended Java 25), Maven 3.8+, a Claude Desktop setup, and Open Banking credentials from a UK bank's developer portal.
Step-by-step:
- Install Java and Maven
- Ensure Java 21+ is installed
java -version
mvn -version
- Clone or download the project and install dependencies
- Build the Spring Boot server package ( jar )
# Ensure you are in the project root
mvn clean package -DskipTests
- Prepare the Stdio Bridge (for Claude Desktop integration)
- Create McpStdioBridge.java in the project root and compile it
cd /path/to/project/root
# Copy the McpStdioBridge.java content from the artifact as documented
javac McpStdioBridge.java
- Configure environment variables
- Create a .env file (optional) with Open Banking credentials and MCP bridge config
export OPENBANKING_CLIENT_ID="your_client_id"
export OPENBANKING_CLIENT_SECRET="your_client_secret"
export OPENBANKING_API_BASE_URL="https://api.sandbox.yourbank.co.uk"
export OPENBANKING_FINANCIAL_ID="your_financial_id"
export MCP_SERVER_URL="http://localhost:8081/mcp"
export DEBUG="false"
- Load environment variables
source .env
- Run the server
# Run the Spring Boot application
mvn spring-boot:run
- Verify the server
- Check port 8081 is listening and test the MCP endpoint
lsof -i :8081
curl -X POST http://localhost:8081/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}'
- Claude Desktop integration (optional)
- Follow the Claude Desktop integration steps in the README to connect via McpStdioBridge
Additional notes
Tips and notes:
- Ensure you have valid Open Banking credentials and have configured OAuth redirect URIs as described.
- The MCP server expects environment variables for both the Open Banking API access and the MCP bridge endpoint. Keep credentials secure and consider using a secrets manager in production.
- If you encounter port conflicts, adjust the MCP server URL and Claude Desktop bridge accordingly.
- The tool set assumes the presence of a functioning OAuth flow; token management is required for calls like get_accounts, get_balances, get_transactions, and initiate_payment.
- For debugging, set DEBUG=true to enable verbose logging from the bridge and server.