portfolio-manager-go
Application to value a portfolio of multiple asset classes, automatically compute dividends and fetch market prices from free data sources. Exposes a MCP Server and integrates with LLMs.
claude mcp add --transport stdio rodionlim-portfolio-manager-go docker run -i rodionlim/portfolio-manager-go
How to use
The Portfolio Manager MCP server provides an API-driven interface to value and analyze a personal investment portfolio across equities, forex, commodities, cash, bonds, and cryptocurrencies, with the added capability of leveraging LLM-based insights. It stores data locally in a LevelDB-backed datastore and supports calculating portfolio statistics such as IRR, market value, and price paid, while also offering OpenAPI-compliant endpoints for easy integration with other systems. The server integrates with Gemini for analytics-derived insights and can generate trading ideas, correlation matrices, and benchmarking against user-defined benchmarks. Users can interact with the server through the built-in CLI, REST/OpenAPI endpoints, and a UI frontend when paired with the web UI in development workflows.
How to install
Prerequisites:
- Go installed (as the project is Go-based) and Make utility
- Git to clone repositories
- Optional: Node.js for the UI if you plan to run the web frontend locally
Installation steps:
-
Clone the repository: git clone https://github.com/rodionlim/portfolio-manager-go.git cd portfolio-manager-go
-
Ensure you have Go 1.24.3 or higher installed as required by the project.
-
Build and install the application using Make: make
-
Run the built binary to start the server. If you built locally via make, the binary is typically named portfolio-manager. Start it with: ./portfolio-manager -config custom-config.yaml
-
If you prefer to run via Docker (as indicated in the MCP config):
- Pull and run the image: docker run -i rodionlim/portfolio-manager-go
- Pass in configuration via a config file or environment as needed by your setup.
-
Optional: Start the UI (if you want the web frontend): cd web/ui npm install npm run dev
-
Validate installation by querying the API or CLI as described in the README (e.g., list positions, backup/restore commands, etc.).
Additional notes
Environment variables:
- GEMINI_API_KEY: API key for Google Gemini AI service. If set, this will override geminiApiKey in the config.
- ANALYTICS_SCHEDULE: Cron expression to schedule SGX report collection. If set, overrides analytics.schedule in config.
Proxmox VE helper scripts are provided for easy deployment in LXC containers. See the README for how to install and configure environment variables in systemd unit files. If using Google Drive backup/restore features, OAuth2 desktop credentials are recommended for personal accounts. The database can be wiped with make clean-db for development workflows. The server exposes CLI commands for position management and database backup/restore, with offline local access required for backup/restore operations.
Related MCP Servers
rohlik
MCP server that lets you shop groceries across the Rohlik Group platforms (Rohlik.cz, Knuspr.de, Gurkerl.at, Kifli.hu, Sezamo.ro)
robot_MCP
A simple MCP server for the SO-ARM100 control
mcp-gemini-search
Model Context Protocol (MCP) with Gemini 2.5 Pro. Convert conversational queries into flight searches using Gemini's function calling capabilities and MCP's flight search tools
gtm
An MCP server for Google Tag Manager. Connect it to your LLM, authenticate once, and start managing GTM through natural language.
packt-netops-ai-workshop
🔧 Build Intelligent Networks with AI
google-scholar
An MCP server for Google Scholar written in TypeScript with Streamable HTTP