Connect Finance AI to your favorite AI tools using the Model Context Protocol. Query your accounts, transactions, net worth, and more — right from Claude Code, Claude Desktop, ChatGPT, or any MCP-compatible client.
Add the MCP server to your project or global configuration:
claude mcp add finance-ai \
--transport http \
--url https://your-domain.com/api/mcp \
--header "Authorization: Bearer YOUR_API_KEY"Or add it to your .mcp.json file:
{
"mcpServers": {
"finance-ai": {
"type": "url",
"url": "https://your-domain.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Open Settings → Developer → MCP Servers and add a new server:
{
"mcpServers": {
"finance-ai": {
"type": "url",
"url": "https://your-domain.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}In ChatGPT, go to Settings → Connected Apps → Add MCP Server:
https://your-domain.com/api/mcpMost MCP clients support HTTP transport. Add a server with these details:
https://your-domain.com/api/mcpStreamable HTTPAuthorization: Bearer YOUR_API_KEYRefer to your client's documentation for the exact configuration format. The server follows the MCP Streamable HTTP transport specification.
The MCP server exposes the following tools. Your AI assistant will automatically discover and use them.
getAccountsGet all bank, credit, and investment accounts with current balances and types.
Returns account name, type (depository, credit, investment, loan), subtype, current/available balance, credit limit, and masked account number.
queryTransactionsRun a read-only SQL query against your transactions.
Execute PostgreSQL SELECT queries against a pre-filtered view of your transactions. Supports pagination (50 rows/page). Columns include amount, date, name, merchantName, category, accountName, and more. Only SELECT statements are allowed — your data is safe.
sql(string)A SELECT query against the user_transactions viewpage(number)Page number for pagination (optional, default: 1)getNetWorthCalculate current net worth from all accounts, stocks, and mortgages.
Returns total assets, liabilities, net worth, and a breakdown by category (bank accounts, investment accounts, credit/loans, manual stocks, mortgage equity).
getManualStocksGet all manually tracked stock and equity holdings.
Returns stock name, ticker, shares, price per share, strike price, exercise status, gross value, and net value for each holding.
getMortgagesGet all mortgage and property records.
Returns property name, home value, loan amount, equity, loan-to-value ratio, and interest rate for each mortgage.
getCategoriesGet all custom transaction categories.
Returns category name, emoji icon, and color for each user-created category.
categorizeTransactionsAssign a custom category to transactions matching filters.
Categorizes matching transactions and creates merchant rules for future auto-categorization. Creates the category if it doesn't exist.
categoryName(string)Category name (created if it doesn't exist)search(string)Filter by transaction/merchant name (optional)primaryCategory(string)Filter by Plaid category (optional)dateFrom(string)Start date filter (optional)dateTo(string)End date filter (optional)limit(number)Max transactions to categorize (optional, default: 200)generateChartGenerate structured chart data for visualizing financial data.
Returns structured data for bar, pie, line, or area charts. Best used after querying transaction data to visualize spending breakdowns, trends, or comparisons.
chartType("bar" | "pie" | "line" | "area")Type of charttitle(string)Chart titledata(array)Array of { name, value } data pointsvaluePrefix(string)Value prefix, e.g. "$" (optional)valueSuffix(string)Value suffix, e.g. "%" (optional)SELECT statements are allowed, with a 5-second timeout.