Crypto Portfolio MCP
An MCP server for tracking and managing cryptocurrency portfolio allocations, enabling AI agents to query and optimize portfolio strategies in real time.
Features
- Portfolio Management: Add and track cryptocurrency holdings with real-time Binance prices.
- Price Retrieval: Fetch current prices for any Binance trading pair (e.g., BTC/USDT).
- Value History: Generate visual charts of portfolio value over time.
- Analysis Prompt: Pre-built prompt for portfolio analysis with diversification and risk suggestions.
- SQLite Storage: Persistent storage of holdings in a local database.
Installation
Prerequisites
- Python 3.10+
- Git (optional, for cloning the repo)
- A compatible MCP client (e.g., Claude Desktop)
Setup
-
Clone the Repository:
git clone https://github.com/kukapay/crypto-portfolio-mcp.git cd crypto-portfolio-mcp
-
Install requirements:
pip install mcp[cli] ccxt matplotlib
-
Install for Claude Desktop:
mcp install main.py --name "CryptoPortfolioMCP"
Or update the configuration file manually:
{ "mcpServers": { "crypto-portfolio-mcp": { "command": "python", "args": [ "path/to/crypto-portfolio-mcp/main.py" ] } } }
Usage
Once installed, interact with the server through an MCP client like Claude Desktop. Below are example commands:
Add a Holding
- Prompt: "Add 0.1 BTC to my portfolio"
- Result: Adds 0.1 BTC/USDT to your portfolio and confirms with "Added 0.1 BTC/USDT to portfolio".
Get Current Price
- Prompt: "What's the current price of ETH on Binance?"
- Result: Returns "Current price of ETH/USDT on Binance: $2000.50" (example price).
Portfolio Summary
- Prompt: "What's my current portfolio summary?"
- Result: Displays a formatted summary, e.g.:
Portfolio Summary: BTC/USDT: 0.1 @ $60000.00 = $6000.00 ETH/USDT: 2.0 @ $2000.00 = $4000.00 Total Value: $10000.00
Portfolio Value History
- Prompt: "Show me my portfolio value history"
- Result: Generates and displays a PNG chart of your portfolio value over time.
Analyze Portfolio
- Prompt: "Analyze my crypto portfolio"
- Result: Provides an analysis with suggestions based on current holdings and Binance market trends.
Tools
The server exposes the following tools:
get_portfolio_summary: Retrieves a text summary of your current portfolio.add_holding(coin_symbol: str, amount: float): Adds a cryptocurrency holding (e.g., "BTC", 0.1).get_price(coin_symbol: str): Fetches the current price of a trading pair from Binance.portfolio_value_history(): Generates a PNG chart of portfolio value history.
See the source code docstrings for detailed parameter descriptions.
Database
Holdings are stored in a SQLite database (portfolio.db) with the following schema:
CREATE TABLE holdings (
id INTEGER PRIMARY KEY,
coin_symbol TEXT, -- e.g., "BTC/USDT"
amount REAL, -- Quantity of the asset
purchase_date TEXT -- ISO format timestamp
)
License
This project is licensed under the MIT License. See LICENSE for details.
Metadata
Release files for iflow-mcp_crypto-portfolio-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_crypto_portfolio_mcp-0.1.0.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_crypto_portfolio_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.8 kB
Release files / iflow_mcp_crypto_portfolio_mcp-0.1.0.tar.gz
| Download URL | iflow_mcp_crypto_portfolio_mcp-0.1.0.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
77ce4de51e833471fbde618f435cf4f8af14faee7b9956b6f27f49c55591846e
|
|
BLAKE2b-256 checksum How to use checksums |
5e3b6df588d5ff6cec5d7d83ef9305006a13403cf639b8aa1e1d7647b8ce95e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_crypto_portfolio_mcp-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_crypto_portfolio_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c58c685146aec6f760a3b301e065638f51072431b62d70ef5ea3efc1ced5e821
|
|
BLAKE2b-256 checksum How to use checksums |
1189de5234ceaf5cd74a0a879dacf7a1305d7381e51caa077e67ff81668331c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|