投资组合管理服务器

一个提供投资组合管理和分析工具的MCP服务器,适用于个人投资者和金融分析师。

  • by ikhyunAn
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 ikhyunAn/MCP_InvestmentPortfolio

使用说明

投资组合经理 MCP 服务器

一个模型上下文协议(MCP)服务器,提供用于管理和分析投资组合的工具和资源。

特点/特性

  • 投资组合管理创建并更新包含股票和债券的投资组合
  • 市场数据获取实时股票价格信息及相关新闻
  • 分析生成全面的投资组合报告和绩效分析
  • 建议根据投资组合构成获取个性化投资建议
  • 可视化创建投资组合分配的可视化表示

安装

  1. 克隆此仓库:

    git clone https://github.com/ikhyunAn/portfolio-manager-mcp.git
    cd portfolio-manager-mcp
    
  2. 安装所需的依赖项:

    pip install -r requirements.txt
    
  3. 设置API密钥(可选):

    export ALPHA_VANTAGE_API_KEY="your_key_here"
    export NEWS_API_KEY="your_key_here"
    

    或者,创建一个 .env 在目录根目录下创建文件并存储API密钥

使用方法/用途

运行服务器

你可以以两种不同的模式运行服务器:

  1. Stdio 传输 (默认设置,用于与Claude桌面版集成):

    python main.py   # alternate commands: i.e.) python3, python3.11
    
  2. SSE 交通(或 SSE 运输) (针对基于HTTP的客户端):

    python main.py --sse
    

与Claude桌面版的集成

将服务器添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "portfolio-manager": {
      "command": "python",      // may use different command
      "args": ["/path/to/portfolio-manager-mcp/main.py"],
      "env": {
        "ALPHA_VANTAGE_API_KEY": "your_key_here",
        "NEWS_API_KEY": "your_key_here"
      }
    }
  }
}

如果你选择在虚拟环境中运行你的服务器,那么你的配置文件将如下所示:

{
  "mcpServers": {
    "portfolio-manager": {
      "command": "/path/to/portfolio-manager-mcp/venv/bin/python",
      "args": ["/path/to/portfolio-manager-mcp/main.py"],
      "env": {
        "PYTHONPATH": "/path/to/portfolio-manager-mcp",
        "ALPHA_VANTAGE_API_KEY": "your_key_here",
        "NEWS_API_KEY": "your_key_here"
      }
    }
  }
}

在虚拟环境中运行它:

# Create a virtual environment
python3 -m venv venv

# Activate the virtual environment
source venv/bin/activate  # On macOS/Linux
# or
# venv\Scripts\activate   # On Windows

# Install dependencies
pip install -r requirements.txt

# Run the server
python3 main.py

或者使用MCP CLI进行更便捷的安装:

mcp install main.py

示例查询

一旦服务器启动并连接到Claude,您就可以使用自然语言与它进行交互:

  • “为用户ID <User_ID> 创建一个投资组合,其中30%投资于AAPL(苹果公司股票),20%投资于MSFT(微软公司股票),15%投资于AMZN(亚马逊公司股票),剩余35%投资于美国国债。”
  • “我投资组合的近期表现如何?”
  • “给我展示一下我投资组合中股票的新闻”
  • “为我的当前投资组合生成投资建议”
  • “可视化我的当前资产配置”

项目结构

portfolio-manager/
├── main.py                      # Entry point
├── portfolio_server/            # Main package
│   ├── api/                     # External API clients
│   │   ├── alpha_vantage.py     # Stock market data API
│   │   └── news_api.py          # News API
│   ├── data/                    # Data management
│   │   ├── portfolio.py         # Portfolio models
│   │   └── storage.py           # Data persistence
│   ├── resources/               # MCP resources
│   │   └── portfolio_resources.py # Portfolio resource definitions
│   ├── tools/                   # MCP tools
│   │   ├── analysis_tools.py    # Portfolio analysis
│   │   ├── portfolio_tools.py   # Portfolio management
│   │   ├── stock_tools.py       # Stock data and news
│   │   └── visualization_tools.py # Visualization tools
│   └── server.py                # MCP server setup
└── requirements.txt             # Dependencies

未来工作

截至目前,MCP程序使用手动创建的JSON文件来记录每位用户的投资组合。

这应该得到修正,以便它能够从实际的银行应用中读取投资组合数据。

任务

  • [ ] 从用户使用的金融或银行应用程序中提取JSON数据
  • [ ] 允许客户修改投资组合
  • [ ] 实施投资组合自动化再平衡
  • [ ] 添加对加密货币资产的支持
  • [ ] 开发移动应用集成

许可证

麻省理工学院(MIT)