AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified Apache-2.0 Self-run

QuantConnect Mcp Server

mcp-quantconnect-mcp-server · by QuantConnect

Official Python MCP server for local interactions with the QuantConnect API

No reviews yet
0 installs
20 views
0.0% view→install

Install

$ agentstack add mcp-quantconnect-mcp-server

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-quantconnect-mcp-server)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of QuantConnect Mcp Server? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

This repository is deprecated for now - the preferred way to use our MCP is through the one embedded in VSCode.

See https://www.quantconnect.com/docs/v2/ai-assistance/mcp-server/key-concepts

QuantConnect MCP Server

The QuantConnect MCP Server is a bridge for AIs (such as Claude and OpenAI o3 Pro) to interact with our cloud platform. When equipped with our MCP, the AI can perform tasks on your behalf through our API such as updating projects, writing strategies, backtesting, and deploying strategies to production live-trading.

This is the OFFICIAL implementation of QuantConnect's MCP, maintained by the QuantConnect team. We recommend using the official version to ensure security of your code and API tokens. Our implementation is tested and dockerized for easy cross-platform deployment.

Getting Started

To connect local MCP clients (like Claude Desktop) to the QC MCP Server, follow these steps:

  1. Install and open Docker Desktop.
  2. Install and open Claude Desktop.
  3. In Claude Desktop, click File > Settings > Developer > Edit Config.
  4. Edit the claude_desktop_config.json file to include the following quantconnect configuration:
{
  "mcpServers": {
    "quantconnect": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "QUANTCONNECT_USER_ID",
        "-e", "QUANTCONNECT_API_TOKEN",
        "-e", "AGENT_NAME",
        "--platform", "",
        "quantconnect/mcp-server"
      ],
      "env": {
        "QUANTCONNECT_USER_ID": "",
        "QUANTCONNECT_API_TOKEN": "",
        "AGENT_NAME": "MCP Server"
      }
    }
  }
}

To get your user Id and API token, see Request API Token.

Our MCP server is multi-platform capable. The options are linux/amd64 for Intel/AMD chips and linux/arm64 for ARM chips (for example, Apple's M-series chips).

If you simultaneously run multiple agents, set a unique value for the AGENT_NAME environment variable for each agent to keep record of the request source.

  1. Restart Claude Desktop.

Claude Desktop automatically pulls our MCP server from Docker Hub and connects to it.

To view all the MCP clients and the features they support, see the Feature Support Matrix in the MCP documentation.

To keep the Docker image up-to-date, pull the latest MCP server from Docker Hub in the terminal.

docker pull quantconnect/mcp-server

If you have an ARM chip, add the --platform linux/arm64 option.

Available Tools (64)

| Tools provided by this Server | Short Description | | -------- | ------- | | read_account | Read the organization account status. | | create_project | Create a new project in your default organization. | | read_project | List the details of a project or a set of recent projects. | | list_projects | List the details of all projects. | | update_project | Update a project's name or description. | | delete_project | Delete a project. | | create_project_collaborator | Add a collaborator to a project. | | read_project_collaborators | List all collaborators on a project. | | update_project_collaborator | Update collaborator information in a project. | | delete_project_collaborator | Remove a collaborator from a project. | | lock_project_with_collaborators | Lock a project so you can edit it. | | read_project_nodes | Read the available and selected nodes of a project. | | update_project_nodes | Update the active state of the given nodes to true. | | create_compile | Asynchronously create a compile job request for a project. | | read_compile | Read a compile packet job result. | | create_file | Add a file to a given project. | | read_file | Read a file from a project, or all files in the project if no file name is provided. | | update_file_name | Update the name of a file. | | update_file_contents | Update the contents of a file. | | patch_file | Apply a patch (unified diff) to a file in a project. | | delete_file | Delete a file in a project. | | create_backtest | Create a new backtest request and get the backtest Id. | | read_backtest | Read the results of a backtest. | | list_backtests | List all the backtests for the project. | | read_backtest_chart | Read a chart from a backtest. | | read_backtest_orders | Read out the orders of a backtest. | | read_backtest_insights | Read out the insights of a backtest. | | update_backtest | Update the name or note of a backtest. | | delete_backtest | Delete a backtest from a project. | | estimate_optimization_time | Estimate the execution time of an optimization with the specified parameters. | | create_optimization | Create an optimization with the specified parameters. | | read_optimization | Read an optimization. | | list_optimizations | List all the optimizations for a project. | | update_optimization | Update the name of an optimization. | | abort_optimization | Abort an optimization. | | delete_optimization | Delete an optimization. | | authorize_connection | Authorize an external connection with a live brokerage or data provider. | | create_live_algorithm | Create a live algorithm. | | read_live_algorithm | Read details of a live algorithm. | | list_live_algorithms | List all your past and current live trading deployments. | | read_live_chart | Read a chart from a live algorithm. | | read_live_logs | Get the logs of a live algorithm. | | read_live_portfolio | Read out the portfolio state of a live algorithm. | | read_live_orders | Read out the orders of a live algorithm. | | read_live_insights | Read out the insights of a live algorithm. | | stop_live_algorithm | Stop a live algorithm. | | liquidate_live_algorithm | Liquidate and stop a live algorithm. | | create_live_command | Send a command to a live trading algorithm. | | broadcast_live_command | Broadcast a live command to all live algorithms in an organization. | | upload_object | Upload files to the Object Store. | | read_object_properties | Get Object Store properties of a specific organization and key. | | read_object_store_file_job_id | Create a job to download files from the Object Store and then read the job Id. | | read_object_store_file_download_url | Get the URL for downloading files from the Object Store. | | list_object_store_files | List the Object Store files under a specific directory in an organization. | | delete_object | Delete the Object Store file of a specific organization and key. | | read_lean_versions | Returns a list of LEAN versions with basic information for each version. | | check_initialization_errors | Run a backtest for a few seconds to initialize the algorithm and get inialization errors if any. | | complete_code | Show the code completion for a specific text input. | | enhance_error_message | Show additional context and suggestions for error messages. | | update_code_to_pep8 | Update Python code to follow PEP8 style. | | check_syntax | Check the syntax of a code. | | search_quantconnect | Search for content in QuantConnect. | | read_mcp_server_version | Returns the version of the QC MCP Server that's running. | | read_latest_mcp_server_version | Returns the latest version of the QC MCP Server released. | ---

Tool Details

Tool: read_account

Read the organization account status.

This tool doesn't modify it's environment.

This tool may interact with an "open world" of external entities.


Tool: create_project

Create a new project in your default organization.

| Parameter | Type | Description | | -------- | ------- | ------- | | name | string | Project name. | | language | string | Programming language to use. | | organizationId | string optional | The organization to create project under. If you don't provide a value, it defaults to your preferred organization. |

This tool modifies it's environment.

This tool doesn't perform destructive updates.

Calling this tool repeatedly with the same arguments has additional effects.

This tool may interact with an "open world" of external entities.


Tool: read_project

List the details of a project or a set of recent projects.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer optional | Id of the project to read. | | start | integer optional | Starting (inclusive, zero-based) index of the projects to fetch. If you provide this property, omit the project Id property. | | end | integer optional | Last (exlusive) index of the projects to fetch. If you provide this property, omit the project Id property. |

This tool doesn't modify it's environment.

This tool may interact with an "open world" of external entities.


Tool: list_projects

List the details of all projects.

This tool doesn't modify it's environment.

This tool may interact with an "open world" of external entities.


Tool: update_project

Update a project's name or description.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Project Id to which the file belongs. | | name | string optional | The new name for the project. | | description | string optional | The new description for the project. |

This tool modifies it's environment.

This tool may perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: delete_project

Delete a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to delete. |

This tool modifies it's environment.

This tool may perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: create_project_collaborator

Add a collaborator to a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to add the collaborator to. | | collaboratorUserId | string | User Id of the collaborator to add. | | collaborationLiveControl | boolean | Gives the right to deploy and stop live algorithms. | | collaborationWrite | boolean | Gives the right to edit the code. |

This tool modifies it's environment.

This tool doesn't perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: read_project_collaborators

List all collaborators on a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project from which to read the collaborators. |

This tool doesn't modify it's environment.

This tool may interact with an "open world" of external entities.


Tool: update_project_collaborator

Update collaborator information in a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project the collaborator is on. | | collaboratorUserId | string | User Id of the collaborator to update. | | liveControl | boolean | Gives the right to deploy and stop live algorithms. | | write | boolean | Gives the right to edit the code. |

This tool modifies it's environment.

This tool may perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: delete_project_collaborator

Remove a collaborator from a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to remove the collaborator from. | | collaboratorId | string | User Id of the collaborator to remove. |

This tool modifies it's environment.

This tool may perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: lock_project_with_collaborators

Lock a project so you can edit it.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to edit. | | codeSourceId | string | Name of the environment that's creating the request. |

This tool modifies it's environment.

This tool may perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: read_project_nodes

Read the available and selected nodes of a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to which the nodes refer. |

This tool doesn't modify it's environment.

This tool may interact with an "open world" of external entities.


Tool: update_project_nodes

Update the active state of the given nodes to true.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Project Id to which the nodes refer. | | nodes | array optional | List of node Ids the project may use. If you omit this property or pass an empty list, the best node will be automatically selected for backtest, research, and live trading. |

This tool modifies it's environment.

This tool doesn't perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: create_compile

Asynchronously create a compile job request for a project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to compile. |

This tool modifies it's environment.

This tool doesn't perform destructive updates.

Calling this tool repeatedly with the same arguments has additional effects.

This tool may interact with an "open world" of external entities.


Tool: read_compile

Read a compile packet job result.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project you requested to compile. | | compileId | string | Compile Id returned during the creation request. |

This tool doesn't modify it's environment.

This tool may interact with an "open world" of external entities.


Tool: create_file

Add a file to a given project.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project to add the file. | | name | string | The name of the new file. | | content | string optional | The content of the new file. | | codeSourceId | string optional | Name of the environment that's creating the request. |

This tool modifies it's environment.

This tool doesn't perform destructive updates.

Calling this tool repeatedly with the same arguments has no additional effect.

This tool may interact with an "open world" of external entities.


Tool: read_file

Read a file from a project, or all files in the project if no file name is provided.

| Parameter | Type | Description | | -------- | ------- | ------- | | projectId | integer | Id of the project that contains the file. | | name | string optional | The name of the file to read. | | codeSourceId | string optional | Name of the environment that's creating the request. |

This tool doesn't modify it's environment.

*This too

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.