返回市场
MCP服务器

MCP服务器

作者:QuantConnect52 星标更新:2025-11-21

项目介绍

【技术文档摘要】

<img width="1575" height="280" alt="github-header" src="https://gips2.baidu.com/it/u=2839381885,727688966&fm=3081&app=3081&f=PNG?w=1575&h=280" />

QuantConnect MCP Server

QuantConnect MCP Server 是一个桥梁,使AI(如Claude和OpenAI o3 Pro)能够与我们的云平台进行交互。当配备我们的MCP时,AI可以通过我们的API代表您执行任务,例如更新项目、编写策略、回测以及将策略部署到实时交易中。

这是QuantConnect官方实现的MCP,由QuantConnect团队维护。我们建议使用官方版本以确保您的代码和API令牌的安全性。我们的实现经过测试并进行了容器化处理,便于跨平台部署。

开始使用

要将本地MCP客户端(如Claude Desktop)连接到QC MCP Server,请按照以下步骤操作:

  1. 安装并打开Docker Desktop
  2. 安装并打开Claude Desktop
  3. 在Claude Desktop中,点击文件 > 设置 > 开发者 > 编辑配置
  4. 编辑claude_desktop_config.json文件,添加以下quantconnect配置:
{
  "mcpServers": {
    "quantconnect": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "QUANTCONNECT_USER_ID",
        "-e", "QUANTCONNECT_API_TOKEN",
        "-e", "AGENT_NAME",
        "--platform", "<your_platform>",
        "quantconnect/mcp-server"
      ],
      "env": {
        "QUANTCONNECT_USER_ID": "<your_user_id>",
        "QUANTCONNECT_API_TOKEN": "<your_api_token>",
        "AGENT_NAME": "MCP Server"
      }
    }
  }
}

要获取您的用户ID和API令牌,请参阅请求API令牌

我们的MCP服务器支持多平台。选项包括linux/amd64用于Intel/AMD芯片和linux/arm64用于ARM芯片(例如Apple的M系列芯片)。

如果您同时运行多个代理,请为每个代理设置唯一的AGENT_NAME环境变量值,以便记录请求来源。

  1. 重启Claude Desktop。

Claude Desktop会自动从Docker Hub拉取我们的MCP服务器并连接到它。

要查看所有MCP客户端及其支持的功能,请参阅MCP文档中的功能支持矩阵

为了保持Docker镜像的最新状态,请在终端中从Docker Hub拉取最新的MCP服务器。

docker pull quantconnect/mcp-server

如果您有ARM芯片,请添加--platform linux/arm64选项。

可用工具(64)

本服务器提供的工具简短描述
read_account读取组织账户状态。
create_project在默认组织中创建新项目。
read_project列出项目的详细信息或一组最近项目的详细信息。
list_projects列出所有项目的详细信息。
update_project更新项目的名称或描述。
delete_project删除项目。
create_project_collaborator向项目添加协作者。
read_project_collaborators列出项目的所有协作者。
update_project_collaborator更新项目中协作者的信息。
delete_project_collaborator从项目中删除协作者。
lock_project_with_collaborators锁定项目以便您可以编辑它。
read_project_nodes读取项目的可用节点和选定节点。
update_project_nodes将给定节点的活动状态更新为true。
create_compile异步创建项目编译作业请求。
read_compile读取编译包作业结果。
create_file向给定项目添加文件。
read_file从项目中读取文件,或者如果没有提供文件名,则读取项目中的所有文件。
update_file_name更新文件的名称。
update_file_contents更新文件的内容。
patch_file将补丁(统一差异)应用于项目中的文件。
delete_file删除项目中的文件。
create_backtest创建新的回测请求并获取回测ID。
read_backtest读取回测的结果。
list_backtests列出项目的全部回测。
read_backtest_chart从回测中读取图表。
read_backtest_orders读取回测的订单。
read_backtest_insights读取回测的洞察。
update_backtest更新回测的名称或备注。
delete_backtest从项目中删除回测。
estimate_optimization_time预估具有指定参数的优化执行时间。
create_optimization使用指定参数创建优化。
read_optimization读取优化。
list_optimizations列出项目的全部优化。
update_optimization更新优化的名称。
abort_optimization中断优化。
delete_optimization删除优化。
authorize_connection授权与实时经纪商或数据提供商的外部连接。
create_live_algorithm创建实时算法。
read_live_algorithm读取实时算法的详细信息。
list_live_algorithms列出您过去和当前的所有实时交易部署。
read_live_chart从实时算法中读取图表。
read_live_logs获取实时算法的日志。
read_live_portfolio读取实时算法的投资组合状态。
read_live_orders读取实时算法的订单。
read_live_insights读取实时算法的洞察。
stop_live_algorithm停止实时算法。
liquidate_live_algorithm清算并停止实时算法。
create_live_command向实时交易算法发送命令。
broadcast_live_command广播实时命令到组织中的所有实时算法。
upload_object将文件上传到对象存储。
read_object_properties获取特定组织和键的对象存储属性。
read_object_store_file_job_id创建下载对象存储文件的任务,然后读取任务ID。
read_object_store_file_download_url获取下载对象存储文件的URL。
list_object_store_files列出组织下特定目录的对象存储文件。
delete_object删除特定组织和键的对象存储文件。
read_lean_versions返回包含每个版本基本信息的LEAN版本列表。
check_initialization_errors运行几秒钟的回测以初始化算法,并获取任何初始化错误。
complete_code显示特定文本输入的代码完成。
enhance_error_message显示错误消息的附加上下文和建议。
update_code_to_pep8更新Python代码以遵循PEP8风格。
check_syntax检查代码的语法。
search_quantconnect在QuantConnect中搜索内容。
read_mcp_server_version返回正在运行的QC MCP Server版本。
read_latest_mcp_server_version返回发布的最新版本的QC MCP Server。

工具详情

工具: read_account

读取组织账户状态。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: create_project

在默认组织中创建新项目。

参数类型描述
namestring项目名称。
languagestring要使用的编程语言。
organizationIdstring 可选创建项目的组织。如果您不提供值,默认为首选组织。

此工具会修改其环境。

此工具不会执行破坏性更新。

重复调用此工具并使用相同的参数会有额外的效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: read_project

列出项目的详细信息或一组最近项目的详细信息。

参数类型描述
projectIdinteger 可选要读取的项目的ID。
startinteger 可选要获取的项目的起始(包含,零索引)索引。如果您提供了此属性,请忽略项目ID属性。
endinteger 可选要获取的项目的最后一个(排除)索引。如果您提供了此属性,请忽略项目ID属性。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: list_projects

列出所有项目的详细信息。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: update_project

更新项目的名称或描述。

参数类型描述
projectIdinteger文件所属的项目ID。
namestring 可选项目的新的名称。
descriptionstring 可选项目的新的描述。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: delete_project

删除项目。

参数类型描述
projectIdinteger要删除的项目的ID。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: create_project_collaborator

向项目添加协作者。

参数类型描述
projectIdinteger要添加协作者的项目的ID。
collaboratorUserIdstring要添加的协作者的用户ID。
collaborationLiveControlboolean给予部署和停止实时算法的权利。
collaborationWriteboolean给予编辑代码的权利。

此工具会修改其环境。

此工具不会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: read_project_collaborators

列出项目的所有协作者。

参数类型描述
projectIdinteger要从中读取协作者的项目的ID。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: update_project_collaborator

更新项目中协作者的信息。

参数类型描述
projectIdinteger协作者所在的项目的ID。
collaboratorUserIdstring要更新的协作者的用户ID。
liveControlboolean给予部署和停止实时算法的权利。
writeboolean给予编辑代码的权利。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: delete_project_collaborator

从项目中删除协作者。

参数类型描述
projectIdinteger要从中删除协作者的项目的ID。
collaboratorIdstring要删除的协作者的用户ID。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: lock_project_with_collaborators

锁定项目以便您可以编辑它。

参数类型描述
projectIdinteger要编辑的项目的ID。
codeSourceIdstring创建请求的环境名称。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: read_project_nodes

读取项目的可用节点和选定节点。

参数类型描述
projectIdinteger节点所指的项目的ID。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: update_project_nodes

将给定节点的活动状态更新为true。

参数类型描述
projectIdinteger节点所指的项目ID。
nodesarray 可选项目可以使用的节点ID列表。如果您省略此属性或传递空列表,将自动选择最佳节点用于回测、研究和实时交易。

此工具会修改其环境。

此工具不会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: create_compile

异步创建项目编译作业请求。

参数类型描述
projectIdinteger要编译的项目的ID。

此工具会修改其环境。

此工具不会执行破坏性更新。

重复调用此工具并使用相同的参数会有额外的效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: read_compile

读取编译包作业结果。

参数类型描述
projectIdinteger您请求编译的项目的ID。
compileIdstring创建请求期间返回的编译ID。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: create_file

向给定项目添加文件。

参数类型描述
projectIdinteger要添加文件的项目的ID。
namestring新文件的名称。
contentstring 可选新文件的内容。
codeSourceIdstring 可选创建请求的环境名称。

此工具会修改其环境。

此工具不会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: read_file

从项目中读取文件,或者如果没有提供文件名,则读取项目中的所有文件。

参数类型描述
projectIdinteger包含文件的项目的ID。
namestring 可选要读取的文件的名称。
codeSourceIdstring 可选创建请求的环境名称。

此工具不会修改其环境。

此工具可能会与“开放世界”中的外部实体互动。


工具: update_file_name

更新文件的名称。

参数类型描述
projectIdinteger包含文件的项目的ID。
namestring文件的当前名称。
newNamestring文件的新名称。
codeSourceIdstring 可选创建请求的环境名称。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

此工具可能会与“开放世界”中的外部实体互动。


工具: update_file_contents

更新文件的内容。

参数类型描述
projectIdinteger包含文件的项目的ID。
namestring要更新的文件的名称。
contentstring文件的新内容。
codeSourceIdstring 可选创建请求的环境名称。

此工具会修改其环境。

此工具可能会执行破坏性更新。

重复调用此工具并使用相同的参数没有额外效果。

*此工具可能会与“开放世界”中的外部实体互动。