Crypto Portfolio MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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
1. **Clone the Repository**:
2. **Install requirements**:
3. **Install for Claude Desktop**:
Or update the configuration file manually:
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 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.