nautilus-trader MCP server
nautilus-trader MCP сервер
Что это такое
MCP (Model Context Protocol) сервер, который дает LLM (Claude Code, Codex CLI и т.д.) два способа поиска информации в nautilus_trader при написании торгового кода на его основе:
Поиск по коду (
index.py) -- структурный поиск по исходному коду (Python + Rust), по имени символа. Это не нечеткий текстовый/эмбеддинговый поиск: он находит реальный класс/функцию/структуру и возвращает их docstring или полный исходный код.Поиск по документации (
rags/) -- семантический (на основе эмбеддингов) поиск по markdown-документации проекта (концепции, руководства, туториалы), для вопросов вида "как мне...", которые не сводятся к одному имени символа.
Related MCP server: MCPyDoc
Как это работает
index.pyзапускает два настоящих языковых сервера как подпроцессы и общается с ними напрямую по LSP (JSON-RPC через stdio) --pylspдля Python-исходников вnautilus_trader/python/nautilus_trader,rust-analyzerдля Rust-исходников вnautilus_trader/crates.documentSymbolнаходит классы/функции/структуры/impl верхнего уровня;hoverполучает docstring (только для Python -- см. Известные ограничения). Результаты кэшируются в.code_index_cache.json, так как построение занимает ~25 секунд (в основном rust-analyzer на ~2600 файлах).rags/rag_build.pyразбивает каждый файл вdocs/на чанки и строит индексdspy.retrievers.Embeddings(эмбеддинги Gemini), сохраняемый вrags/(config.json+corpus_embeddings.npy), а такжеshape.json, который записывает исходную структуру папок, чтобыrags/search.pyмог фильтровать по подпапке.mcp_server.pyподключает оба механизма к 5 MCP-инструментам:search_code,get_code_doc,get_code_source,search_docs,show_doc_keys.
Установка
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 идемпотентен: при повторном запуске он пропускает клонирование nautilus_trader,
копирование docs/ и (платную) сборку эмбеддингов документации, если они уже существуют.
Задайте ENV_NAME=<имя>, чтобы использовать другое имя conda-окружения (используется
для тестирования, чтобы не затрагивать реальное окружение mcp).
Менеджер окружений не обязателен -- uv venv && uv pip install -e . тоже работает;
install.sh просто стандартизирует установку на conda для воспроизводимой
однокомандной настройки.
Регистрация в клиенте
./add_claude.sh # claude mcp add
./add_codex.sh # codex mcp addОба варианта просто указывают клиенту на <conda mcp env>/bin/python3 mcp_server.py через stdio.
Известные ограничения / TODO
У
.code_index_cache.jsonиrags/{config.json,corpus_embeddings.npy,shape.json}нет инвалидации -- еслиnautilus_trader/илиdocs/изменятся, вам придется вручную удалить файлы кэша и перезапустить, чтобы изменения подхватились.Нет автоматических тестов -- все проверялось вручную (свежее conda-окружение, свежее uv-окружение, реальный MCP-клиент через stdio).
nautilus_trader/клонируется изmain(без закрепления версии) -- может дрейфовать со временем; сейчас ничто не проверяет его на соответствие известному хорошему коммиту/тегу.
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