Ontwikkelaar & AI-integratie

Verbind FTIR.fun met elke AI-tool of app

Geef uw AI-assistent of uw eigen code directe toegang tot 130.000+ referentiespectra, kennisgrafiek piekredenering en literatuurondersteunde interpretatie. Kies een van de drie manieren om verbinding te maken — MCP voor AI-assistenten, de REST API voor code, of een kant-en-klare Skill voor no-code platforms. Elk pad hieronder heeft stapsgewijze instructies geschreven voor eerste gebruikers.

Beoordeeld en vermeld op

Voordat je begint — haal je API-sleutel op

Zowel MCP als de REST API gebruiken één FTIR.fun API-sleutel. Coze/Doubao gebruikt een servicesleutel die door de plugin-uitgever is geconfigureerd, dus eindgebruikers plakken geen persoonlijke sleutel. Het verkrijgen van een persoonlijke sleutel duurt ongeveer een minuut:

  1. Meld u aan bij FTIR.fun Maak een gratis account aan als je er nog geen hebt. Nieuwe accounts bevatten gratis proefkredieten.
  2. Open het API-sleutels dashboard Ga naar Account → API-sleutels en klik op Genereren.
  3. Kopieer en bewaar de sleutel onmiddellijk De volledige sleutel (deze begint met ftir_) wordt slechts één keer getoond. Bewaar deze op een veilige plek. Als u deze kwijtraakt, genereer dan gewoon een nieuwe.
🔑 Klaar? Open het API-sleuteldashboard in een nieuw tabblad, kom dan terug en volg het pad dat u hierboven hebt gekozen.
⚠️ De gehoste MCP-server accepteert alleen een account-API-sleutel die is gegenereerd in het FTIR.fun API Keys Dashboard (begint met ftir_). Server-side master keys zijn voor REST-operators en kunnen niet inloggen op gehoste MCP.

Stap 1 — Welke verbinding is geschikt voor u?

Alle drie verbinden met dezelfde engine: 130.000+ spectra, kennisgraaf-redenering en literatuurcitaten. U heeft er maar één nodig. Kies op basis van hoe u werkt — niet zeker? MCP is de populairste keuze voor iedereen die een AI-assistent gebruikt.

Wat uw AI daadwerkelijk kan doen

De huidige MCP-, REST-, n8n- en LangChain-distributies bieden zeven bewerkingen. De gepubliceerde Coze-plugin biedt drie tools (analyze, find, explain) en andere sjablonen bieden mogelijk een kleinere gedeclareerde set; controleer elke platformkaart voor gebruik. De onderstaande bewerkingen gebruiken dezelfde FTIR.fun-services.

Taak MCP-tool REST-eindpunt Zeg dit tegen je AI
Lees een instrumentbestand parse_ftir_spectrum POST /parse-spectrum Parseer sample.spc en vermeld de gedetecteerde pieken.
Identificeer een onbekend spectrum analyze_ftir_spectrum POST /ftir/analyze_spectrum Identificeer welk polymeer dit spectrum is.
Dien een volledig tri-axis rapport in submit_ftir_report POST /ftir/reports Dien sample.spa in voor een volledig rapport in ATR-modus.
Vraag dat rapport op en haal het op get_ftir_report_status GET /ftir/reports/{task_id} Controleer de rapporttaak en geef me de link wanneer klaar.
Leg pieken uit explain_peaks POST /ftir/explain_peak_assignments Wat geven de pieken bij 1715 en 1450 cm-1 aan?
Vind een bekend referentiespectrum find_spectra POST /ftir/find_spectra Zoek referentiespectra voor polystyreen.
Open een eerder resultaat opnieuw fetch_result GET /ftir/result/{result_num} Haal resultaat 20260528100755416137536 op.

Ondersteunde bestanden: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Geldige sampling_mode-waarden zijn KBr-pellet, damp, oplosmiddel, dunne film, paraffinepasta, ATR, diffuse reflectie, micro-IR en overige. Transmissie is geen geldige waarde. Houd de oorspronkelijke bestandsextensie zodat FTIR.fun de juiste parser kiest.

find_spectra antwoordvoorbeeld

find_spectra antwoord
{
  "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": [...]}
  ]
}

explain_peaks antwoordvoorbeeld

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

Het volledige rapport verkrijgen (async)

Snelle screening (analyze_spectrum) retourneert onmiddellijk. Het volledige tri-axis rapport wordt op de achtergrond uitgevoerd en duurt doorgaans 30–90 seconden. Dien niet opnieuw in terwijl een rapport wordt uitgevoerd — bewaar de task_id en poll het.

  1. Verzenden Roep submit_ftir_report (MCP) of POST /ftir/reports (REST) aan. U ontvangt een task_id en een gereserveerd result_num. Het veld file_base64 is vereist; andere velden (sampling_mode, prior_context, language_code, sample_name, sample_order_no) zijn optioneel.
    Indieningsvoorbeeld (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"}'
    Antwoord indienen
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. Peiling Roep elke 5–10 seconden get_ftir_report_status (MCP) of GET /ftir/reports/{task_id} aan totdat completed true is. Het voltooide antwoord bevat report_url, report_view (gestructureerde rapportinhoud) en result_num.
    Poll-voorbeeld
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Poll-antwoord (bezig)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Poll-respons (voltooid)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Open het eindrapport Open de volledige URL https://ftir.fun/outputdata/?num={result_num} in een browser om de volledige tri-axis resultaatpagina te bekijken, gerenderd door FTIR.fun.
⚠️ Dien hetzelfde rapport niet opnieuw in terwijl het in de wachtrij staat of wordt uitgevoerd. Bewaar de task_id en blijf pollen totdat het is voltooid of mislukt. Dubbele inzendingen verspillen punten.

Problemen oplossen

Wat u ziet Wat het betekent Wat te doen
De client opent een browserautorisatiepagina, of geeft aan dat de autorisatiepagina niet bestaat. Uw client gebruikt een oude OAuth-stijl serververmelding. FTIR.fun gebruikt geen OAuth — alleen een API-sleutel. Verwijder de oude ftirfun-serververmelding, plak de exacte configuratie van deze pagina, laad de client opnieuw en start ftirfun opnieuw.
401 (MCP) / 401 invalid_api_key (REST) De API-sleutel ontbreekt, is verlopen, ingetrokken of onjuist geplakt. Herstart de server en plak alleen de ruwe sleutel (begint met ftir_). Genereer een nieuwe sleutel vanuit de API-sleutels Dashboard Indien nodig.
De server start maar er verschijnen geen tools. De client heeft zijn catalogus niet ververst, of de config gebruikt de verkeerde sleutelnaam. Bevestig voor VS Code dat mcp.json servers gebruikt (niet mcpServers). Stop en start vervolgens ftirfun, of herlaad het venster.
403 insufficient_balance Het account heeft niet genoeg punten voor die analyse. Controleer je saldo of abonnement in FTIR.fun en probeer het opnieuw.
429 rate_limit_exceeded REST-analyse en parsing staan 60 verzoeken per minuut per API-sleutel toe; REST-resultaat en rapportstatus-lezen gebruiken een aparte bucket van 120 verzoeken per minuut; MCP staat 60 aanroepen per minuut toe voor elke API-sleutel en tool. Wacht op de door de tool gerapporteerde herstelperiode voordat je opnieuw aanroept.
Een rapport blijft in de wachtrij of actief. Volledige rapporten worden asynchroon uitgevoerd en duren langer dan snelle screening. Behoud dezelfde task_id en blijf pollen. Maak geen dubbele rapporttaken aan.
422 of missing_input De aanvraagbody mist vereiste velden of heeft een ongeldig formaat. Voor analyze_spectrum moet u ten minste een van de volgende opgeven: peaks, query of file_base64. Controleer of uw JSON geldig is, Content-Type application/json is en vereiste velden aanwezig zijn. Zie de voorbeeldverzoeken hierboven.
413 file_too_large Het geüploade spectrumbestand overschrijdt de maximale grootte. Exporteer een kleiner bestand of gebruik alleen piekposities via het spectrum.peaks-veld.

Klaar om te bouwen?

De volledige REST-referentie heeft elk eindpunt, verzoek- en antwoordformaten, authenticatie, snelheidslimieten, foutcodes, MCP-tooldefinities en codevoorbeelden in Python en curl.

Verzoek indienen Formulier