
crypto-portfolio-mcp
An MCP server for tracking and managing cryptocurrency portfolio allocations.
1
Github Watches
2
Github Forks
3
Github Stars
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.
相关推荐
Vibe coding should have human in the loop! interactive-mcp: Local, cross-platform MCP server for interact with your AI Agent
MCP server that gives Claude ability to use OpenAI's GPTs assistants
Interact seamlessly with GitLab repositories to manage merge requests and issues. Fetch details, add comments, and streamline your code review process with ease.
Simple solution to give Claude ability to check current time via MCP
A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.
🚀 All-in-one MCP server with AI search, RAG, and multi-service integrations (GitLab/Jira/Confluence/YouTube) for AI-enhanced development workflows