QuantConnectMCP

QuantConnectMCP

MCP server providing 100% offline access to QuantConnect/Lean documentation with semantic search, code validation, repair, and scaffolding tools for AI coding assistants.

Category
Visit Server

README

QuantConnectMCP

PyPI Python ChromaDB MCP License: MIT Tests

Complete QuantConnect/Lean reference documentation MCP server with 1265 entries covering 100% of the official QuantConnect v2 documentation sitemap.

Quick Start | Tools | Configuration | Database | Development


One Command. Two Minutes. Fully Functional.

pip install qc-lean-mcp
qc-lean-mcp

That's it. On first run, the server auto-builds the ChromaDB vector store from shipped JSON data (takes 30-60 seconds for embedding model download + indexing). Subsequent runs start instantly.

What you get:

  • 6 MCP tools for QuantConnect/Lean docs lookup, code validation, and template generation
  • 1265 entries indexed in a local ChromaDB vector store (100% offline)
  • Sub-millisecond hot cache for priority lookups
  • Python AST validation for Lean algorithms
  • Common Python.NET issue detection and auto-repair
  • Works with Claude Desktop, Cursor, Windsurf, OpenCode, and any MCP client

What you need:

  • Python 3.10+
  • Any MCP-compatible AI client

Why QuantConnectMCP?

AI coding assistants hallucinate Lean API syntax. The QuantConnect API is large (QCAlgorithm, Algorithm Framework, 200+ indicators, multiple asset classes) and constantly evolving. Models trained on older code get method signatures wrong.

QuantConnectMCP gives AI assistants authoritative, real-time access to the complete QuantConnect/Lean reference:

  • 100% coverage: 1257/1257 official QuantConnect v2 docs sitemap URLs
  • Semantic search: Vector embeddings find relevant docs by meaning, not keywords
  • Code validation: qc_validate checks Python Lean algorithms for common mistakes
  • Auto-repair: qc_repair fixes Python.NET bridge issues, missing self. prefix, etc.
  • Code generation: qc_scaffold generates validated algorithm templates
  • 100% local: No network calls at runtime (ChromaDB auto-builds from shipped data)

Tools

+---------------------------+----------------------------------------------+
| Tool                      | Description                                  |
+---------------------------+----------------------------------------------+
| qc_lookup(name, kind?)    | Get complete docs for a symbol by exact name |
| qc_search(query, ...)     | Semantic search across all docs              |
| qc_browse(namespace, ...) | Enumerate all members of a namespace         |
| qc_validate(code?, ...)   | Validate Python syntax for Lean algorithms   |
| qc_repair(code, context)  | Fix common Python.NET issues in Lean code    |
| qc_scaffold(kind, name)   | Generate algorithm/indicator/research template|
+---------------------------+----------------------------------------------+

Quick Start

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "qc-lean-mcp": {
      "command": "qc-lean-mcp"
    }
  }
}

Cursor / Windsurf / OpenCode

{
  "mcpServers": {
    "qc-lean-mcp": {
      "command": "qc-lean-mcp"
    }
  }
}

SSE (HTTP)

qc-lean-mcp
# Then connect to http://localhost:8080

Or with environment variables:

TRANSPORT=sse PORT=8080 qc-lean-mcp

Configuration

+-------------------------+---------------+--------------------------------+
| Env Var                 | Default       | Description                    |
+-------------------------+---------------+--------------------------------+
| TRANSPORT               | stdio         | Transport: stdio or sse        |
| PORT                    | 8080          | Port for SSE transport         |
| QC_DB_PATH              | ./qc_db       | ChromaDB path                  |
| QC_COLLECTION           | qc_reference  | ChromaDB collection name       |
| QC_EMBED_MODEL          | all-MiniLM-L6 | Sentence transformer model     |
| QC_MAX_RESULTS          | 100           | Max search results             |
| LOG_LEVEL               | INFO          | Logging level                  |
| LAZY_MODEL              | 0             | Skip model preload at startup  |
+-------------------------+---------------+--------------------------------+

Database

  • 1265 entries (QuantConnect v2 docs)
  • 1257/1257 sitemap URLs (100% coverage)
  • 20 namespaces: cloud, indicators, writing-algorithms, cli, docs, datasets, research, securities, reality-modeling, local, engine, ai, framework, etc.
  • Hot cache for sub-millisecond priority lookups
  • Auto-built on first run from shipped JSON data (14MB)

To rebuild the database:

qc-lean-mcp build

Development

git clone https://github.com/TheFractalyst/QuantConnectMCP.git
cd QuantConnectMCP
pip install -e ".[dev]"
pytest tests/ -v

Re-index ChromaDB

python pipeline/merge_and_index.py --reset

Docker

docker build -t qc-lean-mcp .
docker run -p 8080:8080 -e TRANSPORT=sse qc-lean-mcp

Tech Stack

  • FastMCP 3.0 - MCP server framework with FileSystemProvider auto-discovery
  • ChromaDB - Local vector database for semantic search (cosine, 384-dim)
  • SentenceTransformers - all-MiniLM-L6-v2 embedding model
  • RapidFuzz - Fuzzy string matching for name lookups
  • Loguru - Structured logging

Links

License

MIT - see LICENSE

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured