nautilus-trader MCP server
nautilus-trader MCP server
Qué es esto
Un servidor MCP (Model Context Protocol) que ofrece a un LLM (Claude Code, Codex CLI, etc.) dos formas de consultar nautilus_trader mientras se escribe código de estrategia contra él:
Búsqueda de código (
index.py) — búsqueda estructural sobre el código fuente real (Python + Rust), por nombre de símbolo. No es una búsqueda difusa por texto/embeddings: encuentra la clase/función/struct real y devuelve su docstring o el código fuente completo.Búsqueda en documentación (
rags/) — búsqueda semántica (basada en embeddings) sobre los documentos markdown del proyecto (conceptos, guías, tutoriales), para preguntas del tipo «¿cómo hago...?» que no se corresponden con un único nombre de símbolo.
Related MCP server: MCPyDoc
Cómo funciona
index.pylanza dos servidores de lenguaje reales como subprocesos y se comunica con ellos directamente mediante LSP (JSON-RPC sobre stdio):pylsppara el código fuente de Python ennautilus_trader/python/nautilus_trader, yrust-analyzerpara el código fuente de Rust ennautilus_trader/crates.documentSymbolencuentra clases/funciones/structs/impls de nivel superior;hoverobtiene el docstring (solo Python — consulte Limitaciones conocidas). Los resultados se guardan en caché en.code_index_cache.json, ya que su creación cuesta ~25 s (sobre todo rust-analyzer sobre ~2600 archivos).rags/rag_build.pydivide en fragmentos todos los archivos dedocs/y crea un índicedspy.retrievers.Embeddings(embeddings de Gemini), que se guarda enrags/(config.json+corpus_embeddings.npy) junto con unshape.jsonque registra la estructura de carpetas original para querags/search.pypueda filtrar por subcarpeta.mcp_server.pyintegra ambos en 5 herramientas MCP:search_code,get_code_doc,get_code_source,search_docs,show_doc_keys.
Configuración
git clone https://github.com/GwangPyo/NautilusTraderMCP.git
cd NautilusTraderMCP
cp .env.example .env # fill in GEMINI_API_KEY (and OPENAI/ANTHROPIC if you use load_model)
./install.sh # conda env "mcp" + deps, nautilus_trader clone, code index, doc indexinstall.sh es idempotente: si se vuelve a ejecutar, omite el clonado de nautilus_trader, la copia de docs/ y la generación (de pago) de los embeddings de documentación si ya existen. Defina ENV_NAME=<name> para usar un nombre de entorno conda distinto (se usa para pruebas, de modo que no afecte al entorno mcp real).
No se requiere un gestor de entornos: uv venv && uv pip install -e . también funciona; install.sh simplemente estandariza el uso de conda para una configuración reproducible con un solo comando.
Registro con un cliente
./add_claude.sh # claude mcp add
./add_codex.sh # codex mcp addEn ambos casos basta con apuntar el cliente a <conda mcp env>/bin/python3 mcp_server.py a través de stdio.
Limitaciones conocidas / TODO
.code_index_cache.jsonyrags/{config.json,corpus_embeddings.npy,shape.json}no tienen invalidación: sinautilus_trader/odocs/cambian, hay que eliminar los archivos de caché manualmente y volver a ejecutar para que se actualicen.No hay pruebas automatizadas: hasta ahora todo se ha verificado manualmente (entorno conda nuevo, entorno uv nuevo, cliente MCP real a través de stdio).
nautilus_trader/se clona desdemain(sin fijar): puede desviarse con el tiempo; actualmente nada lo verifica contra un commit/tag conocido y válido.
This server cannot be deployed
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Search indexed code, trace dependencies, assess change impact, and recall repository memory.
Ask a codebase what calls what: search, blast radius, paths between symbols, and diffs.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceProvides AI coding agents with structured access to indexed codebases via semantic search, symbol analysis, and file reading tools.12-- AlicenseNot gradedqualityCmaintenanceProvides real-time access to Python package documentation, source code, and symbol search to prevent AI hallucinations.144 PyPI6MIT
- AlicenseNot gradedqualityDmaintenanceExposes type-aware code navigation and fast file search to AI agents via language servers, enabling definitions, references, symbols, and file lookup without reading entire codebases.3,050 npmMIT
- AlicenseAqualityDmaintenanceEnables LLMs to efficiently navigate large codebases by providing surgical access to specific code symbols via semantic search and call-graph queries.6MIT