SRS Lock-in Amplifier — MCP-сервер для Claude Code
Даёт агенту доступ к усилителям Stanford Research Systems: чтение X/Y/R/θ, настройка частоты, фазы и чувствительности, частотные свипы.
claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio srs-lockin -- uvx labmcp-srs-lockinЧто делает SRS Lock-in Amplifier
Сервер работает с DSP-усилителями Stanford Research Systems — как с классическими SR810/SR830, так и с актуальными SR860/SR865A. Агент читает X, Y, R и θ одним снимком, задаёт опорную частоту, гармонику и фазу, уровень возбуждения, чувствительность и постоянную времени, запускает автофазу и автодиапазон. Отдельный инструмент прогоняет частотный свип от начальной до конечной частоты, дожидаясь успокоения фильтра в каждой точке, и пишет X/Y/R/θ в новый CSV-файл.
Подключение идёт через GPIB (VISA) или RS-232; у SR86x есть ещё USB (USBTMC) и Ethernet (VXI-11). Модель определяется по *IDN?, при необходимости её переопределяют опцией --option model=. Для GPIB нужен бэкенд VISA: pyvisa-py подходит большинству USB-GPIB адаптеров, NI-VISA вызывается через ?backend=@ivi. На RS-232 у SR830 ответы заканчиваются CR, а у SR86x — LF, поэтому для SR86x на этом интерфейсе передают --option model=sr860 либо переключают терминатор прибора на CR.
Проверить всё можно без железа: запуск с --simulate поднимает симулятор, где свип от 9 до 11 кГц показывает резонансный пик. Флаг --read-only разрешает чтение показаний и настроек, но блокирует любые изменения и выход синуса. Установка уровня выше лимита max_amplitude_v отклоняется, а set_amplitude_minimum у SR810/SR830 опускает выход только до 4 mV rms — до нуля он не идёт, так что при требовании полностью убрать возбуждение кабель придётся отключить.
Какие задачи решает
- снять X, Y, R и θ одним согласованным снимком
- задать опорную частоту, гармонику и сдвиг фазы
- подобрать чувствительность под текущий сигнал
- записать частотный свип в CSV для поиска резонанса
- переключить вход на A-B или токовую схему с нужной связью
Примеры запросов агенту
- Подключись к усилителю и покажи текущие X, Y, R и θ
- Задай опорную частоту 10 кГц и запусти автофазу
- Прогони свип от 9 до 11 кГц и сохрани результат в новый CSV
Как установить SRS Lock-in Amplifier
Командой платформы
claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio srs-lockin -- uvx labmcp-srs-lockinВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from labmcp-srs-lockin <команда>
Командой платформы
codex mcp add srs-lockin --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> -- uvx labmcp-srs-lockinВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from labmcp-srs-lockin <команда>
Файл настроек
{
"mcpServers": {
"srs-lockin": {
"command": "uvx",
"args": [
"labmcp-srs-lockin"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from labmcp-srs-lockin <команда>
Файл настроек
{
"servers": {
"srs-lockin": {
"type": "stdio",
"command": "uvx",
"args": [
"labmcp-srs-lockin"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from labmcp-srs-lockin <команда>
Командой платформы
gemini mcp add -e LABMCP_ADDRESS=<LABMCP_ADDRESS> -e LABMCP_SIMULATE=<LABMCP_SIMULATE> -e LABMCP_READ_ONLY=<LABMCP_READ_ONLY> -e LABMCP_LIMITS=<LABMCP_LIMITS> srs-lockin uvx labmcp-srs-lockinВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from labmcp-srs-lockin <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о SRS Lock-in Amplifier
Как установить SRS Lock-in Amplifier в Claude Code?
Добавьте сервер командой claude mcp add labmcp-srs-lockin -- uvx labmcp-srs-lockin. Если нужны адрес прибора, режим симуляции, read-only или лимиты, используйте вариант с переменными окружения: `claude mcp add --env LABMCP_ADDRESS=<LABMCP_ADDRESS> --env LABMCP_SIMULATE=<LABMCP_SIMULATE> --env LABMCP_READ_ONLY=<LABMCP_READ_ONLY> --env LABMCP_LIMITS=<LABMCP_LIMITS> --transport stdio srs-lockin -- uvx labmcp-srs-lockin`.
Что делает SRS Lock-in Amplifier?
Позволяет агенту читать выходы усилителя, менять параметры опоры, входа и выхода, запускать автонастройки и записывать частотные свипы. Работает с SR810/SR830 и SR860/SR865A.
Можно ли попробовать без прибора?
Да, запуск с --simulate поднимает симулятор обоих наборов команд. В нём свип от 9 до 11 кГц даёт резонансный пик.