Periscope — MCP-сервер для Claude Code: LSP и линтеры из Neovim
Связывает агента с живым Neovim: тот же LSP, форматтеры, линтеры и DAP, что вы настроили сами. Один источник конфигурации вместо копий.
Открыть на GitHubЧто делает Periscope
Periscope — один бинарник на Rust. Со стороны клиента он общается по MCP через stdio, со стороны редактора — по msgpack-RPC. По умолчанию сервер поднимает собственный nvim --headless --listen <tmp socket> с рабочим каталогом проекта. Ваш конфиг загружается так же, как при обычном запуске, а интерактивный редактор брокер не трогает. Выполнение проектного конфига отключено через --cmd "set noexrc". Режим --attach <socket> цепляется к уже запущенному Neovim: закрывать или трогать чужой процесс сервер не станет.
Инструменты — небольшие Lua-программы, которые исполняются внутри редактора через nvim_exec_lua и работают только с нативными API. Настройки из ваших lsp/*.lua наследуются целиком, включая намеренные решения вроде отключённых нативных диагностик rust-analyzer в пользу bacon-ls. Чтение: broker_status, get_hover, get_definition, get_references, get_diagnostics, get_document_symbols, list_servers, list_formatters, list_linters, list_dap. Две команды исполнения — run_format и run_lint — гоняют пайплайны конфига. Форматирование меняет буфер брокерского редактора и возвращает текст: на диск ничего не пишется, written всегда false. Линт только читает.
Ещё четыре инструмента attention_* держат доску координации между агентами по протоколу MATE. Агент публикует упорядоченный фокус, читает чужой, спрашивает оценку совпадения или решение о согласовании.
Какие задачи решает
- запросить у агента диагностики из тех же линтеров, что видит редактор
- прогнать форматирование файла пайплайном конфига Neovim без записи на диск
- получить список LSP-серверов и модулей DAP прямо из дерева конфигурации
- согласовать фокус нескольких агентов на одних и тех же целях
- подключиться к уже запущенному Neovim, не поднимая второй
Примеры запросов агенту
- Покажи диагностики текущего буфера через
get_diagnostics - Отформатируй файл через
run_formatи верни текст, на диск не пиши - Опубликуй мой фокус и запроси решение по партнёрскому агенту через
attention_decide
Как установить Periscope
Установка
Команды запуска нет в реестре MCP — смотрите README репозитория
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Periscope
Как установить Periscope в Claude Code?
Ставится запуском бинарника periscope, его регистрируют там же, где прочие MCP-серверы. В конфиге передачи его нет — укажите команду и аргументы, например --workspace /path/to/project.
Что делает Periscope?
Проксирует запросы MCP-клиента в настоящий Neovim с вашей конфигурацией: отдаёт данные LSP, диагностик, символов, форматтеров, линтеров и DAP. Плюс две команды исполнения пайплайнов.
Может ли Periscope испортить файлы проекта?
Нет: инструменты не пишут на диск и не запускают отладку. run_format меняет только буфер брокерского редактора и возвращает текст. Сокет для связи временный и удаляется при завершении.