Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CashChat MCP ServerShow me my spending summary for this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CashChat MCP Server
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.
Features
π OAuth 2.0 Authentication - Secure URL-based connections for Claude Desktop
π° Transaction Management - Query, add, update, and delete transactions
π Financial Analytics - Get spending summaries and category breakdowns
βοΈ Settings Control - Manage currency preferences and AI agent instructions
π Multiple Deployment Options - Run locally, Node.js server, or Cloudflare Workers
π MCP Standard Compliant - Works with any MCP-compatible AI assistant
Quick Start
For Claude Desktop Users (URL-based connection)
This is the recommended way to connect CashChat to Claude Desktop using a publicly accessible server.
1. Get Your CashChat API Key
Sign up at CashChat and get your API key from the settings page.
2. Connect to the Public Server
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
3. Restart Claude Desktop
Restart Claude Desktop and you'll be prompted to authorize the connection. Click "Authorize" and you're ready to go!
4. Try It Out
In Claude Desktop, try asking:
"What did I spend on groceries this month?"
"Add a transaction: $50 for dinner at Joe's Restaurant"
"Show me my spending summary for this week"
Local Development & Self-Hosting
Prerequisites
Node.js 18 or higher
npm or yarn
CashChat API key
Installation
Clone the repository:
Install dependencies:
Configure environment variables:
Edit .env and add your CashChat API key:
Build the project:
Start the server:
The server will be running at http://localhost:3000.
Testing Locally
Connect Claude Desktop to your local server by updating the config:
Note: Claude Desktop may require HTTPS for OAuth. For local testing with HTTPS, use a tool like ngrok or localtunnel.
Legacy stdio Mode (for local-only setup)
If you prefer the classic stdio-based local connection without OAuth:
Claude Desktop Config (stdio mode)
This mode runs the server as a subprocess and communicates via stdin/stdout. No HTTP server or OAuth required.
Available Tools
The MCP server provides 8 tools for interacting with your financial data:
Transaction Tools
get_transactions
Retrieve 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 offset
Example:
add_transaction
Add 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 name
Example:
update_transaction
Update an existing transaction.
Parameters:
id(required): Transaction IDamount(optional): New amountcategory(optional): New categorynote(optional): New notename(optional): New merchant name
delete_transaction
Delete a transaction.
Parameters:
id(required): Transaction ID to delete
Analytics Tools
get_summary
Get spending summary for a time period.
Parameters:
period(required): 'day', 'week', 'month', or 'year'date(optional): Reference date (defaults to today)
Example:
get_categories
List all available transaction categories.
Example:
Settings Tools
get_settings
Get your CashChat settings.
update_settings
Update your CashChat settings.
Parameters:
preferredCurrency(optional): Currency code (USD, CAD, EUR, etc.)agentInstructions(optional): Custom instructions for AI assistant
Deployment
For production deployment instructions, see DEPLOYMENT.md.
Quick Deployment Options
Railway (Recommended)
Click the button above
Add your
CASHCHAT_API_KEYDeploy!
Cloudflare Workers
See DEPLOYMENT.md for detailed instructions.
Architecture
URL-Based Mode (HTTP + SSE + OAuth)
Legacy stdio Mode
Security
OAuth 2.0 with PKCE support for secure authorization
Bearer token authentication for API requests
HTTPS required in production
Token expiration (30 days default)
Scope-based permissions (read/write)
Production Security Recommendations
Use HTTPS only (no HTTP in production)
Set
OAUTH_CLIENT_SECRETfor additional securityImplement rate limiting
Use a proper database for token storage (not in-memory)
Rotate API keys regularly
Monitor access logs
Troubleshooting
"Connection refused" error
Check if the server is running
Verify the URL in your Claude Desktop config
Ensure firewall allows the port
OAuth authorization fails
Confirm
SERVER_URLis publicly accessibleCheck that URLs in Claude config match your server
Verify HTTPS is enabled (required by Claude Desktop)
"Invalid API key" error
Check your
CASHCHAT_API_KEYis correctVerify the API key is active in your CashChat account
Tools not showing up in Claude
Restart Claude Desktop after config changes
Check server logs for errors
Verify OAuth flow completed successfully
For more help, see DEPLOYMENT.md or open an issue.
Development
Project Structure
Scripts
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-reload
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE for details.
Links
CashChat: https://cashchat.supastellar.dev
MCP Documentation: https://modelcontextprotocol.io
Claude Desktop: https://claude.ai/download
GitHub: https://github.com/supastellar/cashchat-mcp
Issues: https://github.com/supastellar/cashchat-mcp/issues
Support
Need help?
π Check the DEPLOYMENT.md guide
π Report bugs on GitHub Issues
π¬ Questions? Open a Discussion
Built with β€οΈ by