Remote-MCP-Server-Expense-Tracker
by Puneeth0106
Overview
This server provides a set of tools to track and manage personal expenses, allowing users to add, list, summarize, update, and delete expenses through an API.
Installation
python servers/server.pyEnvironment Variables
- DATABASE_URL
- FASTMCP_SERVER_AUTH_GITHUB_CLIENT_ID
- FASTMCP_SERVER_AUTH_GITHUB_CLIENT_SECRET
Security Notes
The database interactions use parameterized queries (both psycopg2 and sqlite3), which effectively prevents SQL injection vulnerabilities. Environment variables are correctly utilized for sensitive information such as database connection URLs and API keys (e.g., GitHub OAuth credentials). CRITICAL CONCERN: Several server implementations (`local-expense-mcp-server.py`, `remote-expense-mcp-server.py`, and `server.py`) rely on a `user_id` parameter passed by the client. While they contain an `ensure_user_identity` helper to prompt for a user's name if `guest` is provided, these servers *do not perform any authentication or authorization on the `user_id` itself*. If these servers are deployed to a publicly accessible network without an external, robust authentication layer, any individual could potentially access or manipulate expense data for any `user_id` by simply specifying it in their API requests. This poses a significant security risk for multi-user or public deployments. MINOR CONCERN: In `remote-mcp-authentication-server.py`, the `JWT_KEY` environment variable and its use as a `jwt_signing_key` for the GitHubProvider are commented out. If `FastMCP` does not automatically provide a strong default or if tokens are used without proper signing, this could compromise the integrity and authenticity of authentication tokens. Network Exposure: The servers are configured to run on `0.0.0.0`, meaning they listen on all available network interfaces. This requires proper network security (e.g., firewalling) if deployed in a production or publicly exposed environment.
Similar Servers
Trackor
Provides an MCP server for tracking personal expenses, including adding, listing, summarizing, updating, and exporting data.
Expenses-Tracker-MCP-Server
Provides a backend for AI clients to manage, track, and analyze personal or business expenses through a Model Context Protocol (MCP) interface.
test-remote-mcp-server
An API server for managing personal expenses, allowing users to add, list, and summarize expense entries.
expense_tracker_remote_mcp_server
The server provides an API for users to track, add, list, and summarize their personal expenses, storing the data in a local SQLite database.