WorldQuant MCP
Automates WorldQuant BRAIN alpha research workflows, including simulation, reference search, and alpha submission through MCP tools.
README
WorldQuant MCP
A Python MCP server for automating WorldQuant BRAIN alpha-research workflows, plus a local reference pipeline that converts documentation into LLM-friendly artifacts. Built as a personal research-engineering project.
Note: This is an independent, unofficial project and is not affiliated with or endorsed by WorldQuant. WorldQuant's platform documentation is not included in this repository — you supply your own PDF (see Reference ingestion). Use of the BRAIN API is subject to WorldQuant's own terms.
Status
Initial working scaffold in place.
Current capabilities:
- Load credentials from
.envorWQ_BRAIN_*environment variables. - Convert scanned or text-based PDFs into markdown and chunked JSON.
- Authenticate against
api.worldquantbrain.com. - Search local operator/reference material.
- Fetch platform operators, account details, and data fields.
- Turn text hypotheses into field proxies and expression templates.
- Ingest external research links or notes into mechanism summaries.
- Mutate seed expressions into nearby variants.
- Submit simulations and poll simulation progress.
- Simulate batches of expressions and rank the results.
- Fetch alpha details and submission status.
- Validate whether an alpha is ready to submit and summarize blockers.
- Compare candidate expressions against recent alphas and logged experiments.
- Persist local experiment memory for future agents.
- Submit alphas behind an explicit confirmation flag.
Reference ingestion
The first implemented component is the PDF ingestion pipeline.
.venv/Scripts/python.exe -m pip install -e .
wq-ingest-reference --input wq-ops.pdf
Generated artifacts (produced locally, git-ignored — not committed):
src/worldquant_mcp/reference/data/wq-ops.mdsrc/worldquant_mcp/reference/data/wq-ops.chunks.json
If the PDF has no text layer, the ingester falls back to OCR using in-process Python libraries so it still works on a clean Windows machine.
Running the MCP server
Install the package in editable mode:
.venv/Scripts/python.exe -m pip install -e .
Do not start the stdio MCP server manually if you want to use it from VS Code. VS Code should launch it for you from mcp.json.
Add this to your user-level mcp.json or workspace .vscode/mcp.json:
{
"servers": {
"worldquant-mcp": {
"type": "stdio",
"command": ".venv/Scripts/worldquant-mcp.exe",
"env": {
"WQ_BRAIN_EMAIL": "<your-email>",
"WQ_BRAIN_PASSWORD": "<your-password>"
}
}
}
}
After saving mcp.json, use the VS Code MCP server management UI to reload or start the server. Once it shows as running, the tools from this server become available to Copilot agents.
If you want to run the server yourself for debugging only, use one of these commands:
.venv/Scripts/worldquant-mcp.exe
Or run it via Python:
.venv/Scripts/python.exe -m worldquant_mcp
Timeout behavior
- Polling tools now default to bounded waits instead of open-ended multi-minute blocking.
wait_simulation,batch_simulate, andparallel_mechanism_searchdefault to180seconds.- Override with
timeout_secondswhen you intentionally want a longer or shorter wait. - Set
WQ_BRAIN_MAX_POLL_SECONDSif you want to change the client-wide default used by direct code paths. - 429 handling is now more robust in the shared client: temporary rate limits are retried with bounded backoff, and
CONCURRENT_SIMULATION_LIMIT_EXCEEDEDbacks off more aggressively before failing. - Tune
WQ_BRAIN_RATE_LIMIT_MAX_RETRIESandWQ_BRAIN_RATE_LIMIT_MAX_WAIT_SECONDSif you want stricter or looser retry behavior.
Example session
Once the server is running, an MCP-aware agent calls the tools directly. Illustrative output below (metric values are synthetic and field/alpha names are placeholders — no real platform data is shown):
> healthcheck
{ "status": "ok", "authenticated": true }
> get_platform_operators
[ "rank", "zscore", "ts_delta", "ts_backfill", "ts_decay_linear", "group_zscore", ... ]
> create_simulation expression="rank(<your_signal>)" settings=USA/TOP3000/delay=1
{ "status": "COMPLETE", "alpha_id": "<id>",
"is": { "sharpe": 1.21, "fitness": 0.74, "returns": 0.052, "turnover": 0.11 } }
> validate_alpha_submission_by_id alpha_id="<id>"
{ "ready": false, "blocking": ["LOW_FITNESS"], "pending": ["SELF_CORRELATION"] }
The operator names above are part of BRAIN's public expression language; the pipeline never hard-codes proprietary data fields or alpha identifiers.
Implemented tools
healthcheckget_accountget_platform_operatorssearch_local_referenceget_reference_operatorsget_data_fieldsget_recent_alphasget_alphaget_alpha_submissioncreate_simulationbatch_simulatesummarize_alpha_batch_by_idmutate_alpha_expressionmap_research_hypothesisingest_research_materialget_simulationwait_simulationanalyze_alpha_noveltylog_alpha_experimentlist_alpha_experimentsvalidate_alpha_submission_by_idsubmit_alpha_by_id
Research Notes
docs/mcp-roadmap.mdtracks pragmatic MCP upgrades for alpha research.docs/quant-journey.mdis a running experiment log for future agents.src/worldquant_mcp/data/experiment_memory.jsonstores the same experiments in machine-readable form.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。