该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将 Dhan 交易平台的 API 功能暴露给支持 MCP 的 LLM 客户端(如 Claude Desktop)。

项目简介

该服务器作为 LLM 客户端与您的 Dhan 交易账户之间的桥梁。它将 Dhan API 提供的功能(如查询余额、持仓、获取行情)和操作(如下单、管理订单)转换为 LLM 可以理解和调用的“资源”和“工具”。

主要功能点

  • 账户查询: 允许 LLM 查询您的 Dhan 账户余额、持仓和头寸。
  • 市场数据: 获取股票和指数的实时行情价格。
  • 订单管理: 支持通过 LLM 下达多种类型的交易订单(市价、限价、止损、盘后订单 AMO),并可设置止损和止盈。
  • 股票识别: 辅助 LLM 识别用户提及的股票。
  • 交易策略: 部分代码包含自动化交易策略逻辑(例如,根据盘中高低点或缺口进行交易),但这部分并非 MCP 服务器核心功能,而是可以由 MCP 服务器执行的工具。

安装步骤

  1. 前提条件:
    • 安装 Python 3.8 或更高版本。
    • 安装支持 MCP 协议的 LLM 客户端应用程序(例如 Claude Desktop)。
    • 拥有一个 Dhan 交易账户并获取 API 凭据 (Client ID 和 Access Token)。
  2. 安装依赖:
    • 打开终端或命令提示符。
    • 运行以下命令安装 MCP CLI 工具和 Dhan 交易库:
      pip install "mcp[cli]" Dhan-Tradehull requests pandas pytz
  3. 克隆仓库:
    • 找到您想要下载此项目的目录。
    • 运行以下命令克隆项目仓库(假设您使用 SSH,如果使用 HTTPS 请调整):
      git clone [email protected]:mayankthole/Dhan-MCP-Trades.git
      cd Dhan-MCP-Trades

服务器配置 (为您的 MCP 客户端配置)

MCP 服务器由 LLM 客户端负责启动。您需要在 LLM 客户端的配置中指定如何启动该服务器。对于 Claude Desktop,这意味着编辑位于您用户主目录下的 '.claude-desktop.json' 文件。

请在 'mcpServers' 部分添加一个配置条目,例如:

  • 'server name': 给您的服务器起一个独一无二的名字,比如 'dhan-trading'。
  • 'command': 指定 Python 解释器的完整路径。例如,如果您使用的是 'venv',可能是 '/path/to/your/venv/bin/python';如果您直接安装在系统,可能是 '/usr/bin/python3' 或 'C:\Python\Python3x\python.exe'。
  • 'args': 指定要运行的 MCP 服务器 Python 脚本的完整路径。根据您希望使用的功能,可以选择仓库中的一个文件,例如 '/path/to/cloned/repo/Dhan-MCP-Trades/v3-place-more-amo-order.py' 或 '/path/to/cloned/repo/Dhan-MCP-Trades/simple_dhan_mcp.py'。
  • 'env': 包含您的 Dhan API 凭据的环境变量。将 'your_client_code' 和 'your_token_id' 替换为您实际的 Dhan Client ID 和 Access Token。

示例 '.claude-desktop.json' 配置片段:

{
    "mcpServers": {
        "your-server-name": {
            "command": "/path/to/your/python",
            "args": [
                "/path/to/your/dhan_mcp_script.py"
            ],
            "env": {
                "DHAN_CLIENT_CODE": "your_client_code",
                "DHAN_TOKEN_ID": "your_token_id"
            }
        }
        // ... 其他 MCP 服务器配置
    }
}

请确保替换上面的 'your-server-name', '/path/to/your/python', '/path/to/your/dhan_mcp_script.py', 'your_client_code', 'your_token_id' 为您实际的值。

基本使用方法

  1. 确保您已完成上述安装和客户端配置步骤。
  2. 启动您的 MCP 客户端应用程序(例如 Claude Desktop)。客户端会自动根据 '.claude-desktop.json' 启动配置的 MCP 服务器。
  3. 在 LLM 客户端中,直接向其提问或发出指令,LLM 将通过 MCP 协议与您的 Dhan 交易 MCP 服务器通信以获取信息或执行操作。例如:
    • "Check my account balance." (查询账户余额)
    • "Show me my holdings." (显示我的持仓)
    • "What is the current price of Reliance Industries?" (请问 Reliance Industries 的当前价格是多少?)
    • "Buy 1 share of TCS at market price." (以市价买入 1 股 TCS。)
    • "Place a limit order to sell 10 shares of Infosys at 1500." (为 Infosys 下一个限价卖出单,10 股,价格 1500。)

信息

分类

商业系统