Ge din AI-assistent eller din egen kod direkt åtkomst till 320,000+ referensspektra, toppanalys baserad på kunskapsgrafer och litteraturstödd tolkning. Välj ett av tre sätt att ansluta – MCP för AI-assistenter, REST API för kod eller en färdig Skill för plattformar utan kod. Varje alternativ nedan har steg-för-steg-instruktioner skrivna för förstagångsanvändare.
MCP och REST API använder båda en FTIR.fun-API-nyckel. Coze/Doubao använder en tjänstenyckel som konfigureras av plugin-utgivaren, så slutanvändare arbetar via pluginet utan att klistra in en personlig nyckel. Det tar ungefär en minut att skaffa en personlig nyckel:
Logga in på FTIR.funSkapa ett kostnadsfritt konto (nya konton inkluderar kostnadsfria testkrediter).
Öppna instrumentpanelen för API-nycklarGå till Konto → API-nycklar och klicka på Generera.
Visa eller kopiera din API-nyckelDen fullständiga nyckeln (den börjar med ftir_) finns kvar i instrumentpanelen för API-nycklar. Du kan återvända dit för att visa, kopiera eller återkalla den.
Alla tre ansluter till samma motor: 320,000+ spektra, kunskapsgrafsbaserat resonemang och litteraturreferenser. Du behöver bara en. Välj den väg som passar ditt arbetssätt; MCP är ett smidigt alternativ för användare av AI-assistenter.
MCPVäg A — MCP-server
MCP (Model Context Protocol) är standardmetoden för AI-assistenter att anropa externa verktyg. FTIR.fun kör en värdbaserad MCP-server — ingen lokal installation krävs. Du lägger till en liten konfiguration i din AI-klient, anger din API-nyckel, och din assistent får tillgång till de FTIR.fun-verktyg som är aktiverade för den nyckeln.
✓Så fungerar inloggning (läs detta först):
FTIR.fun autentiserar med API-nyckeln från ditt konto, skickad som en Authorization: Bearer-header. Det finns ingen OAuth-inloggning i webbläsare och ingen separat auktoriseringssida. Om en klient någonsin försöker öppna en auktoriseringswebbsida använder den en föråldrad konfiguration — se Felsökning nedan.
Välj din klient för exakta steg:
VS
Konfigurera FTIR.fun MCP i VS Code
Kräver en aktuell VS Code med GitHub Copilot Chat i agentläge.
Öppna ditt projekt, skapa sedan filen .vscode/mcp.jsonI din projektmapp skapar du en mapp med namnet .vscode (om den inte finns) och en fil med namnet mcp.json inuti den. Vill du ha FTIR.fun tillgängligt i varje projekt? Lägg samma JSON i dina användarinställningar: öppna Kommandopaletten, sök efter 'Preferences: Open User Settings (JSON)' och lägg till en mcp.servers-post där istället.
Klistra in denna exakta konfigurationKopiera det exakt som det är. Behåll platshållaren ${input:...} — VS Code frågar efter nyckeln på ett säkert sätt när servern startar.
Starta ftirfun-servernÖppna kommandopaletten, kör "MCP: List Servers", välj ftirfun och välj Start. Vissa VS Code-versioner visar en Start-åtgärd precis ovanför servern i mcp.json — det fungerar också.
Klistra endast in din API-nyckel när du blir ombeddNär VS Code frågar efter ftirfun-api-key klistrar du bara in den råa nyckeln (börjar med ftir_). Konfigurationen lägger automatiskt till Bearer.
Bekräfta att den är anslutenÖppna Copilot Chat i Agent-läge och kontrollera verktygslistan. FTIR.fun bör visa den enhetliga verktygskatalogen; anrop utanför denna nyckels behörighetsomfattning returnerar ett behörighetsfel. Prova sedan testprompten nedan.
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬Såg du en auktoriseringssida eller ett "auktoriseringssidan finns inte"-fel tidigare? Det var en föråldrad OAuth-liknande konfiguration. Ta bort den gamla ftirfun-posten, klistra in JSON ovan, ladda om VS Code och starta om den. Fullständig lösning i Felsökning.
A
Konfigurera FTIR.fun MCP i Claude
Officiellt listad i Anthropic MCP Registry. Fungerar i Claude Desktop och Claude Code.
Öppna MCP-serverinställningarI Claude Desktop, gå till Inställningar → Anslutningar → Lägg till anpassad anslutning. I Claude Code, redigera din MCP-konfigurationsfil.
Lägg till den fjärrstyrda servern och Bearer-headernAnvänd den värdbaserade URL:en och lägg till din API-nyckel som en Authorization-header. Byt ut platshållaren mot din riktiga nyckel (börjar med ftir_).
Starta om Claude och bekräftaStarta om Claude Desktop, öppna panelen för anslutningar/verktyg och bekräfta att FTIR.fun-verktygen visas. Ställ sedan en fråga på vanligt språk.
Identify this polymer from its FTIR peaks: 2915, 1715, 1450 cm-1.
📎Föredrar du Claude Code CLI? Kör claude mcp add --transport http ftirfun https://ftir.fun/mcp --header "Authorization: Bearer ftir_your_key_here".
Cu
Konfigurera FTIR.fun MCP i Cursor
Redigera Cursors MCP-konfiguration så att din AI-kodredigerare kan anropa FTIR.fun utan att lämna IDE.
Öppna MCP-konfigurationsfilenSkapa eller redigera ~/.cursor/mcp.json (global) eller .cursor/mcp.json i ditt projekt.
Klistra in serverblocketErsätt platshållaren med din riktiga nyckel (börjar med ftir_).
Ladda om Cursor och bekräftaÖppna Cursor igen, kontrollera Inställningar → MCP för ftirfun-servern och dess gröna status, ställ sedan en fråga i chatten.
Cx
Konfigurera FTIR.fun MCP i Codex eller någon MCP-miljö
Fungerar med OpenAI Codex och alla MCP-kompatibla klienter som stöder fjärr-HTTPS-servrar.
Lägg till servern i din Codex-konfigurationAnge den tillhandahållna URL:en för klienten och se till att den skickar din API-nyckel som en Bearer-header. Ersätt platshållaren med din riktiga nyckel.
Starta om och bekräfta att verktygen laddasStarta om klienten och bekräfta att FTIR.fun-verktygskatalogen listas innan du skickar en fråga. API-nyckeln styr vilka funktioner som kan anropas.
Gm
Konfigurera FTIR.fun MCP i Gemini CLI
Lägg till FTIR.fun i en MCP-kompatibel Gemini-klient med samma värdbaserade URL och Bearer-header.
Redigera ~/.gemini/settings.jsonLägg till en httpUrl-serverpost med din API-nyckelheader. Ersätt platshållaren med din riktiga nyckel.
Starta om Gemini CLI och bekräftaKör /mcp för att lista servrar och bekräfta att ftirfun är ansluten innan du uppmanar.
🧩Använder du en annan MCP-klient? Alla klienter som stöder en fjärr streamable-HTTP-server fungerar: ställ in URL:en till https://ftir.fun/mcp och skicka Authorization: Bearer <your key>. Se det offentliga serverkortet för det fullständiga verktygsschemat: server-card.json
✓Efter en lyckad anslutning bör din AI-klient lista dessa 7 verktyg:parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
Om du ser färre verktyg eller inga alls, kontrollera felsökningen nedan.
APISökväg B — REST-API
Anropa den enhetliga FTIR.fun REST-tjänsten från din egen kod i valfritt språk — Python, JavaScript, R, MATLAB, Java eller Go. Din API-nyckel styr de tillgängliga funktionerna, från identifiering av okända spektra och förklaring av toppar till referenssökning, rapporter, LIMS-arbetsflöden och andra kontobaserade funktioner.
Kontrollera att REST-tjänsten är onlineHälsoändpunkten är offentlig och förbrukar inga poäng. Den bör returnera JSON nedan. Om du ser en HTML-sida eller en timeout kan tjänsten vara tillfälligt nere.
curl
curl https://ftir.fun/health
Förväntat svar
{"status":"ok","service":"ftirfun-api"}
Autentisera med X-API-Key-headernVarje skyddad endpoint kräver din nyckel i en X-API-Key-header. Samma kontoregler gäller som i webbappen: poäng, abonnemang och hastighetsbegränsningar. Om nyckeln är felaktig eller saknas får du ett JSON-fel med status 401; om dess behörighetsomfattning inte inkluderar åtgärden får du ett 403-svar med capability_not_enabled.
Auth-huvud
X-API-Key: ftir_your_key_here
Gör ditt första anrop — identifiera ett okänt spektrumSkicka en topplista (eller en uppladdad fil) och få rankade kandidatmaterial med likhetspoäng och toppbevis. Alternativblocket är valfritt — standardvärden är top_k=15 (intervall 1–50) och tolerance_cm1=8 (intervall 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..."
}
Utforska resten av slutpunkternaDen fullständiga referensen täcker varje slutpunkt, begäran- och svarsformat, felkoder och fler kodexempel. Se API-dokumentation.
Vad du vill
Slutpunkt
Indata
Identifiera ett okänt spektrum
POST /ftir/analyze_spectrum
JSON-brödtext med spectrum.peaks eller file_base64
Förklara en eller flera toppar
POST /ftir/explain_peak_assignments
JSON-kropp med topplista eller frågetext
Hitta ett känt referensspektrum
POST /ftir/find_spectra
JSON-kropp med frågesträng
Hämta ett tidigare resultat via rapportnummer
GET /ftir/result/{result_num}
Sökvägsparameter, valfritt ?language_code=en
Skicka en fullständig asynkron rapport, polla den sedan
POST /ftir/reports · GET /ftir/reports/{task_id}
JSON-kropp med file_base64 (obligatorisk)
Återställ ett förlorat task_id, eller lista dina senaste analyser
GET /ftir/tasks
Ingen body; returnerar dina senaste uppgifter med task_id, status och result_num.
Tolka en instrumentfil till toppar
POST /parse-spectrum
Multipart-filuppladdning ELLER JSON med file_base64
Konvertera en inhemsk fil med metadatabevarande
POST /native-spectrum/convert
Multipart-fil plus output_format ELLER JSON med file_base64, filnamn och output_format
💡Tips: POST /ftir/analyze_spectrum är den enda rekommenderade ingångspunkten för spektrumidentifiering. De äldre slutpunkterna /v1/search, /ftir/identify_material och /ftir/match_library_topk finns kvar som kompatibilitetsalias — nya integrationer behöver bara analyze_spectrum.
Referens för viktiga parametrar
Parameter
Typ
Standard
Intervall
Används av
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
(tom)
Se listan nedan
reports, explain_peaks
language_code
string
"en"
ISO 639-1
reports, fetch_result
include_report
bool
true
—
get_ftir_report_status
📘Bygger du en anpassad GPT eller importerar till ett annat verktyg? Importera vårt OpenAPI-schema direkt: openapi.platform.yaml.
Analysera en instrumentfil (två sätt)
Slutpunkten /parse-spectrum accepterar antingen en multipart-filuppladdning eller en JSON-kropp med base64-kodat innehåll. Båda returnerar samma svar: detekterade toppar och hela kurvan.
Konvertera en inhemsk instrumentfil (CSV, JDX eller JSON)
Använd den inhemska omvandlaren när du behöver en kanonisk kurva, källmetadata, provenance och explicita bevarandevarningar. Den behåller originalparsaren metadata i metadata.raw och returnerar den konverterade artefakten som content_base64.
↗Föredrar du webbläsararbetsflödet? Öppna Native FTIR Spectrum Converter. Arkiv- och rapport-/dokumentformat avvisas; konverteraren är separat från Bild → CSV.
SkillVäg C — Färdigheter & plugins
För populära AI- och automationsplattformar levererar vi färdiga paket med förbyggd API-integration. Installera ett paket eller importera ett plugin, så blir FTIR.fun en byggsten i ditt arbetsflöde. Varje kort nedan anger exakt vad du ska köra eller importera.
LC
LangChain
Python-paket · PyPI
Publicerad
Färdiga verktyg för att bygga FTIR-medvetna agenter. Hanterar Base64-kodning, återförsök och asynkrona anrop åt dig.
Installera
pip install langchain-ftirfun
Minimalt anrop
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)
Importera FTIRFUN_TOOLS för att hämta den publicerade funktionslistan. Varje funktion tar api_base_url och api_key som de två första argumenten; servern tillämpar de funktioner som är aktiverade för den nyckeln.
Coze-molnpluginen publiceras med tre verktyg: spektrumanalys, referensbibliotekssökning och toppförklaring. Slutanvändare kan använda den direkt i Doubao utan att konfigurera någon API-nyckel.
Kvot spåras per användare via Coze sys_uuid. Pluginet använder en utgivarkonfigurerad tjänstnyckel.
GPT
ChatGPT
Anpassad GPT · GPT-åtgärder
Schema redo
Bygg en anpassad GPT som analyserar spektra, förklarar toppar och hittar referensspektra. Importera vårt OpenAPI-schema som en åtgärd. Kräver ChatGPT Plus.
Importera URL
https://ftir.fun/openapi.platform.yaml
I GPT-redigeraren: Konfigurera → Åtgärder → Importera från URL. Ställ in autentisering till API-nyckel (header X-API-Key).
Lägg till FTIR.fun som ett anpassat verktyg i dina Dify-appar och agenter genom att importera samma OpenAPI-schema.
Importera URL
https://ftir.fun/openapi.platform.yaml
I Dify: Verktyg → Skapa anpassat verktyg → importera schemat, ställ in X-API-Key-headern.
Gm
Google Gemini API
Funktionsdeklarationer (SDK-integration)
Redo
Använd färdiga funktionsdeklarationer för att anropa FTIR.fun från Gemini API:s funktionsanropsflöde i din egen kod.
Deklarationerna omfattar de publicerade operationerna, inklusive parsning och asynkrona fullständiga rapporter. Servern tillämpar de funktioner som är aktiverade för varje API-nyckel.
De enhetliga MCP- och REST-tjänsterna exponerar samma FTIR.fun-operationskatalog. API-nycklar kan ha ett mindre behörighetsomfång, medan plattformsspecifika deklarationer avsiktligt kan publicera endast en delmängd. Operationerna nedan delar samma FTIR.fun-tjänster.
Uppgift
MCP-verktyg
REST-slutpunkt
Säg detta till din AI
Läs en instrumentfil
parse_ftir_spectrum
POST /parse-spectrum
Tolka sample.spc och lista de detekterade topparna.
Konvertera inbyggd data och bevara metadata
convert_native_spectrum
POST /native-spectrum/convert
Konvertera sample.spa till JDX och behåll källmetadata.
Identifiera ett okänt spektrum
analyze_ftir_spectrum
POST /ftir/analyze_spectrum
Identifiera vilken polymer detta spektrum är.
Skicka en fullständig triax-rapport
submit_ftir_report
POST /ftir/reports
Skicka sample.spa för en fullständig rapport i ATR-läge.
Polla och hämta den rapporten
get_ftir_report_status
GET /ftir/reports/{task_id}
Kontrollera rapportuppgiften och ge mig länken när den är klar.
Förklara toppar
explain_peaks
POST /ftir/explain_peak_assignments
Vad indikerar topparna vid 1715 och 1450 cm-1?
Hitta ett känt referensspektrum
find_spectra
POST /ftir/find_spectra
Hitta referensspektra för polystyren.
Öppna ett tidigare resultat igen
fetch_result
GET /ftir/result/{result_num}
Hämta resultat 20260528100755416137536.
🎓Akademisk topptilldelning —
För prover med känd sammansättning tilldelar den avancerade REST/MCP-funktionen i FTIR.fun varje uppmätt topp med litteraturspårad evidens. Varje inskickning kostar 30 poäng eller är kostnadsfri med en aktiv prenumeration; statusförfrågningar debiteras inte.
Beskriv uppgiften naturligt (till exempel: ”Tilldela alla uppmätta FTIR-toppar för detta spektrum; provet är känt PMMA; e-posta rapporten till mig”) — klienten tillhandahåller filen och du behöver aldrig konstruera JSON eller Base64 själv. Slutförda resultat returnerar både JSON-status och skyddade rapportadresser; rapporter exponeras inte på en offentlig nedladdningssökväg.
Stödda filändelser för spektrum (36): .spa, .spc, .sp, .abs, .irf, .irs, .dt, .jws, .jdx, .dx, .asc, .dpt, .opju, .opus, .ispd, .[0-9]+, .xlsx, .xls, .ods, .csv, .dat, .txt, .tsv, .json, .tab, .a2r, .asp, .spe, .map, .bsp, .spg, .srs, .smf, .ird, .fsm, .mat. Behåll den ursprungliga filändelsen. Filer som inte stöds eller inte kan läsas returnerar supported_extensions och supported_formats. Giltiga sampling_mode-värden är KBr-pellet, ånga, lösningsmedel, tunn film, paraffinmull, ATR, diffus reflektans, mikro-IR och andra. Transmission är inte ett giltigt värde.
{
"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..."
}
Hämtar den fullständiga rapporten (async)
Snabbscreening (analyze_spectrum) returnerar omedelbart. Den fullständiga treaxliga rapporten körs i bakgrunden och tar vanligtvis 30–90 sekunder. Spara task_id och hämta status genom att fråga efter den i stället för att skicka in uppgiften igen.
SkickaAnropa submit_ftir_report (MCP) eller POST /ftir/reports (REST). Du får tillbaka ett task_id och ett reserverat result_num. Fältet file_base64 är obligatoriskt; andra fält (sampling_mode, prior_context, language_code, sample_name, sample_order_no) är valfria.
OmröstningAnropa get_ftir_report_status (MCP) eller GET /ftir/reports/{task_id} var 5–10:e sekund tills completed är true. Det slutförda svaret innehåller report_url, ett report-objekt (strukturerat resultatinnehåll, med den detaljerade report_view inuti) och result_num.
Öppna den slutgiltiga rapportenÖppna den fullständiga webbadressen https://ftir.fun/outputdata/?num={result_num} i en webbläsare för att visa den fullständiga triaxelresultatsidan som renderats av FTIR.fun.
⚠️Behåll task_id och fråga regelbundet tills processen är klar eller har misslyckats. Dubbla inskickningar medan processen står i kö eller körs slösar poäng.
Felsökning
Vad du ser
Vad det betyder
Vad du ska göra
Klienten öppnar en webbläsarauktoriseringssida, eller säger att auktoriseringssidan inte finns.
Din klient använder en gammal OAuth-liknande serverpost. FTIR.fun använder inte OAuth — endast en API-nyckel.
Ta bort den gamla ftirfun-serverposten, klistra in den exakta konfigurationen från denna sida, ladda om klienten och starta ftirfun igen.
401 (MCP) / 401 invalid_api_key (REST)
API-nyckeln saknas, har gått ut, har återkallats eller har klistrats in felaktigt.
Starta om servern och klistra endast in den råa nyckeln (börjar med ftir_). Generera en ny nyckel från API-nyckeldashboard om det behövs.
Servern startar men inga verktyg visas.
Klienten har inte uppdaterat sin katalog, eller så använder konfigurationen fel nyckelnamn.
För VS Code, bekräfta att mcp.json använder servers (inte mcpServers). Stoppa sedan och starta ftirfun, eller ladda om fönstret.
403 insufficient_balance
Kontot har inte tillräckligt med poäng för den analysen.
Kontrollera ditt saldo eller prenumeration i FTIR.fun, försök sedan igen.
429 rate_limit_exceeded
REST-analys och tolkning tillåter 60 förfrågningar per minut per API-nyckel; REST-resultat och rapportstatusläsningar använder en separat bucket på 120 förfrågningar per minut; MCP tillåter 60 anrop per minut för varje API-nyckel och verktyg.
Vänta på återförsöksperioden som verktyget rapporterar innan du anropar igen.
En rapport förblir i kö eller körs.
Fullständiga rapporter körs asynkront och tar längre tid än snabbgranskning.
Behåll samma task_id och polla. Om du har tappat bort task_id, anropa GET /ftir/tasks för att lista dina senaste uppgifter och hitta det igen.
422 eller missing_input
Begärandets brödtext saknar obligatoriska fält eller har ogiltigt format. För analyze_spectrum måste du ange minst ett av: peaks, query eller file_base64.
Kontrollera att din JSON är giltig, Content-Type är application/json och obligatoriska fält finns. Se exempelbegäranden ovan.
413 file_too_large
Den uppladdade spektrumfilen överskrider storleksgränsen.
Exportera en mindre fil eller använd endast toppositioner via fältet spectrum.peaks.
Redo att bygga?
Den fullständiga REST-referensen har alla endpoints, förfrågnings- och svarsformat, autentisering, hastighetsbegränsningar, felkoder, MCP-verktygsdefinitioner och kodexempel i Python och curl.