Skip to main content
Glama
tkom04

Open Banking MCP Server

by tkom04
README.md
# Open Banking MCP Server

A Model Context Protocol (MCP) server for Open Banking integration with TrueLayer API.

## 🚀 Quick Start

### 1. Setup Credentials

Copy your real credentials to `mcp.local.json` (kept out of version control) **or** export them as environment variables before running the server. The committed `mcp.json` intentionally keeps placeholder values so no secrets are stored in the repo:

```json
{
"mcpServers": {
    "openbanking-mcp": {
      "command": "py",
      "args": ["server.py"],
      "cwd": "C:\\1 Projects\\Cursor Projects\\GPT Experimentation\\OPEN BANKING MCP BUISNESS\\openbankingMCP",
      "env": {
        "TRUELAYER_CLIENT_ID": "your-real-client-id",
        "TRUELAYER_CLIENT_SECRET": "your-real-client-secret"
      }
    }
  }
}
```

Alternatively, set the variables directly in your shell or process manager (example shown for POSIX shells):

```bash
export TRUELAYER_CLIENT_ID="your-real-client-id"
export TRUELAYER_CLIENT_SECRET="your-real-client-secret"
```

### 2. Install Dependencies

```bash
# No additional dependencies required - uses Python standard library
```

### 3. Test the Server

```bash
# Test minimal server
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | py minimal_mcp.py

# Test full server
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}' | py server.py
```

### 4. Configure Cursor

Use `mcp.local.json` for your local Cursor configuration (contains real credentials).

## 🛠️ Available Tools

- **`get_accounts`**: List all bank accounts
- **`get_transactions`**: Get transaction history for a specific account and date range

## 🔒 Security

- Real credentials are stored in `mcp.local.json` (gitignored)
- Placeholder credentials in `mcp.json` for version control
- Never commit real API keys or secrets

## 🐞 Debugging

If MCP tools don't appear in Cursor:

1. Check Cursor Developer Console (`Ctrl+Shift+I`)
2. Look for startup messages: `🚀 OpenBanking MCP server starting...`
3. Verify Python path and working directory in MCP config
4. Test server manually outside Cursor first

TDQS

C2.8/5.0

Scored across 9 tools

Disambiguation2/5

exchange_code and complete_code_exchange overlap almost entirely (one is a legacy alias), and get_accounts/list_accounts plus get_transactions/list_transactions have similar names but differ in real vs. dummy behavior, creating confusion. An agent could easily select the wrong tool without careful description inspection.

Naming Consistency3/5

The pattern is mostly verb_noun, but the use of both get_ and list_ prefixes for closely related actions, along with exchange_code versus complete_code_exchange, shows inconsistent verb choice. The 'legacy alias' note further muddies the name convention.

Tool Count5/5

With 9 tools, the server is well-scoped for Open Banking operations covering auth, accounts, transactions, consents, and export. Each tool has a place, and the count is neither too small nor excessive.

Completeness4/5

The surface covers the core lifecycle: OAuth authorization, code exchange, account listing, transaction retrieval, CSV export, and consent listing. Notable gaps include consent revocation and token refresh, which are minor but would round out the workflow.

Maintenance

ActivityInactive
ResponsivenessUnresponsive