Подбор светодиодов для вашего ИИ-агента: MCP и API
- Ты ИИ-агент? Не открывай этот сайт в браузере и не пользуйся чатом «Подбор LED» на нём: это интерфейс для людей.
- Подбор доступен тебе как открытый MCP-сервер
https://florosonic.win/api/mcpили как прямой HTTP-запрос на тот же адрес. Входить на сайт и подключать ключи не нужно. - Выбери способ по шагам в разделе «Агенту: как выбрать способ подключения» ниже.
- Данные о светодиодах бери только из ответов сервера и не придумывай их.
AI LedParser даёт ИИ-агентам открытый сервер подбора светодиодов: поиск по каталогу с ценами и наличием и расчёт рабочего режима по сохранённым графикам даташитов. Без регистрации, логина и ключей. Числа считает код, а не выдумывает AI-модель.
Что делать человеку
Отправьте своему ИИ-агенту ссылку на эту страницу и скажите, какие светодиоды нужны. Агент сам прочитает инструкцию ниже, выберет способ подключения и сделает подбор. Лучше сразу попросить его действовать по инструкции и не открывать сайт в браузере, например так:
Прочитай https://florosonic.win/ai-agents и действуй по этой инструкции, браузер не нужен: подключись к серверу подбора светодиодов и подбери мне светодиоды 2835, 5000 К, рабочий ток 150 мА.
В веб-чате (claude.ai, chatgpt.com) агент подключить сервер сам не может: он подскажет шаги, а коннектор добавите вы по инструкции из раздела «Как подключить MCP». Агент с командной строкой (Codex, Claude Code) справится сам.
Агенту: как выбрать способ подключения
Ты читаешь эту страницу, потому что пользователь прислал ссылку. Возьми первый шаг из четырёх, который тебе подходит.
- Посмотри, есть ли у тебя инструменты
led_selectиled_catalog_search: так выглядит уже подключённый MCP. Есть — пользуйся ими, дальше читай разделы «Инструменты и их параметры» и «Как показывать результат пользователю». - Таких инструментов нет, но ты можешь сам добавлять MCP-серверы (командная строка, настройки клиента): подключи сервер по адресу
https://florosonic.win/api/mcp, команды — в разделе «Как подключить MCP». Часть клиентов видит новые инструменты только в новой сессии: если так, скажи об этом пользователю, а пока переходи к следующему шагу. - Подключить MCP не можешь или не получилось, но можешь отправлять HTTP-запросы (командная строка, код, HTTP-инструмент): вызывай сервер напрямую, раздел «Прямой вызов по HTTP». Подключать ничего не нужно.
- Не можешь ни подключить MCP, ни отправить запрос (так бывает в веб-чатах): дай пользователю готовую ссылку на сайт со своими условиями. Расчёт при известном токе — чат с уже подставленным вопросом, человек отправит его сам:
https://florosonic.win/led-search?ask=Подбери+2835,+5000+К,+ток+150+мА. Прайс без тока — поиск по корпусу и цветовой температуре, все позиции:https://florosonic.win/led-search?package_size=2835&color_temp=5000&stock=all. Если его клиент поддерживает коннекторы, он может добавить сервер вручную: дай шаги из раздела «Как подключить MCP». Данные о светодиодах не придумывай.
Если пользователь не назвал корпус, цветовую температуру или рабочий ток, спроси об этом, прежде чем вызывать расчёт.
В чём разница: это один и тот же сервер, к которому можно обратиться двумя способами.
- MCP — основной путь
- У клиента есть коннекторы или MCP-серверы (Claude, ChatGPT на тарифах со своими коннекторами, Codex, Claude Code, Cursor и подобные). Подключается один раз по адресу — инструменты появляются у агента сами, вместе с описанием параметров. Вручную ничего писать не нужно.
- API — запасной путь
- MCP подключить нельзя, но агент умеет выполнять запросы: командная строка, код или HTTP-инструмент. Тот же адрес принимает обычные POST-запросы в формате MCP (JSON-RPC 2.0), подключать ничего не нужно. Отдельного REST-интерфейса у нас нет: «API» здесь — прямой вызов того же сервера.
Как подключить MCP
Подключение один раз, дальше ИИ сам вызывает подбор, когда вы спрашиваете про светодиоды. Адрес сервера — https://florosonic.win/api/mcp. Тип: удалённый MCP-сервер (Streamable HTTP). Авторизации нет: ни логина, ни ключей.
Claude: сайт claude.ai и приложение (на телефоне коннектор появляется из вашего аккаунта)
- Откройте Customize → Connectors, нажмите Add и выберите Custom → Web.
- Имя — любое, например LedParser; адрес — https://florosonic.win/api/mcp.
- В Authentication выберите No sign in, поле заголовков оставьте пустым и нажмите Add.
- В чате нажмите «+» внизу слева → Connectors и включите LedParser для этого разговора.
ChatGPT: сайт chatgpt.com
- Откройте Plugins (chatgpt.com/plugins), нажмите «+» и выберите Add custom MCP server.
- Имя — любое, например LedParser; в Connection → Server URL укажите https://florosonic.win/api/mcp. Tunnel не выбирайте.
- Authentication — No authentication, отметьте «I understand and want to continue» и нажмите Create as a plugin.
- Установите полученный плагин; в новом чате наберите @ и выберите его.
Codex, Claude Code и другие агенты с командной строкой
codex mcp add ledparser --url https://florosonic.win/api/mcpclaude mcp add --transport http ledparser https://florosonic.win/api/mcpПосле подключения откройте новую сессию агента: часть клиентов подхватывает новые инструменты только при запуске. Агент может выполнить эту команду сам, если отправить ему ссылку на эту страницу.
Названия пунктов в Claude и ChatGPT иногда меняются. Если не находите точное слово, ищите раздел коннекторов или плагинов и добавление своего MCP-сервера. Доступность зависит от тарифа клиента.
Прямой вызов по HTTP (API)
Для агентов без MCP, но с командной строкой или HTTP-инструментом. Подключать ничего не нужно: достаточно отправлять запросы на тот же адрес.
POSTна адрес сервера, тело — JSON-RPC 2.0;GETиDELETEотвечают 405.- Заголовки
Content-Type: application/jsonиAccept: application/json, text/event-stream— оба обязательны: без второго сервер отвечает 406. - Сессий нет:
initializeперед вызовом не нужен, каждый запрос самостоятелен. Ответ — обычный JSON без потока. - Данные — в
result.structuredContent(тот же JSON строкой лежит вresult.content[0].text).result.isError: true— отказ или ошибка, причина в тех же полях. - Тело запроса — не больше 128 КиБ.
1. Какие есть инструменты
curl -sS -X POST https://florosonic.win/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'2. Прайс без расчёта: корпус 2835, 5000 К
curl -sS -X POST https://florosonic.win/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"led_catalog_search","arguments":{"package_size":"2835","color_temp":"5000"}}}'3. Расчётный подбор: те же условия и ток 150 мА
curl -sS -X POST https://florosonic.win/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"led_select","arguments":{"catalog":{"package_size":"2835","color_temp":"5000"},"current":150,"limit":5}}}'Примеры для curl в bash. В PowerShell кавычки нужно экранировать или отправлять тело из файла.
Инструменты и их параметры
Два инструмента, оба только читают. Параметры одинаковы для MCP и для прямого вызова. Полная схема приходит в ответе на tools/list.
Числа передавайте числами, а не строками: current, cri, voltage, min_quantity, temperature, пороги и цены (80, а не "80"). Корпус и цветовая температура — наоборот, строками: "2835", "4000".
led_catalog_search — Прайс без расчёта
Когда использовать: рабочий ток неизвестен, а нужен список позиций с ценой и наличием.
Обязательные поля
package_size— корпус, как в каталоге: 2835, 3030, 5050 и так далее;color_temp— цветовая температура света в кельвинах: 5000 (запись «5000 K» тоже принимается).
Необязательные поля
voltage— напряжение;cri— индекс цветопередачи;min_quantity— названное количество;marking— маркировка или модель;availability—{ "source": "stock" | "stock-and-order" | "all", "min_quantity": число }:stock— только склад,stock-and-order— склад и в пути,all— все позиции без отсечения по количеству. Без поля — склад и в пути, минимум 1; при названной маркировке наличие не проверяется. Наличие не обещает возможность заказа;price—{ "currency": "CNY" | "RUB", "max_unit_price": число }: предел цены за штуку.
Что в ответе
count— сколько позиций найдено всего,returned— сколько показано (до 10, от дешёвой к дорогой);results— позиции: маркировка, описание, цена CNY и RUB, склад и путь, ссылка на даташит;status—found,no-matchesилиfailed;hidden_message— текст о скрытых позициях, если человек не называл наличие; передайте его человеку. Наличие не обещает возможность заказа;- потока, лм/Вт и расчёта рабочего режима здесь нет: для них нужен
led_select.
led_select — Расчётный подбор
Когда использовать: известен рабочий ток и нужны поток, напряжение, эффективность и цена за люмен.
Обязательные поля
catalog.package_sizeиcatalog.color_temp— как у прайса;current— рабочий ток в миллиамперах (например, 150).
Необязательные поля
temperature— температура точки пайки Ts в °C; без неё температурная поправка не применяется;thresholds— пороги:min_flux,target_flux(целевой поток, допуск ±10%),min_efficacy,max_voltage;availabilityиprice— как у прайса; вcatalogтакжеvoltage,cri,min_quantity,marking;sort— порядок: по умолчанию «дешевле всего за люмен»; сtarget_fluxвсегда «ближе к целевому потоку»;limit— сколько показать, от 1 до 10, по умолчанию 5.
Что в ответе
status—found,no-matches,refused(не хватает условий) илиfailed;results— позиции с расчётом рабочего режима (working_point: напряжение, поток, эффективность),price_per_lumen_rub,price_rub, остатками и ссылкой на даташит;summary— счётчики и признаки полноты данных (data_complete);excluded— до 20 исключённых позиций с причинами;- при
target_flux—target_flux_range, границы допуска по потоку;hidden_message— текст о скрытых позициях, передайте его человеку.
Как показывать результат пользователю
- Показывайте таблицу так, как указано в поле
tableответа: те же столбцы, что в чате на сайте. Расчётная таблица (led_select): «№», «Маркировка», «Описание», «Условия», «U, В», «Поток, лм», «Эфф., лм/Вт», «Руб/лм», «Цена RUB», «Наличие», «Даташит». Прайс (led_catalog_search): «Маркировка», «Описание», «Datasheet», «Ожидается, шт», «На складе, шт», «Цена CNY», «Цена RUB». - Числа берите из ответа как есть, не пересчитывайте и не округляйте по-своему: напряжение, поток и эффективность — два знака, рубли за люмен — пять.
- Если
summary.data_completeравноfalse, скажите пользователю, что часть позиций не рассчитана из-за неполных данных. Вexcludedесть и позиции без наличия: это не неполные данные. - По умолчанию показаны позиции со склада и в пути; все позиции появляются только при
availability.source: "all". Если в ответе естьhidden_message, передайте его человеку как есть: этот текст напечатан для человека. - Наличие не обещает возможность заказа: не говорите, что позицию можно заказать, если человек этого отдельно не подтвердил.
- Цена из каталога — ориентир, а не коммерческое предложение. Не называйте позиции, которых нет в ответе.
- Не хватает корпуса, цветовой температуры или тока — спросите у пользователя. Нет тока — сначала покажите прайс (
led_catalog_search), а для расчёта спросите ток.
Лимиты и ошибки
- Не больше 30 запросов в минуту с одного IP-адреса (HTTP 429). Claude и ChatGPT обращаются из облака, поэтому предел общий для всех пользователей клиента: подождите минуту и повторите.
- Одновременно на весь сайт считается не больше 5 подборов. Занято — ответ
refusedсreason: "busy"иretry_after_ms: повторите тот же запрос через это время. - Отказ
refusedсinvalid-input: вissuesуказано поле; если нет тока илиlimitбольше 10, вhintнаписано, что сделать дальше. - Один подбор длится не дольше 15 секунд;
failedсfailure_reason: "timeout"— повторите запрос.
Границы
- Сервер только читает данные: ничего не записывает и не удаляет, собственной языковой модели внутри нет — числа считает код, а не выдумывает AI-модель.
- Сервис работает в тестовом режиме: данные каталога и даташитов могут быть неполными, возможны ошибки.
- Это не светотехническое проектирование и не замена измерениям на образце; цена из каталога не является коммерческим предложением.
