MCP-сервер и REST API FTIR.fun
Подключите FTIR.fun к вашему AI-ассистенту или конвейеру автоматизации. MCP-сервер для Claude/Cursor/Codex. REST API для пользовательских интеграций. Те же 130 000+ эталонных спектров и подкрепленная литературой AI-интерпретация во всех методах.
MCP-сервер — Claude, Cursor, Codex
MCP-сервер (Model Context Protocol) FTIR.fun проверен и официально внесен в реестры Anthropic MCP Registry, Smithery и MCP.so. Он предоставляет поиск FTIR-спектров, объяснение пиков с цитированием литературы по DOI и идентификацию материалов в виде вызываемых инструментов для любого совместимого с MCP клиента.
Быстрое подключение
Доступные инструменты
| Инструмент | Описание |
|---|---|
search_ftir_library | Поиск 130 000+ эталонных спектров по пикам или загруженному файлу. Возвращает ранжированные совпадения с номерами CAS и оценками сходства. |
search_public_ftir_results | Поиск результатов анализа, опубликованных сообществом, по ключевому слову. |
fetch_public_ftir_result | Получить конкретный публичный результат анализа FTIR по ID для детального просмотра. |
Карточка сервера и ссылки на реестры
- Server Card (JSON) — стандартная конечная точка обнаружения MCP-сервера
- Anthropic MCP Registry — официально внесено
- Smithery — проверено и опубликовано
- MCP.so — внесено
- PyPI (ftirfun-mcp) — Пакет Python
Плагин Coze — использование внутри Doubao
Open Doubao → Plugin Store → search "FTIR" or "红外分析" → tap Add. No configuration needed. Doubao will automatically route infrared-related queries to our spectral search engine.
Ключевые слова для поиска: 红外分析, FTIR, infrared, 光谱检索, 物质识别
REST API
API поиска по библиотеке
POST /v1/search
Поиск по спектральной библиотеке. Принимает файл (полное спектральное совпадение) или список пиков (совпадение по положению пиков). Если указано и то, и другое, приоритет имеет поиск по файлу.
Аутентификация
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| file_base64 | string | один из | Файл прибора в кодировке Base64 (поддерживает CSV, SPA, OPUS, SPC, JCAMP-DX и более 15 других форматов) |
| filename | string | с file_base64 | Исходное имя файла с расширением (например, sample.spa) |
| peaks | number[] | один из | Список волновых чисел пиков в см⁻¹ (например, [3026, 1601, 1493, 755]) |
| top_k | integer | нет (по умолчанию 10) | Количество возвращаемых результатов, макс. 50 |
| tolerance | integer | нет (по умолчанию 8) | Допуск совпадения пиков в см⁻¹, диапазон 1–30 |
Ответ
Пример — загрузка файла
Пример — список пиков
Анализ только с ИИ для существующих результатов
Используйте эту конечную точку только после того, как результат поиска уже существует. FTIR.fun сначала считывает или выполняет OCR предоставленного отчета, извлекает найденные кандидаты и таблицу пиков образца, затем запускает последующий анализ на основе графов знаний и литературы.
POST /ftir/analyze_existing_results
Отчет должен содержать как список найденных результатов поиска, так и таблицу пиков образца. Эта конечная точка не выполняет поиск по спектральной библиотеке самостоятельно.
Аутентификация
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| report_text | string | один из | Простой текст, скопированный из существующего отчета прибора или библиотеки. Текст должен включать как найденные результаты, так и таблицу пиков образца. |
| report_file_base64 | string | один из | Файл отчета в кодировке Base64. Поддерживаемые форматы: PDF, DOC, DOCX, TXT, CSV, PNG, JPG, JPEG, WEBP, GIF, BMP, TIF, TIFF. |
| report_filename | string | с report_file_base64 | Исходное имя файла отчета с расширением (например, report.pdf или report.docx). |
| user_background_text | string | нет | Необязательный фон образца. Он рассматривается только как мягкий контекст и не является доказательством. |
Жесткая граница входных данных
- Обязательный элемент 1: по крайней мере один найденный кандидат результата поиска, например, совпадение Top1 или список Top15
- Обязательный элемент 2: список пиков образца или таблица пиков в см-1 из того же отчета
- Если какой-либо элемент отсутствует, конечная точка возвращает HTTP 422 и не генерирует аналитический отчет
Успешный ответ
Ответ при отсутствии входных данных
Пример — существующий текст отчета
Пример — существующий файл отчета
Коды ошибок
| HTTP статус | Значение |
|---|---|
| 200 | Успех |
| 401 | Отсутствует или неверный ключ API |
| 422 | Недопустимое тело запроса, неподдерживаемый формат отчета или отсутствие обязательных элементов отчета |
| 500 | Ошибка на стороне сервера |