交易代理服务器

Moomoo API MCP服务器是一个为Moomoo交易平台提供模型上下文协议的服务器,允许AI代理访问市场数据、账户信息并通过Python SDK执行交易。

  • by Litash
  • Python
  • 本地部署
  • 39 星标
  • 更新于
在 GitHub 查看 Litash/moomoo-api-mcp

使用说明

Moomoo API MCP服务器

用于Moomoo交易平台的MCP(模型上下文协议)服务器。该服务器允许AI代理(如Claude Desktop或Gemini)通过moomoo-api Python SDK访问市场数据、账户信息并执行交易。

🚀 建立自己的交易代理

使用AI将您的交易提升到一个新的水平!

此MCP服务器使开发人员能够构建自定义交易技能和策略。通过集成此工具,您可以使任何兼容的AI代理代表您直接与Moomoo平台交互。无论您是想要一个监控市场、分析投资组合或自动执行复杂交易策略的AI助手,该服务器都能在您的自定义AI逻辑和Moomoo强大的交易基础设施之间提供无缝桥梁。

特性

  • 市场数据:实时报价、历史K线、市场快照和订单簿。
  • 账户管理:全面的账户摘要、资产、头寸和现金流分析。
  • 交易:完整的订单管理,包括下单、修改和取消订单。
  • 系统健康:内置健康检查和连接验证。
  • 可扩展架构:基于FastMCP构建,可轻松扩展交易功能。

工具

系统

  • check_health:检查与Moomoo OpenD网关的连接和服务器运行状况。

账户

  • get_accounts:列出所有交易账户(真实和模拟)。
  • get_account_summary:获取账户资产和头寸的完整摘要。
  • get_assets:检索账户资产(现金、市值、购买力)。
  • get_positions:使用损益数据获取当前库存头寸。
  • get_max_tradable:计算特定股票的最大交易量。
  • get_margin_ratio:检查特定股票的保证金比率。
  • get_cash_flow:检索历史现金流记录。
  • unlock_trade:解锁真实账户的交易权限。

市场数据

  • get_stock_quote:获取实时股票报价。
  • get_historical_klines:检索历史烛台数据(日、周、分钟等)。
  • get_market_snapshot:获取多只股票的有效市场快照。
  • get_order_book:查看实时买卖订单簿深度。

交易

  • place_order:下新订单(市价、限价、止损等)。
  • modify_order:修改未结订单的价格或数量。
  • cancel_order:取消未结订单。
  • get_orders:获取当天的订单列表。
  • get_deals:获取当天已执行交易(交易)的列表。
  • get_history_orders:搜索历史订单。
  • get_history_deals:搜索历史交易。

安装

快速入门(推荐)

您可以直接使用以下命令运行服务器 uvx (部分 紫外线 工具包)。 使用 --refresh 确保您始终运行最新版本:

# Optional: Set these environment variables for REAL trading access.
# If omitted, the server will safely run in SIMULATE-only (paper trading) mode.
export MOOMOO_TRADE_PASSWORD="your_trading_password"
export MOOMOO_SECURITY_FIRM="FUTUSG" # e.g. FUTUSG, FUTUINC, etc.

uvx --refresh moomoo-api-mcp

永久性安装

要将其安装为shell中可用的持久工具,请执行以下操作:

uv tool install moomoo-api-mcp

# Optional: Set these environment variables for REAL trading access.
# If omitted, the server will safely run in SIMULATE-only (paper trading) mode.
export MOOMOO_TRADE_PASSWORD="your_trading_password"
export MOOMOO_SECURITY_FIRM="FUTUSG" # e.g. FUTUSG, FUTUINC, etc.

# Then run:
moomoo-api-mcp

备注:The moomoo-api Python SDK和其他依赖项将自动安装。

开发设置

  1. 克隆存储库:

    git clone https://github.com/Litash/moomoo-api-mcp.git
    cd moomoo-api-mcp
    
  2. 安装依赖项:

    uv sync
    
  3. 在本地运行:

    uv run moomoo-api-mcp
    

配置

1.先决条件

Moomoo已打开(必填)

MCP服务器通过 Moomoo已打开,本地网关应用程序。你 必须 请先安装并运行此程序。

  1. 下载OpenD:

  2. 安装并运行:

    • 安装应用程序。
    • 发射 Moomoo已打开.
    • 使用您的Moomoo帐户凭据登录。
  3. 配置:

    • 确保侦听端口设置为 11111 (这是默认设置)。
    • 备注:MCP服务器连接到 127.0.0.1:11111 默认情况下。

2.环境变量

启用 实账 访问时,您必须安全地提供凭据。

变量 描述 示例
MOOMOO_TRADE_PASSWORD 您的交易密码(纯文本) 123456
MOOMOO_SECURITY_FIRM 您的经纪地区(例如,FUTUSG、FUTUINC) FUTUSG

备注:如果没有这些,服务器将运行 仅模拟模式 (纸上交易)。

3.配置克劳德桌面

将服务器添加到您的 claude_desktop_config.json:

选项A:使用PyPI包(推荐)

{
  "mcpServers": {
    "moomoo": {
      "command": "uvx",
      "args": ["--refresh", "moomoo-api-mcp"],
      "env": {
        "MOOMOO_TRADE_PASSWORD": "your_trading_password",
        "MOOMOO_SECURITY_FIRM": "FUTUSG"
      }
    }
  }
}

备注:The --refresh 标志确保您始终拥有最新版本,但由于版本检查,可能会增加启动时间。安装正确版本后,您可以将其删除。

方案B:地方发展

{
  "mcpServers": {
    "moomoo": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\moomoo-api-mcp",
        "run",
        "moomoo-api-mcp"
      ],
      "env": {
        "MOOMOO_TRADE_PASSWORD": "your_trading_password",
        "MOOMOO_SECURITY_FIRM": "FUTUSG"
      }
    }
  }
}

安全:切勿将密码提交给版本控制。这 env 配置文件中的块仍然是本地的。

AI代理指南

重要:所有帐户工具默认为 真实 交易账户。

使用此MCP服务器时,AI代理 必须:

  1. 明确通知用户 在访问真实账户数据之前。例子:

    “我即将访问您的 真实交易账户。这将显示您的实际投资组合和余额。"

  2. 遵循解锁工作流程 对于真实账户:

    • 第一个电话 unlock_trade (它会自动处理env变量,或者在需要时传递密码)。
    • 然后调用账户/交易工具(默认为 trd_env='REAL').
  3. 仅在明确请求时使用SIMULATE帐户 由用户。要使用模拟,请执行以下操作:

    • 通过 trd_env='SIMULATE' 参数显式。
    • 模拟帐户不需要解锁。

工作流示例

User: "Show me my portfolio"

Agent Response:
"I'm accessing your REAL trading account to show your portfolio.
If you prefer to use a simulation account instead, please let me know."

[Proceeds to unlock_trade → get_account_summary]

订单状态筛选器使用情况

使用时 get_orders 或 get_history_orders,the status_filter_list 参数接受以下数组 字符串值:

["SUBMITTED", "FILLED_ALL", "CANCELLED_ALL"]

有效状态字符串:

  • UNSUBMITTED, WAITING_SUBMIT, SUBMITTING, SUBMIT_FAILED
  • SUBMITTED, FILLED_PART, FILLED_ALL
  • CANCELLING_PART, CANCELLING_ALL, CANCELLED_PART, CANCELLED_ALL
  • REJECTED, DISABLED, DELETED, FAILED, NONE

备注:服务器会自动将这些字符串转换为所需的SDK枚举格式。如果没有符合筛选条件的订单,则返回一个空列表。

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。

免责声明

非官方项目:该软件是一个独立的开源项目 不 隶属于Moomoo股份有限公司、富途控股有限公司或其附属公司、由其背书或由其赞助。

  • 风险自负:交易涉及财务风险。作者“按原样”提供此软件,不提供任何形式的保证。
  • 测试优先:始终在测试您的代理和工具 模拟(纸品交易) 使用真实资金之前的环境。