股票交易服务器

Angel One MCP Server 是一个强大的集成工具,允许在VS Code中使用AI助手通过自然语言执行Angel One交易平台上的股票买卖操作。

  • by Hardik74658
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 hardik74658/angel-one-mcp-server

使用说明

Angel One交易MCP服务器

使用VS Code和Claude等人工智能助理进行自动股票交易

📖 概述

Angel One MCP Server是一个强大的集成,允许VS Code中的AI助手(使用模型上下文协议)直接在Angel One交易平台上执行股票交易。使用自然语言下达买卖订单,由您的AI助手处理技术细节。

🚀 特性

  • 人工智能驱动的交易:只需询问您的AI助手即可执行股票交易
  • 无缝集成:可与任何兼容MCP的助手(如GitHub Copilot)配合使用
  • 实时订单执行:立即在Angel One上下单
  • 安全认证:使用基于TOTP的安全身份验证
  • 现代Python环境:支持UV包管理器,以实现更快、更可靠的依赖关系管理

🔧 设置和安装

先决条件

  • Angel One交易账户
  • Python 3.10+
  • VS Code与MCP兼容的AI助手

安装

  1. 克隆此存储库:

    git clone https://github.com/yourusername/angel-one-mcp.git
    cd angel-one-mcp
    
  2. 使用UV安装依赖项(推荐):

    # Install UV if you don't have it yet
    pip install uv
    
    # Create and activate a virtual environment with UV
    uv venv
    
    # On Windows
    .\.venv\Scripts\activate
    # On macOS/Linux
    # source .venv/bin/activate
    
    # Install dependencies with UV
    uv pip install -r requirements.txt
    

    或者,使用传统的pip:

    pip install -r requirements.txt
    
  3. 在中更新您的API凭据 .env 文件:

    ANGEL_ONE_API_KEY=YOUR_API_KEY
    ANGEL_ONE_API_SECRET=YOUR_API_SECRET
    ANGEL_ONE_USERNAME=YOUR_USERNAME
    ANGEL_ONE_PASSWORD=YOUR_PASSWORD
    ANGEL_ONE_TOTP_TOKEN=YOUR_TOTP_SECRET
    
  4. 配置MCP.json文件设置:

    "mcp": {
        "servers": {
            "AngelOneTradeServer": {
                "type": "stdio",
                "command": "uv",
                "args": [
                    "--directory",
                    "C:\\path\\to\\angel-one-mcp",
                    "run",
                    "server.py"
                ]
            }
        }
    }
    

    或者,如果不使用紫外线:

    "mcp": {
        "servers": {
            "AngelOneTradeServer": {
                "type": "stdio",
                "command": "python",
                "args": [
                    "C:\\path\\to\\angel-one-mcp\\server.py"
                ]
            }
        }
    }
    

💼 用法

配置后,您可以使用自然语言通过AI助手进行交易:

  • 买入股票:“购买10股RELIANCE-EQ”
  • 出售股票:“出售5股TCS-EQ”

备注:下单时,始终在股票代码后附加“-EQ”(例如“RELIANCE-EQ”、“TCS-EQ”)。

🛠️ 运作原理

建筑

该系统由三个主要部分组成:

  1. MCP服务器(server.py):处理VS Code与交易功能之间的通信
  2. 交易逻辑(trade_on_angel_one.py):实现Angel One API集成
  3. 主数据:交易所的股票代码和代币映射

贸易流

  1. 用户向AI助手发出自然语言命令
  2. 助理调用相应的MCP功能(buyStockFromAngelOne 或 sellStockFromAngelOne)
  3. 该函数调用Angel One API来下订单
  4. 订单确认返回给助手并显示给用户

📋 可用功能

购买股票

buyStockFromAngelOne(stock_symbol: str, quantity: int) -> str

为指定的库存和数量下采购订单。

出售股票

sellStockFromAngelOne(stock_symbol: str, quantity: int) -> str

为指定的库存和数量下销售订单。

🔄 主数据管理

该系统使用预加载的主数据将股票代码映射到其交易所代币:

  • master_data.pkl:包含股票符号与其代币之间的映射
  • load_master_data():从磁盘加载映射
  • find_symbol_token():查找给定股票代码的适当令牌

⚠️ 安全和交易注意事项

  • API凭据应存储在 .env 从版本控制中排除的文件
  • TOTP身份验证提供了额外的安全层
  • 永远不要分享您的API证书或TOTP机密
  • 重要提示:由于交易所限制,API天使一号对购买某些股票有限制。尽管使用了带有“-EQ”后缀的正确交易品种格式,但一些股票订单可能会被拒绝。这是Angel One API的限制,而不是此集成的限制

🐞 故障排除

常见问题

  1. 未找到符号错误:

    • 确保你为股票附加了“-EQ”
    • 通过检查主数据中是否有库存 master_data.json 或 master_data.pkl
  2. 订单被交易所拒绝:

    • 某些股票可能受到Angel One/交易所规定的限制
    • 尝试不同的股票或查阅Angel One文档以了解具体的股票限制
  3. 认证失败:

    • 确保您的TOTP令牌是最新的并且配置正确
    • 检查您的Angel One凭据是否有效,帐户是否处于活动状态

处理环境问题

如果您遇到UV或Python环境问题:

# Clean up and recreate the environment
rm -rf .venv
uv venv
uv pip install -r requirements.txt

📝 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🤝 贡献

欢迎投稿、问题和功能请求!请随时查看问题页面。

🙏 致谢