README
🚀 加密货币投资组合 MCP 服务器
加密货币投资组合 MCP 服务器可用于跟踪和管理加密货币投资组合分配,支持 AI 代理实时查询并优化投资组合策略。
🚀 快速开始
加密货币投资组合 MCP 服务器能助力你高效管理加密货币投资组合。你可按以下步骤进行安装和使用。
✨ 主要特性
- 投资组合管理:添加并跟踪加密货币持仓,结合Binance的实时价格。
- 价格获取:抓取任何Binance交易对(例如BTC/USDT)的当前价格。
- 价值历史:生成投资组合价值随时间变化的可视化图表。
- 分析提示:预设提示用于投资组合分析,提供多样化和风险管理建议。
- SQLite存储:将持仓信息持久化存储到本地数据库。
📦 安装指南
依赖项
- Python 3.10+
- Git(可选,用于克隆仓库)
- 兼容的MCP客户端(例如:Claude Desktop)
设置
-
克隆仓库:
git clone https://github.com/kukapay/crypto-portfolio-mcp.git cd crypto-portfolio-mcp -
安装依赖项:
pip install mcp[cli] ccxt matplotlib -
为Claude Desktop安装配置:
mcp install main.py --name "CryptoPortfolioMCP"或手动更新配置文件:
{ "mcpServers": { "crypto-portfolio-mcp": { "command": "python", "args": [ "path/to/crypto-portfolio-mcp/main.py" ] } } }
💻 使用示例
安装完成后,通过MCP客户端(如Claude Desktop)与服务器交互。以下是示例命令:
基础用法
添加持仓
- 提示: "将0.1 BTC添加到我的投资组合中"
- 结果:添加0.1 BTC/USDT到你的投资组合,并确认“已添加0.1 BTC/USDT”。
获取当前价格
- 提示: "Binance上ETH的当前价格是多少?"
- 结果:返回"BTC/USDT在Binance上的当前价格为$60000.00(示例价格)"。
投资组合摘要
- 提示: "我的当前投资组合摘要是什么?"
- 结果:显示格式化的摘要,例如:
投资组合摘要: BTC/USDT: 0.1 @ $60000.00 = $6000.00 ETH/USDT: 2.0 @ $2000.00 = $4000.00 总价值:$10000.00
投资组合价值历史
- 提示: "显示我的投资组合价值历史"
- 结果:生成并显示一个PNG图表,展示投资组合价值随时间的变化。
分析投资组合
- 提示: "分析我的加密货币投资组合"
- 结果:提供基于当前持仓和Binance市场趋势的分析及建议。
高级用法
服务器公开了以下工具:
get_portfolio_summary:获取当前投资组合的文本摘要。add_holding(coin_symbol: str, amount: float):添加加密货币持仓(例如,“BTC”,0.1)。get_price(coin_symbol: str):从Binance获取某个交易对的当前价格。portfolio_value_history():生成投资组合价值随时间变化的图表。
📚 详细文档
数据库
持仓信息将存储在以下路径:
/path/to/your/project/crypfolio.db
术语表
| 属性 | 详情 | |------|------| | 英文术语 | 中文翻译 | | Crypto Portfolio | 加密货币投资组合 | | MCP Server | MCP服务器 | | Real-time Price | 实时价格 | | Investment Strategy | 投资策略 |
示例代码
添加持仓
# 初始化数据库连接
conn = sqlite3.connect('crypfolio.db')
cursor = conn.cursor()
# 创建持仓表
cursor.execute('''
CREATE TABLE IF NOT EXISTS holdings
(id INTEGER PRIMARY KEY AUTOINCREMENT,
coin TEXT,
amount REAL)
''')
# 插入数据
coin = "BTC"
amount = 0.1
cursor.execute('INSERT INTO holdings (coin, amount) VALUES (?, ?)', (coin, amount))
conn.commit()
conn.close()
获取当前价格
import ccxt
# 初始化Binance接口
binance = ccxt.binance()
# 获取BTC/USDT的当前价格
symbol = "BTC/USDT"
ticker = binance.fetch_ticker(symbol)
current_price = ticker['last']
print(f"{symbol} 当前价格为:{current_price}")
项目结构
crypto-portfolio-mcp/
├── main.py # 主程序入口
├── config.py # 配置文件
├── holdings.db # 数据库文件
└── README.md # 项目文档
贡献指南
欢迎贡献!请参考CONTRIBUTING.md了解如何参与。
📄 许可证
本项目采用MIT License。
Scan to join WeChat group