Wealthfolio MCP Server
Integrates with Wealthfolio to provide real-time portfolio data, valuations, account management, and historical performance analytics through a Model Context Protocol interface compatible with OpenWebUI and automation tools.
README
Wealthfolio MCP Server
A Model Context Protocol (MCP) server that integrates with Wealthfolio to provide portfolio data, valuations, and analytics to OpenWebUI and other MCP-compatible applications.
Features
- Real-time Portfolio Data: Fetch current portfolio valuations, holdings, and performance metrics
- Account Management: Access all your Wealthfolio accounts and their details
- Asset Information: Get comprehensive asset profiles and market data
- Historical Valuations: Retrieve portfolio performance history over time
- OpenWebUI Integration: Seamlessly integrate with OpenWebUI for enhanced AI interactions
- n8n Workflow Support: Ready for automation workflows with n8n
Prerequisites
- Python 3.10+
- Wealthfolio API access
- OpenWebUI (for UI integration)
- n8n (optional, for workflow automation)
Installation
Option 1: Local Development
-
Clone the repository:
git clone https://github.com/toomy1992/Wealthfolio-MCP.git cd Wealthfolio-MCP -
Install dependencies:
pip install -r requirements.txt -
Configure environment:
cp .env.example .env # Edit .env with your Wealthfolio API key -
Update your API key in
.env:API_KEY=your_wealthfolio_api_key_here API_BASE_URL=https://wealthfolio.labruntipi.io/api/v1
Option 2: Docker (Recommended)
-
Clone the repository:
git clone https://github.com/toomy1992/Wealthfolio-MCP.git cd Wealthfolio-MCP -
Configure environment:
cp .env.example .env # Edit .env with your Wealthfolio API key -
Run with Docker Compose:
docker-compose up -d -
Or build and run manually:
docker build -t wealthfolio-mcp . docker run -p 8000:8000 --env-file .env wealthfolio-mcp
Option 3: Pre-built Docker Image
Pull the latest release from GitHub Container Registry:
docker pull ghcr.io/toomy1992/wealthfolio-mcp:latest
docker run -p 8000:8000 --env-file .env ghcr.io/toomy1992/wealthfolio-mcp:latest
Usage
Starting the Server
uvicorn src.mcp_server:app --reload
The server will start on http://127.0.0.1:8000
API Endpoints
GET /portfolio- Get comprehensive portfolio data including accounts, valuations, assets, and historical performancePOST /sync- Trigger portfolio synchronization (placeholder for future implementation)
Testing the API
Visit http://127.0.0.1:8000/docs for interactive API documentation.
Or test with curl:
curl -X GET "http://127.0.0.1:8000/portfolio" -H "accept: application/json"
OpenWebUI Integration
- Install the MCP plugin in OpenWebUI
- Configure the MCP server URL:
http://127.0.0.1:8000 - Add tools for portfolio queries:
- Portfolio summary
- Account valuations
- Asset performance
- Historical charts
Example OpenWebUI Queries
- "What's my current portfolio value?"
- "Show me my account performance over the last month"
- "Which assets have the highest gains?"
- "Display my portfolio allocation by asset type"
n8n Integration
Create automated workflows in n8n:
- HTTP Request Node: Connect to
http://127.0.0.1:8000/portfolio - Schedule Trigger: Set up daily/weekly portfolio reports
- Data Processing: Transform portfolio data for notifications
- Email/Discord Integration: Send automated portfolio updates
Sample n8n Workflow
Schedule Trigger → HTTP Request (Portfolio) → Data Transform → Email Notification
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
API_KEY |
Your Wealthfolio API key | Required |
API_BASE_URL |
Wealthfolio API base URL | https://wealthfolio.labruntipi.io/api/v1 |
asset_filters |
Asset types to filter | ["stocks", "crypto"] |
API Endpoints Used
The server integrates with these Wealthfolio API endpoints:
/api/v1/accounts- Account information/api/v1/valuations/latest- Current portfolio valuations/api/v1/assets- Asset profiles and data/api/v1/valuations/history- Historical performance data/api/v1/holdings/item- Individual holding details
CI/CD and Releases
This project uses GitHub Actions for automated building, testing, and releasing.
Automated Versioning
- Versions start from
0.1.0 - Patch versions are automatically incremented on each push to
main - Releases are created automatically with Docker images
GitHub Actions Workflow
The CI/CD pipeline includes:
- Testing: Runs pytest and linting on all pushes
- Docker Build: Builds and pushes Docker images to GitHub Container Registry
- Automated Releases: Creates GitHub releases with version tags
Docker Images
Pre-built images are available at:
ghcr.io/toomy1992/wealthfolio-mcp:latest
Development
Project Structure
wealthfolio-mcp/
├── src/
│ ├── mcp_server.py # FastAPI MCP server
│ └── api_client.py # Wealthfolio API client
├── config/
│ └── settings.py # Configuration management
├── tests/ # Unit and integration tests
├── .github/
│ └── workflows/ # GitHub Actions
├── Dockerfile # Docker build configuration
├── docker-compose.yml # Local development setup
├── requirements.txt # Python dependencies
├── .env.example # Environment template
└── README.md # This file
Running Tests
# Run all tests
pytest tests/
# Or use the Makefile
make test
Development Commands
Use the provided Makefile for common development tasks:
make install # Install dependencies
make dev # Run development server
make test # Run tests
make lint # Run linting
make format # Format code
make docker-build # Build Docker image
make docker-run # Run Docker container
Docker Development
# Build locally
docker build -t wealthfolio-mcp .
# Run with hot reload for development
docker run -p 8000:8000 -v $(pwd):/app --env-file .env wealthfolio-mcp
Adding New Features
- Extend the
WealthfolioClientclass inapi_client.py - Add new endpoints in
mcp_server.py - Update the README with new functionality
- Add tests for new features
- Update the Dockerfile if new dependencies are added
Troubleshooting
Common Issues
- API Key Invalid: Verify your API key in
.env - Connection Errors: Check internet connectivity and API URL
- Empty Responses: Ensure your Wealthfolio instance has data
- CORS Issues: Configure OpenWebUI CORS settings for the MCP server
Debug Mode
Run with debug logging:
uvicorn src.mcp_server:app --reload --log-level debug
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wealthfolio Community: Discord
Releases and Versioning
This project uses automated semantic versioning starting from 0.1.0. Each push to the main branch automatically:
- Increments the patch version (e.g.,
0.1.0→0.1.1) - Creates a new GitHub release
- Builds and pushes Docker images to GitHub Container Registry
Latest Release
Changelog
v0.1.0
- Initial release
- Wealthfolio API integration with real endpoints
- FastAPI MCP server implementation
- Docker containerization
- OpenWebUI compatibility
- n8n workflow support
- Automated CI/CD with GitHub Actions
- Comprehensive test suite
Build with Grok
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.