Skip to main content
Glama

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

License

MIT - see LICENSE

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheFractalyst/QuantConnectMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server