Sign inSign up

quantconnect/mcp-server

By quantconnect

•Updated about 1 year ago

MCP for LLM interaction with the QuantConnect API, and tools for research on backtest results.

Image
Developer tools
1

8.7K

quantconnect/mcp-server repository overview

⁠QuantConnect MCP Server


Python MCP server for local interactions with the QuantConnect API.

What is an MCP Server?⁠⁠

⁠Use this MCP Server

{
  "mcpServers": {
    "quantconnect": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "QUANTCONNECT_USER_ID",
        "-e", "QUANTCONNECT_API_TOKEN", 
        "quantconnect/mcp-server"
      ],
      "env": {
        "QUANTCONNECT_USER_ID": "<your_user_id>",
        "QUANTCONNECT_API_TOKEN": "<your_api_token"
      }
    }
  }
}

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

⁠Available Tools (60)

Tools provided by this ServerShort Description
read_accountRead the organization account status.
create_projectCreate a new project in your default organization.
read_projectList the details of a project.
list_projectsList the details of all projects.
update_projectUpdate a project's name or description.
delete_projectDelete a project.
create_project_collaboratorAdd a collaborator to a project.
read_project_collaboratorsList all collaborators on a project.
update_project_collaboratorUpdate collaborator information in a project.
delete_project_collaboratorRemove a collaborator from a project.
read_project_nodesRead the available and selected nodes of a project.
update_project_nodesUpdate the active state of the given nodes to true.
create_compileAsynchronously create a compile job request for a project.
read_compileRead a compile packet job result.
create_fileAdd a file to a given project.
read_fileRead a file from a project, or all files in the project if no file name is provided.
update_file_nameUpdate the name of a file.
update_file_contentsUpdate the contents of a file.
delete_fileDelete a file in a project.
create_backtestCreate a new backtest request and get the backtest Id.
read_backtestRead the results of a backtest.
list_backtestsList all the backtests for the project.
read_backtest_chartRead a chart from a backtest.
read_backtest_ordersRead out the orders of a backtest.
read_backtest_insightsRead out the insights of a backtest.
update_backtestUpdate the name or note of a backtest.
delete_backtestDelete a backtest from a project.
estimate_optimization_timeEstimate the execution time of an optimization with the specified parameters.
create_optimizationCreate an optimization with the specified parameters.
read_optimizationRead an optimization.
list_optimizationsList all the optimizations for a project.
update_optimizationUpdate the name of an optimization.
abort_optimizationAbort an optimization.
delete_optimizationDelete an optimization.
authorize_connectionAuthorize an external connection with a live brokerage or data provider.
create_live_algorithmCreate a live algorithm.
read_live_algorithmRead details of a live algorithm.
list_live_algorithmsList all your past and current live trading deployments.
read_live_chartRead a chart from a live algorithm.
read_live_logsGet the logs of a live algorithm.
read_live_portfolioRead out the portfolio state of a live algorithm.
read_live_ordersRead out the orders of a live algorithm.
read_live_insightsRead out the insights of a live algorithm.
stop_live_algorithmStop a live algorithm.
liquidate_live_algorithmLiquidate and stop a live algorithm.
create_live_commandSend a command to a live trading algorithm.
broadcast_live_commandBroadcast a live command to all live algorithms in an organization.
upload_objectUpload files to the Object Store.
read_object_propertiesGet Object Store properties of a specific organization and key.
read_object_store_file_job_idCreate a job to download files from the Object Store and then read the job Id.
read_object_store_file_download_urlGet the URL for downloading files from the Object Store.
list_object_store_filesList the Object Store files under a specific directory in an organization.
delete_objectDelete the Object Store file of a specific organization and key.
read_lean_versionsReturns a list of LEAN versions with basic information for each version.
check_initialization_errorsRun a backtest for a few seconds to initialize the algorithm and get initialization errors if any.
complete_codeShow the code completion for a specific text input.
enhance_error_messageShow additional context and suggestions for error messages.
update_code_to_pep8Update Python code to follow PEP8 style.
check_syntaxCheck the syntax of a code.
search_quantconnectSearch for content in QuantConnect.

⁠Tool Details

Tool: read_account

Read the organization account status.


Tool: create_project

Create a new project in your default organization.

ParameterTypeDescription
namestringProject name.
languagestringProgramming language to use.
organizationIdstring optionalThe organization to create project under. If you don't provide a value, it defaults to your preferred organization.

Tool: read_project

List the details of a project.

ParameterTypeDescription
projectIdintegerId of the project. If not provided the API will return a details list of all projects.

Tool: list_projects

List the details of all projects.


Tool: update_project

Update a project's name or description.

ParameterTypeDescription
projectIdintegerProject Id to which the file belongs.
namestring optionalThe new name for the project.
descriptionstring optionalThe new description for the project.

Tool: delete_project

Delete a project.

ParameterTypeDescription
projectIdintegerId of the project to delete.

Tool: read_project_nodes

Read the available and selected nodes of a project.

ParameterTypeDescription
projectIdintegerId of the project to which the nodes refer.

Tool: update_project_nodes

Update the active state of the given nodes to true.

ParameterTypeDescription
projectIdintegerProject Id to which the nodes refer.
nodesarray optionalList 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.

Tool: create_compile

Asynchronously create a compile job request for a project.

ParameterTypeDescription
projectIdintegerId of the project to compile.

Tool: read_compile

Read a compile packet job result.

ParameterTypeDescription
projectIdintegerId of the project you requested to compile.
compileIdstringCompile Id returned during the creation request.

Tool: create_file

Add a file to a given project.

ParameterTypeDescription
projectIdintegerId of the project to add the file.
namestringThe name of the new file.
contentstring optionalThe content of the new file.

Tool: read_file

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

ParameterTypeDescription
projectIdintegerId of the project that contains the file.
namestring optionalThe name of the file to read.

Tool: update_file_name

Update the name of a file.

ParameterTypeDescription
projectIdintegerId of the project that contains the file.
namestringThe current name of the file.
newNamestringThe new name for the file.

Tool: update_file_contents

Update the contents of a file.

ParameterTypeDescription
projectIdintegerId of the project that contains the file.
namestringThe name of the file to update.
contentstringThe new contents of the file.

Tool: delete_file

Delete a file in a project.

ParameterTypeDescription
projectIdintegerId of the project that contains the file.
namestringThe name of the file to delete.

Tool: create_backtest

Create a new backtest request and get the backtest Id.

ParameterTypeDescription
projectIdintegerId of the project to backtest.
compileIdstringCompile Id for the project to backtest.
backtestNamestringName for the new backtest.
parametersobject optionalParameters to use for the backtest.

Tool: read_backtest

Read the results of a backtest.

ParameterTypeDescription
projectIdintegerId of the project that contains the backtest.
backtestIdstringId of the backtest to read.

Tool: list_backtests

List all the backtests for the project.

ParameterTypeDescription
projectIdintegerId of the project from which to read one or multiple backtests.
includeStatisticsboolean optionalIf true, the backtests summaries from the response will contain the statistics with their corresponding values.

Tool: read_backtest_chart

Read a chart from a backtest.

ParameterTypeDescription
projectIdintegerId of the project that contains the backtest.
backtestIdstringId of the backtest for this chart request.
namestringThe requested chart name.
countintegerThe number of data points to request.
startintegerThe start timestamp of the request in Unix time.
endintegerThe end timestamp of the request in Unix time.

Tool: read_backtest_orders

Read out the orders of a backtest.

ParameterTypeDescription
startintegerStarting index of the orders to be fetched.
endintegerLast index of the orders to be fetched. Note that end - start must be less than 100.
projectIdintegerId of the project from which to read the backtest.
backtestIdstringId of the backtest from which to read the orders.

Tool: read_backtest_insights

Read out the insights of a backtest.

ParameterTypeDescription
startintegerStarting index of the insights to be fetched.
endintegerLast index of the insights to be fetched. Note that end - start must be less than 100.
projectIdintegerId of the project from which to read the backtest.
backtestIdstringId of the backtest from which to read the insights.

Tool: update_backtest

Update the name or note of a backtest.

ParameterTypeDescription
projectIdintegerId of the project that contains the backtest.
backtestIdstringId of the backtest to update.
namestring optionalName to assign to the backtest.
notestring optionalNote to attach to the backtest.

Tool: delete_backtest

Delete a backtest from a project.

ParameterTypeDescription
projectIdintegerId of the project that contains the backtest.
backtestIdstringId of the backtest to delete.

Tool: estimate_optimization_time

Estimate the execution time of an optimization with the specified parameters.

ParameterTypeDescription
projectIdintegerId of the project to optimize.
namestringName of the optimization.
targetstringTarget statistic of the optimization to minimize or maximize.
targetTostringTarget extremum of the optimization.
targetValuenumber optionalDesired value for the optimization target statistic.
strategystringOptimization strategy.
compileIdstring optionalOptimization compile Id.
parametersarrayOptimization parameters.
constraintsarray optionalOptimization constraints.

Tool: create_optimization

Create an optimization with the specified parameters.

ParameterTypeDescription
projectIdintegerId of the project to optimize.
namestringName of the optimization.
targetstringTarget statistic of the optimization to minimize or maximize.
targetTostringTarget extremum of the optimization.
targetValuenumber optionalDesired value for the optimization target statistic.
strategystringOptimization strategy.
compileIdstringOptimization compile Id.
parametersarrayOptimization parameters.
constraintsarray optionalOptimization constraints.
estimatedCostnumberEstimated cost for optimization.
nodeTypestringOptimization node type.
parallelNodesintegerNumber of parallel nodes for optimization.

Tool: read_optimization

Read an optimization.

ParameterTypeDescription
optimizationIdstringId of the optimization to read.

Tool: list_optimizations

List all the optimizations for a project.

ParameterTypeDescription
projectIdintegerId of the Project to get a list of optimizations for.

Tool: update_optimization

Update the name of an optimization.

ParameterTypeDescription
optimizationIdstringId of the optimization to update.
namestringName to assign to the optimization.

Tool: abort_optimization

Abort an optimization.

ParameterTypeDescription
optimizationIdstringId of the optimization to abort.

Tool: delete_optimization

Delete an optimization.

ParameterTypeDescription
optimizationIdstringId of the optimization to delete.

Tool: authorize_connection

Authorize an external connection with a live brokerage or data provider.

ParameterTypeDescription
brokeragestringThe brokerage to authenticate a connection with.

Tool: create_live_algorithm

Create a live algorithm.

ParameterTypeDescription
versionIdstringThe version of the Lean used to run the algorithm. -1 is master, however, sometimes this can create problems with live deployments. If you experience problems using, try specifying the version of Lean you would like to use.
projectIdintegerProject Id.
compileIdstringCompile Id.
nodeIdstringId of the node that will run the algorithm.
brokeragebrokerage enumBrokerage configuration for the live algorithm.
dataProvidersdataProvider(s) optionalDictionary of data provider configurations to be used in the live algorithm. Provide at least one. The order in which you define the providers defines their order of precedence.

Tool: read_live_algorithm

Read details of a live algorithm.

ParameterTypeDescription
projectIdintegerId of the project to read.

Tool: list_live_algorithms

List all your past and current live trading deployments.

ParameterTypeDescription
statusstatus enum optionalStatus of the live algorithms to include in the response.

Tool: read_live_chart

Read a chart from a live algorithm.

ParameterTypeDescription
projectIdintegerId of the project that's live trading.
namestringName of the chart to read.
countintegerThe number of data points to request.
startintegerThe unix start time of the request.
endintegerThe unix end time of the request.

Tool: read_live_logs

Get the logs of a live algorithm.

ParameterTypeDescription
format`` optionalFormat of the log results.
projectIdintegerId of the project that contains the live running algorithm.
algorithmIdstringDeploy Id (Algorithm Id) of the live running algorithm.
startLineintegerStart line (inclusive) of logs to read. The lines numbers start at 0.
endLineintegerEnd line (exclusive) of logs to read, where endLine - startLine <= 250.

Tool: read_live_portfolio

Read out the portfolio state of a live algorithm.

ParameterTypeDescription
projectIdintegerId of the project from which to read the live algorithm.

Tool: read_live_orders

Read out the orders of a live algorithm.

ParameterTypeDescription
startinteger optionalStarting index of the orders to be fetched. Required if end > 1,000.
endintegerLast index of the orders to be fetched. Note that end - start must be less than 1,000.
projectIdintegerId of the project from which to read the live algorithm.

Tool: read_live_insights

Read out the insights of a live algorithm.

ParameterTypeDescription
startinteger optionalStarting index of the insights to be fetched. Required if end > 100.
endintegerLast index of the insights to be fetched. Note that end - start must be less than 100.
projectIdintegerId of the project from which to read the live algorithm.

Tool: stop_live_algorithm

Stop a live algorithm.

ParameterTypeDescription
projectIdintegerId of the project to stop trading live.

Tool: liquidate_live_algorithm

Liquidate and stop a live algorithm.

ParameterTypeDescription
projectIdintegerProject Id for the live instance to liquidate.

Tool: create_live_command

Send a command to a live trading algorithm.

ParameterTypeDescription
projectIdintegerProject for the live instance we want to run the command against.
commandobjectThe command to run.

Tool: broadcast_live_command

Broadcast a live command to all live algorithms in an organization.

ParameterTypeDescription
organizationIdstringOrganization Id of the projects we would like to broadcast the command to
excludeProjectIdinteger optionalProject for the live instance we want to exclude from the broadcast list. If null, all projects will be included.
commandobjectThe command to run.

Tool: upload_object

Upload files to the Object Store.

ParameterTypeDescription
organizationIdstringOrgainization ID.
keystringUnique key to access the object in Object Store.
objectDatastringObject data to be stored.

Tool: read_object_properties

Get Object Store properties of a specific organization and key.

ParameterTypeDescription
organizationIdstringId of the organization that owns the Object Store.
keystringKey in the Object Store.

Tool: read_object_store_file_job_id

Create a job to download files from the Object Store and then read the job Id.

ParameterTypeDescription
organizationIdstringId of the organization that owns the Object Store.
keysarrayKeys of the Object Store files.

Tool: read_object_store_file_download_url

Get the URL for downloading files from the Object Store.

ParameterTypeDescription
organizationIdstringId of the organization that owns the Object Store.
jobIdstringId of the download job for the files.

Tool: list_object_store_files

List the Object Store files under a specific directory in an organization.

ParameterTypeDescription
organizationIdstringId of the organization to list the Object Store files from.
pathstring optionalPath to a directory in the Object Store.

Tool: delete_object

Delete the Object Store file of a specific organization and key.

ParameterTypeDescription
organizationIdstringId of the organization that owns the Object Store.
keystringKey of the Object Store file to delete.

Tool: read_lean_versions

Returns a list of LEAN versions with basic information for each version.


Tool: check_initialization_errors

Run a backtest for a few seconds to initialize the algorithm and get inialization errors if any.

ParameterTypeDescription
languagestringProgramming language.
filesarrayFiles to process.

Tool: complete_code

Show the code completion for a specific text input.

ParameterTypeDescription
languagestringProgramming language for the code completion.
sentencestringSentence to complete.
responseSizeLimitinteger optionalMaximum size of the responses.

Tool: enhance_error_message

Show additional context and suggestions for error messages.

ParameterTypeDescription
languagestringProgramming language for the code completion.
errorobjectError message to enhance.

Tool: update_code_to_pep8

Update Python code to follow PEP8 style.

ParameterTypeDescription
filesarrayFiles of the project.

Tool: check_syntax

Check the syntax of a code.

ParameterTypeDescription
languagestringProgramming language.
filesarrayFiles to process.

Tool: search_quantconnect

Search for content in QuantConnect.

ParameterTypeDescription
languagestringProgramming language of the content to search.
criteriaarrayCriteria for the search.

Tag summary

Content type

Image

Digest

sha256:5c83f3316…

Size

94.1 MB

Last updated

about 1 year ago

docker pull quantconnect/mcp-server