A comprehensive Model Context Protocol (MCP) server for WorldQuant BRAIN platform integration, providing tools for alpha simulation, forum access, and BRAIN API interactions.
Server has 12 tools with complete input schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention well (authenticate, create_simulation, get_*, list_*, update_*, search_*, validate_*). However, descriptions vary widely in clarity and actionability. create_simulation has 18 parameters with minimal guidance on interdependencies and constraints. Parameter descriptions are present but often generic (e.g., 'Delay in days' without range). No output schemas documented. Error handling is minimal, no recovery guidance or categorization. Security concern: authenticate tool exposes credentials as parameters rather than using server-side injection. Missing idempotency hints and confirmation patterns for destructive operations (create_simulation, update_alpha_properties).
Authenticate with WorldQuant BRAIN using email and password credentials
Create a new alpha simulation with specified settings and expressions
Get detailed information about a specific alpha
Calculate correlation metrics for alpha expressions using BRAIN's correlation engine
Get detailed information about a specific forum post including comments
Retrieve forum posts from the WorldQuant BRAIN community forum
Retrieve glossary terms from the WorldQuant BRAIN support documentation
Credentials exposed as tool parameters: authenticate tool accepts email and password directly. Should use server-side secret injection via environment variables or vault. Agent traces log all parameters, secrets leak into logs and prompt history.
create_simulation has 18 parameters with minimal constraint documentation. No enums for region, instrumentType, neutralization, pasteurization, unitHandling, nanHandling, language, selectionHandling, maxTrade, componentActivation. LLMs will hallucinate invalid values. No interdependency guidance (e.g., USA SUPER requires prod_correlation in selection).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., get_simulation_results returns what fields? Does it include simulation_id for chaining? Does list_alphas return alpha_id for get_alpha_details?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Retrieve results and statistics for a completed simulation
List alphas with optional filtering by status, region, and other criteria
Search the forum for posts matching a query
Update properties of an alpha such as name, color, description, tags, and category
Validate an alpha expression for syntax and semantic correctness
Destructive operations lack confirmation or dry-run patterns. create_simulation and update_alpha_properties modify state but offer no confirmation step. Agents make mistakes, no recovery path if a simulation is created with wrong parameters.
Error handling is minimal. No recovery guidance, categorization (retryable vs user-fixable vs fatal), or actionable error messages. If validate_expression fails, does the LLM retry or ask the user? If create_simulation fails due to invalid region, what are valid regions?