# Swan MCP

> Swan MCP gives your AI client full algorithmic control over European banking operations. You can programmatically establish local branch accounts with FRA or ESP IBAN formats, execute standard SEPA transfers across Europe, and issue custom virtual corporate cards for contractors. It's the connection point for advanced financial orchestration.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** baas, sepa-transfers, virtual-cards, financial-compliance, account-provisioning

## Description

This connector lets you manage complex money movements without touching a dashboard. Need to set up a new operating pool in Germany? You can provision a local account instantly using your agent. When it comes time to pay vendors, simply initiate a SEPA credit transfer with verified external creditor data. For corporate expense management, the system generates virtual Mastercard debit cards assigned only to specific contractors. If you're building an enterprise financial workflow, this MCP provides the full European banking-as-a-service architecture your AI can act upon. Because Vinkius hosts this connection, your agent gets access to a single point of control for all these functions.

## Tools

### swan_add_virtual_card
Creates a robust Mastercard Virtual Debit card for expense tracking.

### swan_cancel_card
Permanently removes and deactivates a specific corporate card number.

### swan_create_account
Dynamically provisions a new European bank account under your existing ledger structure.

### swan_create_sepa_transfer
Initiates a standard, traceable SEPA Credit Transfer across the European banking network.

### swan_get_accounts
Lists all operational Swan Bank Accounts and their associated IBANs held by the project.

### swan_get_project_info
Retrieves high-level details about your entire connected Swan Project Node for reference.

### swan_get_transactions
Fetches the complete ledger history and transaction list for a specific account ID.

### swan_list_cards
Lists both physical and virtual cards currently associated with your project.

### swan_simulate_incoming_transfer
Allows you to inject dummy money into an account for testing purposes only.

## Prompt Examples

**Prompt:** 
```
Retrieve my core project identifier and map the legal entity ID.
```

**Response:** 
```
Connected natively to Swan's core GraphQL pipeline. I can confirm your Project ID is 12345ABC and operates under active mode validating your main institution.
```

**Prompt:** 
```
Launch a brand new sub-account in France. Bind it to the root entity targeting EUR processing.
```

**Response:** 
```
Root creation successful. Your account 'Operating Pool FRA' is successfully allocated instantly yielding its unique string representation alongside new IBAN limits routed locally.
```

**Prompt:** 
```
Sweep the ledger of Account X123 and list the latest 5 transactions.
```

**Response:** 
```
Log fetched. Examining the exact nodes, the account handled a deposit of 200 EUR and a 50 EUR withdrawal, both marked as settled on the API tier.
```

## Capabilities

### Provision New Bank Accounts
Creates new European bank accounts instantly and allocates the unique IBAN format (like FRA or ESP) needed for operation.

### Manage Corporate Cards
Generates custom virtual Mastercard debit cards for employees and permanently cancels old corporate cards.

### Execute European Transfers
Sends exact funds across European networks using a standard SEPA credit transfer command.

### View Account Details
Retrieves all connected bank accounts and lists the historical ledger for any specified account.

### List Assets and History
Provides a full view of all physical and virtual cards, along with overarching details about your connected project node.

## Use Cases

### Setting up a new subsidiary office.
A Finance Ops team needs to start operations in Portugal. Instead of waiting weeks for physical bank paperwork, they ask their agent to 'Provision a local operating account in Portugal.' The agent uses `swan_create_account` and returns the live IBAN immediately.

### Managing quarterly contractor expenses.
A Project Manager needs 5 new contractors set up for Q3. They ask their agent to 'Issue five virtual cards for marketing spend.' The agent calls `swan_add_virtual_card` five times, and the cards are ready for use in minutes.

### Running end-of-month ledger audits.
A Treasury Analyst needs to check if all outstanding payments were received. They ask their agent to 'Check the last 30 days of activity on Account X.' The agent executes `swan_get_transactions` and provides a clean, summarized report.

### Testing payment systems before deployment.
A Fintech developer needs to test their new payment microservice. They tell the agent 'Run a sandbox transfer simulation.' The agent uses `swan_simulate_incoming_transfer` to inject fake money, confirming the pipeline works without touching real funds.

## Benefits

- Automate multi-country payments. Instead of manually initiating a wire transfer, your agent uses `swan_create_sepa_transfer` to safely move funds across Europe from within natural language prompts.
- Eliminate manual card issuance risk. You can tell the MCP to generate new vendor spending tools by calling `swan_add_virtual_card`, immediately giving contractors usable cards without involving a human administrator.
- Maintain perfect compliance visibility. The toolset allows you to view all connected assets using `swan_list_cards` and confirm project health with `swan_get_project_info` in one query.
- Rapidly onboard new markets. You can instantly provision local bank operations by invoking `swan_create_account`, getting a unique IBAN ready for use in minutes, not days.
- Streamline reconciliation. Get the full picture of account activity using `swan_get_transactions` or check balances with `swan_get_accounts`, giving you instant ledger history without logging into multiple bank portals.

## How It Works

The bottom line is: You connect once from your AI client and gain programmatic authority over European banking functions.

1. You must first log into your Swan Partner dashboard to get the necessary credentials.
2. Next, generate a Project Access Token within the Developer Settings and securely bind that token into Vinkius for API access.
3. Finally, if you are running simulations or tests, make sure to explicitly set the 'sandbox' environment flag before making any calls.

## Frequently Asked Questions

**Does swan_get_accounts show my current available balance?**
Yes, it lists all operational accounts and their associated IBANs. For a detailed history of deposits and withdrawals, you should also run `swan_get_transactions`.

**Can I use swan_create_sepa_transfer with dummy data?**
You can test the flow using `swan_simulate_incoming_transfer`, which is designed for sandbox testing. This tool does not move real money.

**What if I need to cancel a corporate card immediately?**
Use the `swan_cancel_card` function. It permanently deactivates the specified card, ensuring no further transactions can occur against it.

**How do I check which cards are associated with my project?**
You run `swan_list_cards`. This single tool returns a comprehensive list of both physical and virtual cards assigned to your connected project node.