Integracja deweloperska i AI

Podłącz FTIR.fun do dowolnego narzędzia lub aplikacji AI

Daj swojemu asystentowi AI lub własnemu kodowi bezpośredni dostęp do ponad 130 000 widm referencyjnych, wnioskowania o pikach opartego na grafie wiedzy i interpretacji popartej literaturą. Wybierz jeden z trzech sposobów połączenia — MCP dla asystentów AI, REST API dla kodu lub gotową umiejętność dla platform no-code. Każda ścieżka poniżej zawiera instrukcje krok po kroku napisane dla początkujących użytkowników.

Recenzowane i umieszczone na

Zanim zaczniesz — uzyskaj klucz API

Zarówno MCP, jak i REST API używają jednego klucza API FTIR.fun. Coze/Doubao używa klucza usługi skonfigurowanego przez wydawcę wtyczki, więc użytkownicy końcowi nie wklejają klucza osobistego. Uzyskanie klucza osobistego zajmuje około minutę:

  1. Zaloguj się do FTIR.fun Utwórz darmowe konto, jeśli go nie masz. Nowe konta obejmują darmowe kredyty próbne.
  2. Otwórz panel kluczy API Przejdź do Konto → Klucze API i kliknij Generuj.
  3. Skopiuj i zapisz klucz natychmiast Pełny klucz (zaczyna się od ftir_) jest wyświetlany tylko raz. Przechowuj go w bezpiecznym miejscu. Jeśli go zgubisz, po prostu wygeneruj nowy.
🔑 Gotowy? Otwórz panel kluczy API w nowej karcie, a następnie wróć i postępuj zgodnie ze ścieżką wybraną powyżej.
⚠️ Hostowany serwer MCP akceptuje tylko klucz API konta wygenerowany w panelu FTIR.fun API Keys (zaczyna się od ftir_). Klucze główne po stronie serwera są przeznaczone dla operatorów REST i nie mogą logować się do hostowanego MCP.

Krok 1 — Które połączenie jest dla Ciebie odpowiednie?

Wszystkie trzy łączą się z tym samym silnikiem: ponad 130 000 widm, wnioskowanie z grafów wiedzy i cytowania literatury. Potrzebujesz tylko jednego. Wybierz według tego, jak pracujesz — nie jesteś pewien? MCP to najpopularniejszy wybór dla każdego, kto korzysta z asystenta AI.

Co Twoja AI faktycznie może zrobić

Obecne dystrybucje MCP, REST, n8n i LangChain udostępniają siedem operacji. Opublikowany plugin Coze udostępnia trzy narzędzia (analyze, find, explain), a inne szablony mogą udostępniać mniejszy zadeklarowany zestaw; sprawdź każdą kartę platformy przed użyciem. Poniższe operacje korzystają z tych samych usług FTIR.fun.

Zadanie Narzędzie MCP Punkt końcowy REST Powiedz to swojemu AI
Odczytaj plik instrumentu parse_ftir_spectrum POST /parse-spectrum Przetwórz sample.spc i wymień wykryte piki.
Zidentyfikuj nieznane widmo analyze_ftir_spectrum POST /ftir/analyze_spectrum Zidentyfikuj, jakim polimerem jest to widmo.
Prześlij pełny raport trójosiowy submit_ftir_report POST /ftir/reports Prześlij sample.spa, aby uzyskać pełny raport w trybie ATR.
Odpytywaj i pobieraj ten raport. get_ftir_report_status GET /ftir/reports/{task_id} Sprawdź zadanie raportu i podaj mi link po zakończeniu.
Wyjaśnij piki explain_peaks POST /ftir/explain_peak_assignments Co wskazują piki przy 1715 i 1450 cm-1?
Znajdź znane widmo referencyjne find_spectra POST /ftir/find_spectra Znajdź widma referencyjne dla polistyrenu.
Otwórz ponownie wcześniejszy wynik fetch_result GET /ftir/result/{result_num} Pobierz wynik 20260528100755416137536.

Obsługiwane pliki: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Prawidłowe wartości sampling_mode to KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR i Others. Transmisja nie jest prawidłową wartością. Zachowaj oryginalne rozszerzenie pliku, aby FTIR.fun wybrał odpowiedni parser.

przykład odpowiedzi find_spectra

odpowiedź find_spectra
{
  "success": true,
  "query": "polystyrene",
  "match_mode": "synonym",
  "match_count": 3,
  "summary": "Found 3 reference spectrum candidates for 'polystyrene'.",
  "results": [
    {"num": 555, "spectrum_number": 555, "name": "PS/PPO",
     "cas": "-", "source_type": "direct_read:spa",
     "peaks": [697, 756, 1028, ...], "x": [...], "y": [...]}
  ]
}

przykład odpowiedzi explain_peaks

odpowiedź explain_peaks
{
  "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..."
}

Uzyskiwanie pełnego raportu (async)

Szybkie badanie (analyze_spectrum) zwraca wynik natychmiast. Pełny raport tri-axis działa w tle i zwykle trwa 30–90 sekund. Nie przesyłaj ponownie, gdy raport jest uruchomiony — zachowaj task_id i sonduj go.

  1. Wyślij Wywołaj submit_ftir_report (MCP) lub POST /ftir/reports (REST). Otrzymujesz task_id i zarezerwowane result_num. Pole file_base64 jest wymagane; inne pola (sampling_mode, prior_context, language_code, sample_name, sample_order_no) są opcjonalne.
    Przykład przesyłania (REST)
    curl -X POST https://ftir.fun/ftir/reports \
      -H "X-API-Key: ftir_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{"file_base64": "V2F2ZW51bWJlci...", "filename": "sample.spa", "sampling_mode": "ATR", "language_code": "en"}'
    Prześlij odpowiedź
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. Ankieta Wywołuj get_ftir_report_status (MCP) lub GET /ftir/reports/{task_id} co 5–10 sekund, aż completed będzie true. Odpowiedź po zakończeniu zawiera report_url, report_view (strukturalna treść raportu) i result_num.
    Przykład sondowania
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Odpowiedź sondowania (w toku)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Odpowiedź poll (zakończone)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Otwórz końcowy raport Otwórz pełny adres URL https://ftir.fun/outputdata/?num={result_num} w przeglądarce, aby wyświetlić pełną stronę wyników tri-axis wyrenderowaną przez FTIR.fun.
⚠️ Nie przesyłaj tego samego raportu ponownie, gdy jest w kolejce lub jest uruchomiony. Zachowaj task_id i kontynuuj sondowanie, aż zostanie zakończony lub nie powiedzie się. Zduplikowane zgłoszenia marnują punkty.

Rozwiązywanie problemów

Co widzisz Co to oznacza Co robić
Klient otwiera stronę autoryzacji w przeglądarce lub informuje, że strona autoryzacji nie istnieje. Twój klient używa starego wpisu serwera w stylu OAuth. FTIR.fun nie używa OAuth — tylko klucza API. Usuń stary wpis serwera ftirfun, wklej dokładną konfigurację z tej strony, przeładuj klienta i uruchom ftirfun ponownie.
401 (MCP) / 401 invalid_api_key (REST) Klucz API brakuje, wygasł, został unieważniony lub wklejony nieprawidłowo. Uruchom ponownie serwer i wklej tylko surowy klucz (zaczynający się od ftir_). Wygeneruj nowy klucz z Panel kluczy API jeśli potrzebne.
Serwer uruchamia się, ale nie pojawiają się żadne narzędzia. Klient nie odświeżył swojego katalogu lub konfiguracja używa niewłaściwej nazwy klucza. W przypadku VS Code upewnij się, że mcp.json używa serwerów (nie mcpServers). Następnie zatrzymaj i uruchom ftirfun lub przeładuj okno.
403 insufficient_balance Konto nie ma wystarczającej liczby punktów do tej analizy. Sprawdź swoje saldo lub subskrypcję w FTIR.fun, a następnie spróbuj ponownie.
429 rate_limit_exceeded Analiza i parsowanie REST umożliwiają 60 żądań na minutę na klucz API; odczyty wyników i statusu raportów REST korzystają z osobnego zasobnika 120 żądań na minutę; MCP pozwala na 60 wywołań na minutę dla każdego klucza API i narzędzia. Poczekaj na okres ponowienia zgłoszony przez narzędzie przed ponownym wywołaniem.
Raport pozostaje w kolejce lub jest uruchomiony. Pełne raporty są uruchamiane asynchronicznie i trwają dłużej niż szybkie przeszukiwanie. Zachowaj ten sam task_id i kontynuuj odpytywanie. Nie twórz zduplikowanych zadań raportu.
422 lub missing_input Treść żądania nie zawiera wymaganych pól lub ma nieprawidłowy format. Dla analyze_spectrum musisz podać co najmniej jedno z: peaks, query lub file_base64. Sprawdź, czy Twój JSON jest poprawny, Content-Type to application/json, a wymagane pola są obecne. Zobacz przykładowe żądania powyżej.
413 file_too_large Przesłany plik widma przekracza limit rozmiaru. Eksportuj mniejszy plik lub użyj tylko pozycji pików za pomocą pola spectrum.peaks.

Gotowy do budowania?

Pełna dokumentacja REST zawiera każdy punkt końcowy, formaty żądań i odpowiedzi, uwierzytelnianie, limity szybkości, kody błędów, definicje narzędzi MCP oraz przykłady kodu w Pythonie i curl.

Wyślij prośbę Formularz