Подключите FTIR.fun к любому AI-инструменту или приложению
Предоставьте вашему ИИ-помощнику или вашему коду прямой доступ к более чем 130 000 эталонных спектров, рассуждениям на основе графа знаний о пиках и интерпретации, подкрепленной литературой. Выберите один из трех способов подключения — MCP для ИИ-помощников, REST API для кода или готовый навык для платформ без кода. Каждый путь ниже содержит пошаговые инструкции, написанные для новичков.
MCP и REST API используют один ключ API FTIR.fun. Coze/Doubao использует сервисный ключ, настроенный издателем плагина, поэтому конечные пользователи не вставляют личный ключ. Получение личного ключа занимает около минуты:
Войти в FTIR.funСоздайте бесплатную учетную запись, если у вас ее нет. Новые учетные записи включают бесплатные пробные кредиты.
Скопируйте и сохраните ключ сразуПолный ключ (начинается с ftir_) отображается только один раз. Сохраните его в безопасном месте. Если вы его потеряете, просто создайте новый.
⚠️Размещенный MCP-сервер принимает только ключ API учетной записи, сгенерированный в панели управления ключами API FTIR.fun (начинается с ftir_). Серверные мастер-ключи предназначены для операторов REST и не могут войти в размещенный MCP.
Шаг 1 — Какое подключение подходит вам?
Все три подключаются к одному движку: 130 000+ спектров, рассуждения на основе графа знаний и ссылки на литературу. Вам нужен только один. Выбирайте по своему стилю работы — не уверены? MCP — самый популярный выбор для тех, кто использует AI-ассистента.
MCPПуть A — MCP-сервер
MCP (Model Context Protocol) — это стандартный способ для AI-ассистентов вызывать внешние инструменты. FTIR.fun запускает хостируемый MCP-сервер — вам не нужно ничего устанавливать или запускать локально. Вы добавляете небольшую конфигурацию в ваш AI-клиент, вводите ключ API, и ваш ассистент получает семь FTIR-инструментов.
✓Как работает вход (прочитайте это сначала):
FTIR.fun аутентифицируется с помощью API-ключа из вашей учетной записи, отправляемого в заголовке Authorization: Bearer. Нет входа через браузер OAuth и отдельной страницы авторизации. Если клиент когда-либо попытается открыть веб-страницу авторизации, он использует устаревшую конфигурацию — см. Устранение неполадок ниже.
Выберите свой клиент для точных шагов:
VS
Настройте FTIR.fun MCP в VS Code
Требуется актуальная версия VS Code с GitHub Copilot Chat в режиме агента.
Откройте проект, затем создайте файл .vscode/mcp.jsonВнутри папки вашего проекта создайте папку с именем .vscode (если её нет) и файл с именем mcp.json внутри неё. Хотите, чтобы FTIR.fun был доступен в каждом проекте? Поместите тот же JSON в настройки пользовательского уровня: откройте Палитру команд, найдите 'Preferences: Open User Settings (JSON)' и добавьте запись mcp.servers туда.
Вставьте эту точную конфигурациюСкопируйте как есть. Не заменяйте часть ${input:...} своим настоящим ключом — VS Code запросит ключ безопасно при запуске сервера.
Запустите сервер ftirfunОткройте палитру команд, выполните «MCP: List Servers», выберите ftirfun и нажмите Start. В некоторых версиях VS Code действие Start отображается прямо над сервером в mcp.json — это тоже работает.
Вставьте только ваш ключ API при запросеКогда VS Code запросит ftirfun-api-key, вставьте только сам ключ (начинается с ftir_). Не вводите слово Bearer — конфигурация добавит его автоматически.
Подтвердите, что подключеноОткройте Copilot Chat в режиме агента и проверьте список инструментов. FTIR.fun должен показывать семь инструментов. Затем попробуйте тестовый запрос ниже.
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬Раньше видели страницу авторизации или ошибку «страница авторизации не существует»? Это была устаревшая конфигурация в стиле OAuth. Удалите старую запись ftirfun, вставьте приведенный выше JSON, перезагрузите VS Code и запустите снова. Полное исправление в разделе «Устранение неполадок».
A
Настройте FTIR.fun MCP в Claude
Официально зарегистрирован в Anthropic MCP Registry. Работает в Claude Desktop и Claude Code.
Открыть настройки MCP-сервераВ Claude Desktop перейдите в Настройки → Коннекторы → Добавить пользовательский коннектор. В Claude Code отредактируйте ваш файл конфигурации MCP.
Добавьте удаленный сервер и заголовок BearerИспользуйте размещенный URL и добавьте ваш API-ключ в качестве заголовка Authorization. Замените заполнитель на ваш реальный ключ (начинается с ftir_).
Перезапустите Claude и подтвердитеПерезапустите Claude Desktop, откройте панель коннекторов/инструментов и убедитесь, что инструменты FTIR.fun отображаются. Затем задайте вопрос на простом языке.
Identify this polymer from its FTIR peaks: 2915, 1715, 1450 cm-1.
📎Предпочитаете Claude Code CLI? Выполните claude mcp add --transport http ftirfun https://ftir.fun/mcp --header "Authorization: Bearer ftir_your_key_here".
Cu
Настройте FTIR.fun MCP в Cursor
Отредактируйте конфигурацию MCP в Cursor, чтобы ваш ИИ-редактор кода мог вызывать FTIR.fun, не выходя из IDE.
Откройте файл конфигурации MCPСоздайте или отредактируйте ~/.cursor/mcp.json (глобальный) или .cursor/mcp.json внутри вашего проекта.
Вставьте серверный блокЗамените заполнитель на ваш реальный ключ (начинается с ftir_).
Перезагрузите Cursor и подтвердитеСнова откройте Cursor, проверьте Settings → MCP для сервера ftirfun и его зеленый статус, затем спросите в чате.
Cx
Настройте FTIR.fun MCP в Codex или любой MCP-платформе
Работает с OpenAI Codex и любым MCP-совместимым клиентом, поддерживающим удаленные HTTP-серверы.
Добавьте сервер в вашу конфигурацию CodexУкажите клиенту URL хостинга и убедитесь, что он отправляет ваш API-ключ в заголовке Bearer. Замените заполнитель на ваш реальный ключ.
Перезапустите Gemini CLI и подтвердитеЗапустите /mcp, чтобы вывести список серверов и убедиться, что ftirfun подключен, прежде чем вводить запрос.
🧩Используете другой MCP-клиент? Любой клиент, поддерживающий удаленный streamable-HTTP сервер, подойдет: установите URL на https://ftir.fun/mcp и отправлять Authorization: Bearer <your key>. См. карточку публичного сервера для полной схемы инструмента: server-card.json
✓После успешного подключения ваш ИИ-клиент должен перечислить эти 7 инструментов:parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
Если вы видите меньше инструментов или их нет, проверьте раздел Устранение неполадок ниже.
APIПуть B — REST API
Вызывайте FTIR.fun из вашего кода на любом языке — Python, JavaScript, R, MATLAB, Java, Go. Стандартные HTTP-конечные точки для идентификации неизвестных спектров, объяснения пиков, поиска эталонных спектров и получения предыдущего результата по номеру отчета. Идеально подходит для интеграции с LIMS, пакетных конвейеров или добавления поиска FTIR в ваше приложение.
Проверьте, что REST-сервис онлайнКонечная точка health является общедоступной и не расходует баллы. Она должна возвращать JSON ниже. Если вы видите HTML-страницу или тайм-аут, возможно, сервис временно недоступен.
curl
curl https://ftir.fun/health
Ожидаемый ответ
{"status":"ok","service":"ftirfun-api"}
Аутентифицируйтесь с помощью заголовка X-API-KeyКаждая защищенная конечная точка принимает ваш ключ в заголовке X-API-Key. Применяются те же правила учетной записи, что и в веб-приложении: баллы, подписка и ограничения скорости. Если ключ неверен или отсутствует, вы получите ошибку 401 в формате JSON.
Заголовок авторизации
X-API-Key: ftir_your_key_here
Сделайте первый вызов — определите неизвестный спектрОтправьте список пиков (или загруженный файл) и получите ранжированные кандидаты с оценками сходства и доказательствами пиков. Блок опций необязателен — по умолчанию top_k=15 (диапазон 1–50) и tolerance_cm1=8 (диапазон 1–30).
{
"success": true,
"search_mode": "peak_only",
"n_matches": 5,
"confidence": 0.42,
"confidence_source": "peak_match_score",
"summary": "Peak-based FTIR matching ranks Styrene/acrylonitrile copolymer first...",
"matches": [
{"rank": 1, "name": "Styrene/acrylonitrile copolymer", "cas": "9003-54-7",
"num": 119319, "score": 0.4214, "matched": 6}
],
"evidence": ["3026 cm-1 -> alkyl C-H vibration (DOI 10.5650/jos.ess14201)"],
"peak_explanations": [
{"peak_cm1": 3026, "assignment": "alkyl C-H vibration",
"evidence_type": "kg_peak_group"}
],
"uncertainty": "The leading match is close to the runner-up..."
}
Изучите остальные конечные точкиПолный справочник охватывает каждый конечный пункт, форматы запросов и ответов, коды ошибок и другие примеры кода. См. Документация API.
Что вы хотите
Конечная точка
Ввод
Идентифицировать неизвестный спектр
POST /ftir/analyze_spectrum
Тело JSON с spectrum.peaks или file_base64
Объяснить один или несколько пиков
POST /ftir/explain_peak_assignments
JSON-тело со списком пиков или текстом запроса
Найти известный эталонный спектр
POST /ftir/find_spectra
JSON-тело с строкой запроса
Получить предыдущий результат по номеру отчета
GET /ftir/result/{result_num}
Параметр пути, необязательный ?language_code=en
Отправьте полный асинхронный отчет, затем опрашивайте его
POST /ftir/reports · GET /ftir/reports/{task_id}
JSON-тело с file_base64 (обязательно)
Разобрать файл прибора на пики
POST /parse-spectrum
Загрузка multipart файла ИЛИ JSON с file_base64
Справочник ключевых параметров
Параметр
Тип
По умолчанию
Диапазон
Используется
top_k
int
15
1–50
analyze_spectrum
tolerance_cm1
int
8
1–30
analyze_spectrum
limit
int
10
1–20
find_spectra
sampling_mode
string
(пусто)
См. список ниже
reports, explain_peaks
language_code
string
"en"
ISO 639-1
reports, fetch_result
include_report
bool
true
—
get_ftir_report_status
📘Создаете пользовательского GPT или импортируете в другой инструмент? Импортируйте нашу схему OpenAPI напрямую: openapi.platform.yaml.
Разбор файла инструмента (два способа)
Конечная точка /parse-spectrum принимает либо загрузку multipart файла, либо JSON-тело с содержимым в кодировке base64. Оба возвращают одинаковый ответ: обнаруженные пики и полную кривую.
Для популярных платформ ИИ и автоматизации мы поставляем готовые пакеты, так что вам не нужно писать API-вызовы вручную. Установите пакет или импортируйте плагин, и FTIR.fun станет строительным блоком в вашем рабочем процессе. Каждая карточка ниже точно говорит, что запустить или импортировать.
LC
LangChain
Пакет Python · PyPI
Опубликовано
Готовые инструменты для создания агентов с поддержкой FTIR. Обрабатывает кодирование Base64, повторные попытки и асинхронные вызовы за вас.
Установить
pip install langchain-ftirfun
Минимальный вызов
from langchain_ftirfun import explain_peaks
result = explain_peaks(
api_base_url="https://ftir.fun",
api_key="ftir_your_key_here",
peaks=[1715],
)
print(result)
Импортируйте FTIRFUN_TOOLS, чтобы получить все семь функций в списке. Каждая функция принимает api_base_url и api_key в качестве первых двух аргументов.
Плагин Coze cloud опубликован с тремя инструментами: спектральный анализ, поиск по справочной библиотеке и объяснение пиков. Конечные пользователи могут использовать его напрямую в Doubao без настройки каких-либо ключей API.
Квота отслеживается для каждого пользователя через Coze sys_uuid. Плагин использует ключ службы, настроенный издателем.
GPT
ChatGPT
Пользовательский GPT · Действия GPT
Схема готова
Создайте пользовательского GPT, который анализирует спектры, объясняет пики и находит эталонные спектры. Импортируйте нашу схему OpenAPI в качестве действия. Требуется ChatGPT Plus.
Импортировать URL
https://ftir.fun/openapi.platform.yaml
В редакторе GPT: Configure → Actions → Import from URL. Установите аутентификацию как API Key (заголовок X-API-Key).
Текущие дистрибутивы MCP, REST, n8n и LangChain предоставляют семь операций. Опубликованный плагин Coze предоставляет три инструмента (анализировать, найти, объяснить), а другие шаблоны могут предоставлять меньший объявленный набор; перед использованием проверьте карточку каждой платформы. Приведенные ниже операции используют одни и те же службы FTIR.fun.
Задача
Инструмент MCP
REST-эндпоинт
Скажите это вашему ИИ
Прочитать файл прибора
parse_ftir_spectrum
POST /parse-spectrum
Разобрать sample.spc и перечислить обнаруженные пики.
Идентифицировать неизвестный спектр
analyze_ftir_spectrum
POST /ftir/analyze_spectrum
Определите, какой полимер представляет этот спектр.
Отправить полный трехосевой отчет
submit_ftir_report
POST /ftir/reports
Отправьте sample.spa для полного отчета в режиме ATR.
Опрашивайте и получайте этот отчет
get_ftir_report_status
GET /ftir/reports/{task_id}
Проверьте задачу отчета и дайте мне ссылку, когда она будет готова.
Объяснить пики
explain_peaks
POST /ftir/explain_peak_assignments
О чем свидетельствуют пики на 1715 и 1450 см-1?
Найти известный эталонный спектр
find_spectra
POST /ftir/find_spectra
Найдите эталонные спектры для полистирола.
Откройте более ранний результат заново
fetch_result
GET /ftir/result/{result_num}
Получить результат 20260528100755416137536.
Поддерживаемые файлы: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Допустимые значения sampling_mode: KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR и Others. Transmission не является допустимым значением. Сохраняйте исходное расширение файла, чтобы FTIR.fun выбрал правильный парсер.
{
"success": true,
"search_mode": "peak_explanation",
"peak_explanations": [
{"peaks_cm1": [1715, 1450],
"assignment": "1715 cm-1 suggests C=O stretching (ester or carboxylic acid)...",
"evidence_type": "llm_general_knowledge"}
],
"summary": "Peak explanation based on general FTIR knowledge..."
}
Получение полного отчета (асинхронно)
Быстрый скрининг (analyze_spectrum) возвращается немедленно. Полный трехосный отчет выполняется в фоновом режиме и обычно занимает 30–90 секунд. Не отправляйте повторно, пока выполняется отчет — сохраните task_id и опрашивайте его.
ОтправитьВызовите submit_ftir_report (MCP) или POST /ftir/reports (REST). Вы получите task_id и зарезервированный result_num. Поле file_base64 обязательно; другие поля (sampling_mode, prior_context, language_code, sample_name, sample_order_no) необязательны.
ОпросВызывайте get_ftir_report_status (MCP) или GET /ftir/reports/{task_id} каждые 5–10 секунд, пока completed не станет true. Ответ при завершении включает report_url, report_view (структурированное содержимое отчета) и result_num.
Открыть итоговый отчетОткройте полный URL https://ftir.fun/outputdata/?num={result_num} в браузере, чтобы просмотреть полную страницу результатов трехосного анализа, созданную FTIR.fun.
⚠️Не отправляйте тот же отчет повторно, пока он находится в очереди или выполняется. Сохраните task_id и продолжайте опрашивать, пока он не завершится или не будет ошибка. Дублирующие отправки тратят баллы.
Устранение неполадок
Что вы видите
Что это значит
Что делать
Клиент открывает страницу авторизации в браузере или сообщает, что страница авторизации не существует.
Ваш клиент использует старую запись сервера в стиле OAuth. FTIR.fun не использует OAuth — только API-ключ.
Удалите старую запись сервера ftirfun, вставьте точную конфигурацию с этой страницы, перезагрузите клиент и снова запустите ftirfun.
401 (MCP) / 401 invalid_api_key (REST)
API-ключ отсутствует, истек, отозван или вставлен неправильно.
Перезапустите сервер и вставьте только сырой ключ (начинается с ftir_). Создайте новый ключ из Панель управления ключами API если необходимо.
Сервер запускается, но инструменты не появляются.
Клиент не обновил свой каталог, или в конфигурации используется неверное имя ключа.
Для VS Code убедитесь, что mcp.json использует servers (не mcpServers). Затем остановите и запустите ftirfun или перезагрузите окно.
403 insufficient_balance
У аккаунта недостаточно баллов для этого анализа.
Проверьте баланс или подписку в FTIR.fun, затем повторите попытку.
429 rate_limit_exceeded
Анализ и синтаксический разбор REST разрешают 60 запросов в минуту на один ключ API; чтение результатов REST и статусов отчетов использует отдельный блок на 120 запросов в минуту; MCP разрешает 60 вызовов в минуту для каждого ключа API и инструмента.
Дождитесь периода повторной попытки, указанного инструментом, прежде чем вызывать снова.
Отчет остается в очереди или выполняется.
Полные отчеты выполняются асинхронно и занимают больше времени, чем быстрый поиск.
Сохраните тот же task_id и продолжайте опрос. Не создавайте дублирующие задачи отчетов.
422 или missing_input
Тело запроса не содержит обязательных полей или имеет неверный формат. Для analyze_spectrum необходимо указать хотя бы одно из: peaks, query или file_base64.
Убедитесь, что ваш JSON корректен, Content-Type равен application/json, и присутствуют обязательные поля. Смотрите примеры запросов выше.
413 file_too_large
Загруженный файл спектра превышает ограничение по размеру.
Экспортируйте файл меньшего размера или используйте только позиции пиков через поле spectrum.peaks.
Готовы приступить к разработке?
Полная справка по REST содержит все конечные точки, форматы запросов и ответов, аутентификацию, ограничения скорости, коды ошибок, определения инструментов MCP и примеры кода на Python и curl.
Учреждения, приглашенные в 7-дневную пробную программу, могут ввести свой код приглашения ниже, чтобы получить учетную запись и пароль. Пожалуйста, сохраните свои учетные данные в безопасности после активации.
Для приглашенных учрежденийВведите код, предоставленный вашим учебным заведением или нашей командой по работе с общественностью.
Получить аккаунт и парольПосле активации вы получите имя пользователя и пароль — немедленно сохраните их.
Полный доступ на 7 днейНаслаждайтесь неограниченным доступом ко всем функциям в течение 7 дней с момента активации.
Аккаунт создан!
Имя пользователя
Пароль
Истекает
Для других пользователей
Войдите в систему и поделитесь своей пригласительной ссылкой с коллегами, однокурсниками и друзьями. Каждая успешная регистрация приносит вам дополнительное пробное использование.