loading…
Search for a command to run...
loading…
Connects CashChat financial data to AI assistants, enabling users to manage transactions, view spending summaries, and track category breakdowns through natural
Connects CashChat financial data to AI assistants, enabling users to manage transactions, view spending summaries, and track category breakdowns through natural language. It supports both local stdio and remote URL-based connections with secure OAuth 2.0 authentication.
Connect your financial data to AI assistants like Claude
CashChat MCP Server exposes your CashChat financial data to AI assistants via the Model Context Protocol (MCP). It supports both local stdio connections and remote URL-based connections with OAuth 2.0 authentication.
This is the recommended way to connect CashChat to Claude Desktop using a publicly accessible server.
Sign up at CashChat and get your API key from the settings page.
Add this configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cashchat": {
"url": "https://cashchat.supastellar.dev/sse",
"oauth": {
"authUrl": "https://cashchat.supastellar.dev/oauth/authorize",
"tokenUrl": "https://cashchat.supastellar.dev/oauth/token",
"clientId": "cashchat-mcp-server",
"scopes": ["read", "write"]
}
}
}
}
Restart Claude Desktop and you'll be prompted to authorize the connection. Click "Authorize" and you're ready to go!
In Claude Desktop, try asking:
git clone https://github.com/supastellar/cashchat-mcp
cd cashchat-mcp
npm install
cp .env.example .env
Edit .env and add your CashChat API key:
CASHCHAT_API_KEY=your_api_key_here
PORT=3000
SERVER_URL=http://localhost:3000
npm run build
npm run start:server
The server will be running at http://localhost:3000.
Connect Claude Desktop to your local server by updating the config:
{
"mcpServers": {
"cashchat": {
"url": "http://localhost:3000/sse",
"oauth": {
"authUrl": "http://localhost:3000/oauth/authorize",
"tokenUrl": "http://localhost:3000/oauth/token",
"clientId": "cashchat-mcp-server",
"scopes": ["read", "write"]
}
}
}
}
Note: Claude Desktop may require HTTPS for OAuth. For local testing with HTTPS, use a tool like ngrok or localtunnel.
If you prefer the classic stdio-based local connection without OAuth:
{
"mcpServers": {
"cashchat": {
"command": "node",
"args": ["/absolute/path/to/cashchat-mcp/build/index.js"],
"env": {
"CASHCHAT_API_KEY": "your_api_key_here"
}
}
}
}
This mode runs the server as a subprocess and communicates via stdin/stdout. No HTTP server or OAuth required.
The MCP server provides 8 tools for interacting with your financial data:
get_transactionsRetrieve transactions with optional filters.
Parameters:
startDate (optional): Start date (YYYY-MM-DD)endDate (optional): End date (YYYY-MM-DD)category (optional): Filter by categorylimit (optional): Max results (default: 50)offset (optional): Pagination offsetExample:
Get my transactions from January 2024
add_transactionAdd a new transaction.
Parameters:
amount (required): Transaction amountcategory (required): Category (e.g., Food, Transport)date (required): Date (YYYY-MM-DD)type (optional): 'expense' or 'income' (default: expense)note (optional): Descriptionname (optional): Merchant nameExample:
Add a transaction: $75 for groceries at Whole Foods on 2024-01-15
update_transactionUpdate an existing transaction.
Parameters:
id (required): Transaction IDamount (optional): New amountcategory (optional): New categorynote (optional): New notename (optional): New merchant namedelete_transactionDelete a transaction.
Parameters:
id (required): Transaction ID to deleteget_summaryGet spending summary for a time period.
Parameters:
period (required): 'day', 'week', 'month', or 'year'date (optional): Reference date (defaults to today)Example:
Show me my spending summary for this month
get_categoriesList all available transaction categories.
Example:
What categories can I use?
get_settingsGet your CashChat settings.
update_settingsUpdate your CashChat settings.
Parameters:
preferredCurrency (optional): Currency code (USD, CAD, EUR, etc.)agentInstructions (optional): Custom instructions for AI assistantFor production deployment instructions, see DEPLOYMENT.md.
CASHCHAT_API_KEYnpm install -g wrangler
wrangler login
wrangler secret put CASHCHAT_API_KEY
wrangler deploy
See DEPLOYMENT.md for detailed instructions.
┌─────────────────┐ ┌──────────────────┐
│ Claude Desktop │ │ CashChat MCP │
│ │ │ Server (HTTP) │
├─────────────────┤ ├──────────────────┤
│ │ │ │
│ 1. OAuth Flow │ ◄───────►│ /oauth/* │
│ │ │ │
│ 2. SSE Connect │ ◄───────►│ /sse │
│ │ │ │
│ 3. MCP Tools │ ◄───────►│ MCP Server │
│ │ │ │
└─────────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ CashChat API │
│ (Backend) │
└──────────────────┘
┌─────────────────┐ ┌──────────────────┐
│ Claude Desktop │ │ CashChat MCP │
│ │ │ Server (stdio) │
├─────────────────┤ ├──────────────────┤
│ │ │ │
│ stdio pipe │ ◄───────►│ MCP Server │
│ │ │ │
└─────────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ CashChat API │
│ (Backend) │
└──────────────────┘
OAUTH_CLIENT_SECRET for additional securitySERVER_URL is publicly accessibleCASHCHAT_API_KEY is correctFor more help, see DEPLOYMENT.md or open an issue.
cashchat-mcp/
├── src/
│ ├── index.ts # Legacy stdio server
│ ├── server.ts # HTTP/SSE server with OAuth
│ ├── worker.ts # Cloudflare Workers version
│ ├── types.ts # TypeScript types
│ ├── api/
│ │ └── client.ts # CashChat API client
│ ├── auth/
│ │ ├── tokenStore.ts # OAuth token storage
│ │ ├── middleware.ts # Auth middleware
│ │ └── oauthRoutes.ts # OAuth endpoints
│ └── tools/
│ ├── transactions.ts # Transaction tools
│ └── summary.ts # Analytics tools
├── build/ # Compiled JavaScript
├── package.json
├── tsconfig.json
├── wrangler.toml # Cloudflare Workers config
└── README.md
npm run build - Compile TypeScriptnpm run dev - Watch mode for developmentnpm start - Run stdio server (legacy)npm run start:server - Run HTTP/SSE servernpm run dev:server - Development mode with auto-reloadContributions are welcome! Please:
MIT License - see LICENSE for details.
Need help?
Built with ❤️ by Supa Stellar
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"cashchat-mcp-server": {
"command": "npx",
"args": []
}
}
}