MCP Tools Reference
Complete reference for all 28 tools available through the BankSync MCP server. Each tool can be invoked by your AI agent using natural language.
Discovery Tools
Explore available data schemas and feed source types.
get_data_type_schema
Get the available source fields for a given data type. Returns the field names, types, and descriptions that can be used in feed field mappings.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
dataType | enum: transactions | balances | trades | holdings | loans | receipts | invoices | documents | required | The data type to get the schema for |
Try asking
“What fields are available for transaction data?”
list_feed_sources
List all supported feed source types and their compatible data types. Useful for discovering what kind of feeds can be created.
Try asking
“What types of feeds can I create?”
Workspace Tools
Manage workspaces and connected destination integrations.
list_workspaces
List all workspaces the authenticated user belongs to. Returns workspace IDs, names, and roles.
Try asking
“What workspaces do I have?”
get_workspace
Get name, subscription plan, and settings for a workspace.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
Try asking
“Show me details about my workspace”
list_integrations
List connected destination integrations (Notion, Google Sheets, Airtable) for a workspace.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
Try asking
“What destinations are connected?”
delete_integration
Remove a destination integration from the workspace. This disconnects the integration but does not delete data already synced to the destination.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
integrationId | string | required | The integration ID to remove |
Bank Tools
Manage bank connections throughout their lifecycle.
list_banks
List all connected bank connections for a workspace. Returns bank IDs, institution names, connection status, and account counts.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
Try asking
“What banks do I have connected?”
get_bank
Get a bank connection and its live accounts. Returns institution details, connection health, and a list of all accounts under the bank.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
Try asking
“Show me my Chase bank accounts”
create_bank_link
Initiate a new bank connection via Plaid or Basiq. Returns a link token or connection URL that must be completed in the BankSync app.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
source | enum: plaid | basiq | required | The open finance provider to use |
institutionId | string | optional | Pre-select a specific institution |
countryCodes | string[] | optional | Limit to specific countries (e.g., US, CA, AU) |
connect_bank
Complete a Plaid bank connection using a public token received from the Plaid Link flow.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
publicToken | string | required | The Plaid public token from Link |
institutionId | string | optional | The Plaid institution ID |
institutionName | string | optional | Human-readable institution name |
delete_bank
Remove a bank connection from the workspace. This revokes the open finance connection and removes all associated account data.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID to delete |
Account Tools
Retrieve account information from connected banks.
list_accounts
Fetch live accounts for a bank connection. Returns account IDs, names, types (checking, savings, investment, etc.), and current balances.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
Try asking
“Show me accounts for my Chase bank”
get_account
Fetch a single account's current details including name, type, subtype, balances, and currency.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
accountId | string | required | The account ID |
Data Tools
Access financial data including transactions, balances, investment holdings, trades, and loans.
get_transactions
Fetch bank transactions for an account. Supports date filtering and cursor-based pagination for large result sets.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
accountId | string | required | The account ID |
from | YYYY-MM-DD | optional | Start date for transaction filter |
to | YYYY-MM-DD | optional | End date for transaction filter |
cursor | string | optional | Pagination cursor from previous response |
Try asking
“Show me transactions from last month”
get_balance
Fetch the current live balance for an account. Returns current, available, and limit balances where applicable.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
accountId | string | required | The account ID |
Try asking
“What's my checking account balance?”
get_holdings
Get current investment holdings for an investment account. Returns securities, quantities, market values, and cost basis.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
accountId | string | required | The investment account ID |
Try asking
“Show my portfolio holdings”
get_trades
Get investment transactions (buys, sells, dividends) for an investment account. Supports date filtering.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
accountId | string | required | The investment account ID |
from | YYYY-MM-DD | optional | Start date for trade filter |
to | YYYY-MM-DD | optional | End date for trade filter |
get_loan
Get loan details for a loan or liability account including principal, interest rate, maturity date, and payment schedule.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
bankId | string | required | The bank connection ID |
accountId | string | required | The loan account ID |
Try asking
“What are my mortgage details?”
Feed Tools
Create and manage data pipeline feeds that sync financial data to your destinations.
list_feeds
List all data pipeline feeds in a workspace. Returns feed IDs, names, source types, data types, and current status.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
Try asking
“What feeds do I have?”
get_feed
Get the full configuration and status of a feed including source config, destination config, field mappings, and sync schedule.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID |
create_feed
Create a new data pipeline feed. Configures the source, destination, data type, field mappings, and sync schedule.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
name | string | required | Human-readable name for the feed |
source | enum | required | Feed source type (e.g., sync, manual) |
dataType | enum | required | Type of data (transactions, balances, etc.) |
sourceConfig | object | optional | Source-specific configuration (accounts, date range, etc.) |
destinationConfig | object | optional | Destination-specific configuration |
fieldMappings | object[] | optional | Custom field mapping overrides |
schedule | object | optional | Sync schedule configuration |
update_feed
Update a feed's configuration. Only the provided fields are updated — omitted fields remain unchanged.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID to update |
name | string | optional | Updated feed name |
sourceConfig | object | optional | Updated source configuration |
destinationConfig | object | optional | Updated destination configuration |
fieldMappings | object[] | optional | Updated field mappings |
schedule | object | optional | Updated sync schedule |
validate_feed
Pre-flight validate a feed configuration without creating or updating. Returns errors and warnings to help you fix issues before saving.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
name | string | optional | Feed name to validate |
source | enum | optional | Feed source type |
dataType | enum | optional | Data type |
sourceConfig | object | optional | Source configuration to validate |
destinationConfig | object | optional | Destination configuration to validate |
fieldMappings | object[] | optional | Field mappings to validate |
delete_feed
Permanently delete a feed. This stops all future syncs but does not delete data already synced to the destination.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID to delete |
Job Tools
Execute and monitor sync jobs.
list_jobs
List sync job history for a feed. Returns job IDs, statuses, timestamps, and result summaries. Supports filtering by status and limiting result count.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID |
limit | number | optional | Maximum number of jobs to return |
status | enum: queued | running | completed | failed | cancelled | optional | Filter by job status |
Try asking
“Show recent syncs for my transaction feed”
get_job
Get the detailed status of a specific sync job including progress, row counts, errors, and timing information.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID |
jobId | string | required | The job ID |
trigger_sync
Queue a new sync job for a feed. The job is queued immediately and executed asynchronously. Returns the new job ID for status tracking.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID to sync |
Try asking
“Sync my Chase transactions now”
cancel_job
Cancel a queued or in-progress sync job. Jobs in terminal states (completed, failed, cancelled) cannot be cancelled and will return a 409 error.
Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
workspaceId | string | required | The workspace ID |
feedId | string | required | The feed ID |
jobId | string | required | The job ID to cancel |
