返回 MCP 目录
public公开dns本地运行

crypto-portfolio-mcp

一个用于跟踪和管理加密货币投资组合的MCP服务器,支持实时查询价格、分析投资组合并提供优化建议。

article

README

🚀 加密货币投资组合 MCP 服务器

加密货币投资组合 MCP 服务器可用于跟踪和管理加密货币投资组合分配,支持 AI 代理实时查询并优化投资组合策略。

GitHub License Python Version Status

🚀 快速开始

加密货币投资组合 MCP 服务器能助力你高效管理加密货币投资组合。你可按以下步骤进行安装和使用。

✨ 主要特性

  • 投资组合管理:添加并跟踪加密货币持仓,结合Binance的实时价格。
  • 价格获取:抓取任何Binance交易对(例如BTC/USDT)的当前价格。
  • 价值历史:生成投资组合价值随时间变化的可视化图表。
  • 分析提示:预设提示用于投资组合分析,提供多样化和风险管理建议。
  • SQLite存储:将持仓信息持久化存储到本地数据库。

📦 安装指南

依赖项

  • Python 3.10+
  • Git(可选,用于克隆仓库)
  • 兼容的MCP客户端(例如:Claude Desktop

设置

  1. 克隆仓库

    git clone https://github.com/kukapay/crypto-portfolio-mcp.git
    cd crypto-portfolio-mcp
    
  2. 安装依赖项

    pip install mcp[cli] ccxt matplotlib
    
  3. 为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

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端