Dai al tuo assistente AI o al tuo codice l'accesso diretto a 320,000+ spettri di riferimento, al ragionamento sui picchi basato sul grafo della conoscenza e all'interpretazione supportata dalla letteratura. Scegli uno dei tre modi per connetterti — MCP per gli assistenti AI, l'API REST per il codice o una Skill pronta all'uso per le piattaforme senza codice. Ogni percorso riportato di seguito include istruzioni dettagliate passo passo, scritte per gli utenti alle prime armi.
MCP e l'API REST utilizzano entrambi una chiave API FTIR.fun. Coze/Doubao utilizza una chiave di servizio configurata dal publisher del plugin, pertanto gli utenti finali utilizzano il plugin senza incollare una chiave personale. Ottenere una chiave personale richiede circa un minuto:
Accedi a FTIR.funCrea un account gratuito (i nuovi account includono crediti di prova gratuiti).
Apri il cruscotto delle chiavi APIVai a Account → Chiavi API e clicca su Genera.
Visualizza o copia la tua chiave APILa chiave completa (inizia con ftir_) rimane disponibile nel pannello delle chiavi API. Puoi tornare lì per visualizzarla, copiarla o revocarla.
Tutti e tre si connettono allo stesso motore: 320,000+ spettri, ragionamento basato sul grafo della conoscenza e citazioni bibliografiche. Ne serve uno solo. Scegli il percorso più adatto al tuo modo di lavorare; MCP è un'opzione pratica per gli utenti di assistenti AI.
MCPPercorso A — Server MCP
MCP (Model Context Protocol) è il modo standard con cui gli assistenti AI chiamano strumenti esterni. FTIR.fun gestisce un server MCP ospitato — non è richiesta alcuna installazione locale. Devi aggiungere una piccola configurazione al tuo client AI, inserire la tua chiave API e il tuo assistente acquisirà gli strumenti FTIR.fun abilitati per quella chiave.
✓Come funziona l'accesso (leggi prima questo):
FTIR.fun autentica con la chiave API del tuo account, inviata come intestazione Authorization: Bearer. Non esiste accesso OAuth tramite browser né una pagina di autorizzazione separata. Se un client tenta di aprire una pagina web di autorizzazione, sta usando una configurazione obsoleta — vedi Risoluzione dei problemi di seguito.
Scegli il tuo client per i passaggi esatti:
VS
Configura FTIR.fun MCP in VS Code
Richiede una versione recente di VS Code con GitHub Copilot Chat in modalità Agente.
Apri il tuo progetto, poi crea il file .vscode/mcp.jsonAll'interno della cartella del progetto, crea una cartella chiamata .vscode (se non esiste) e un file chiamato mcp.json al suo interno. Vuoi che FTIR.fun sia disponibile in ogni progetto? Inserisci lo stesso JSON nelle impostazioni a livello di utente: apri la Palette dei comandi, cerca 'Preferenze: Apri Impostazioni Utente (JSON)', e aggiungi una voce mcp.servers lì invece.
Incolla questa configurazione esattaCopialo così com'è. Mantieni il segnaposto ${input:...} — VS Code ti chiederà la chiave in modo sicuro all'avvio del server.
Avvia il server ftirfunApri la tavolozza dei comandi, esegui "MCP: Elenca server", seleziona ftirfun e scegli Avvia. Alcune versioni di VS Code mostrano un'azione Avvia proprio sopra il server in mcp.json — anche quello funziona.
Incolla solo la tua chiave API quando richiestoQuando VS Code richiede ftirfun-api-key, incolla solo la chiave grezza (inizia con ftir_). La configurazione aggiunge automaticamente Bearer.
Conferma che è connessoApri Copilot Chat in modalità Agente e controlla l’elenco degli strumenti. FTIR.fun dovrebbe mostrare il catalogo unificato degli strumenti; le chiamate al di fuori dell’ambito delle capacità di questa chiave restituiscono un errore di autorizzazione. Prova quindi il prompt di test riportato di seguito.
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬Hai visto una pagina di autorizzazione o un errore “la pagina di autorizzazione non esiste”? Si trattava di una configurazione OAuth obsoleta. Elimina la vecchia voce ftirfun, incolla il JSON sopra, ricarica VS Code e riavvia. Correzione completa in Risoluzione dei problemi.
A
Configura FTIR.fun MCP in Claude
Elencato ufficialmente nel Registro MCP di Anthropic. Funziona in Claude Desktop e Claude Code.
Apri le impostazioni del server MCPIn Claude Desktop, vai su Impostazioni → Connettori → Aggiungi connettore personalizzato. In Claude Code, modifica il file di configurazione MCP.
Aggiungi il server remoto e l'intestazione BearerUtilizza l'URL ospitato e aggiungi la tua chiave API come intestazione Authorization. Sostituisci il segnaposto con la tua chiave reale (inizia con ftir_).
Riavvia Claude e confermaRiavvia Claude Desktop, apri il pannello connettori/strumenti e conferma che gli strumenti FTIR.fun appaiano. Poi fai una domanda in linguaggio naturale.
Identify this polymer from its FTIR peaks: 2915, 1715, 1450 cm-1.
📎Preferisci Claude Code CLI? Esegui claude mcp add --transport http ftirfun https://ftir.fun/mcp --header "Authorization: Bearer ftir_your_key_here".
Cu
Configura FTIR.fun MCP in Cursor
Modifica la configurazione MCP di Cursor in modo che il tuo editor di codice AI possa chiamare FTIR.fun senza uscire dall'IDE.
Apri il file di configurazione MCPCrea o modifica ~/.cursor/mcp.json (globale) o .cursor/mcp.json all'interno del tuo progetto.
Incolla il blocco del serverSostituisci il segnaposto con la tua chiave reale (inizia con ftir_).
Ricarica Cursor e confermaRiapri Cursor, controlla Impostazioni → MCP per il server ftirfun e il suo stato verde, poi chiedi in chat.
Cx
Configura FTIR.fun MCP in Codex o qualsiasi harness MCP
Funziona con OpenAI Codex e qualsiasi client compatibile con MCP che supporta server HTTP remoti.
Aggiungi il server alla tua configurazione CodexIndirizza il client all'URL ospitato e assicurati che invii la tua chiave API come intestazione Bearer. Sostituisci il segnaposto con la tua chiave reale.
Riavvia e conferma che gli strumenti si carichinoRiavvia il client e verifica che il catalogo degli strumenti FTIR.fun sia elencato prima di inserire prompt. La chiave API controlla quali funzionalità possono essere chiamate.
Gm
Configura FTIR.fun MCP nella CLI di Gemini
Aggiungi FTIR.fun a un client Gemini compatibile con MCP utilizzando lo stesso URL ospitato e l'intestazione Bearer.
Modifica ~/.gemini/settings.jsonAggiungi una voce del server httpUrl con l'intestazione della tua chiave API. Sostituisci il segnaposto con la tua chiave reale.
Riavvia Gemini CLI e confermaEsegui /mcp per elencare i server e confermare che ftirfun è connesso prima di richiedere.
🧩Usi un altro client MCP? Qualsiasi client che supporti un server HTTP remoto trasmissibile funziona: imposta l'URL su https://ftir.fun/mcp e invia Authorization: Bearer <your key>. Vedi la scheda del server pubblico per lo schema completo dello strumento: server-card.json
✓Dopo una connessione riuscita, il tuo client AI dovrebbe elencare questi 7 strumenti:parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
Se vedi meno strumenti o nessuno, controlla la sezione Risoluzione dei problemi qui sotto.
APIPercorso B — API REST
Chiama il servizio REST unificato di FTIR.fun dal tuo codice in qualsiasi linguaggio — Python, JavaScript, R, MATLAB, Java, Go. La tua chiave API controlla le funzionalità disponibili, dall'identificazione di spettri sconosciuti e dalla spiegazione dei picchi alla ricerca di riferimenti, ai report, ai flussi di lavoro LIMS e ad altre operazioni abilitate per il tuo account.
Verifica che il servizio REST sia onlineL'endpoint health è pubblico e non consuma punti. Dovrebbe restituire il JSON sottostante. Se vedi una pagina HTML o un timeout, il servizio potrebbe essere temporaneamente fuori servizio.
curl
curl https://ftir.fun/health
Risposta prevista
{"status":"ok","service":"ftirfun-api"}
Autentica con l'header X-API-KeyOgni endpoint protetto richiede la tua chiave in un'intestazione X-API-Key. Si applicano le stesse regole dell'account utilizzate nell'app web: punti, abbonamento e limiti di frequenza. Se la chiave è errata o manca, riceverai un errore JSON 401; se il suo ambito di funzionalità non include l'operazione, riceverai una risposta 403 capability_not_enabled.
Intestazione di autenticazione
X-API-Key: ftir_your_key_here
Effettua la tua prima chiamata — identifica uno spettro sconosciutoInvia un elenco di picchi (o un file caricato) e ottieni materiali candidati classificati con punteggi di somiglianza e prove dei picchi. Il blocco delle opzioni è facoltativo — i valori predefiniti sono top_k=15 (intervallo 1–50) e tolerance_cm1=8 (intervallo 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..."
}
Esplora il resto degli endpointIl riferimento completo copre ogni endpoint, i formati di richiesta e risposta, i codici di errore e molti altri esempi di codice. Vedi il Documentazione API.
Cosa vuoi
Endpoint
Input
Identifica uno spettro sconosciuto
POST /ftir/analyze_spectrum
Corpo JSON con spectrum.peaks o file_base64
Spiega uno o più picchi
POST /ftir/explain_peak_assignments
Corpo JSON con elenco di picchi o testo della query
Trova uno spettro di riferimento noto
POST /ftir/find_spectra
Corpo JSON con stringa di query
Recupera un risultato passato tramite numero di report
GET /ftir/result/{result_num}
Parametro del percorso, opzionale ?language_code=en
Invia un report asincrono completo, poi esegui il polling
POST /ftir/reports · GET /ftir/reports/{task_id}
Corpo JSON con file_base64 (richiesto)
Recupera un task_id perso o elenca le tue analisi recenti
GET /ftir/tasks
Nessun corpo; restituisce i tuoi compiti più recenti con task_id, status e result_num
Analizza un file strumentale per ottenere picchi
POST /parse-spectrum
Caricamento file multipart O JSON con file_base64
Converti un file nativo con preservazione dei metadati
POST /native-spectrum/convert
File multipart più output_format O JSON con file_base64, filename e output_format
💡Suggerimento: POST /ftir/analyze_spectrum è il singolo punto di ingresso raccomandato per l'identificazione dello spettro. I vecchi endpoint /v1/search, /ftir/identify_material e /ftir/match_library_topk rimangono disponibili come alias di compatibilità — le nuove integrazioni necessitano solo di analyze_spectrum.
Riferimento dei parametri chiave
Parametro
Tipo
Predefinito
Intervallo
Usato da
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
(vuoto)
Vedi elenco sotto
reports, explain_peaks
language_code
string
"en"
ISO 639-1
reports, fetch_result
include_report
bool
true
—
get_ftir_report_status
📘Stai costruendo un GPT personalizzato o importando in un altro strumento? Importa direttamente il nostro schema OpenAPI: openapi.platform.yaml.
Analizza un file strumentale (due modi)
L'endpoint /parse-spectrum accetta sia un caricamento file multipart che un corpo JSON con contenuto codificato in base64. Entrambi restituiscono la stessa risposta: picchi rilevati e curva completa.
Converti un file nativo dello strumento (CSV, JDX o JSON)
Usa il convertitore nativo quando hai bisogno di una curva canonica, metadati di origine, provenienza e avvisi espliciti di preservazione. Mantiene i metadati del parser originale in metadata.raw e restituisce l'artefatto convertito come content_base64.
↗Preferisci il workflow del browser? Apri il Convertitore di Spettro FTIR Nativo. I formati archivio e report/documento sono rifiutati; il convertitore è separato da Immagine → CSV.
SkillPercorso C — Abilità e plugin
Per le piattaforme di IA e automazione più diffuse forniamo pacchetti pronti all’uso con integrazione API preconfigurata. Installa un pacchetto o importa un plugin e FTIR.fun diventa un componente del tuo flusso di lavoro. Ogni scheda qui sotto indica esattamente cosa eseguire o importare.
LC
LangChain
Pacchetto Python · PyPI
Pubblicato
Strumenti integrabili per creare agenti consapevoli di FTIR. Gestisce codifica Base64, tentativi e chiamate asincrone per te.
Installa
pip install langchain-ftirfun
Chiamata minima
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)
Importa FTIRFUN_TOOLS per ottenere l'elenco delle funzioni pubblicate. Ogni funzione accetta api_base_url e api_key come primi due argomenti; il server applica le funzionalità abilitate per quella chiave.
Il plugin cloud Coze è pubblicato con tre strumenti: analisi dello spettro, ricerca nella libreria di riferimento e spiegazione dei picchi. Gli utenti finali possono usarlo direttamente in Doubao senza configurare alcuna chiave API.
La quota è tracciata per utente tramite Coze sys_uuid. Il plugin utilizza una chiave di servizio configurata dall'editore.
GPT
ChatGPT
GPT personalizzato · Azioni GPT
Schema pronto
Crea un GPT personalizzato che analizza spettri, spiega picchi e trova spettri di riferimento. Importa il nostro schema OpenAPI come Action. Richiede ChatGPT Plus.
Importa URL
https://ftir.fun/openapi.platform.yaml
Nell'editor GPT: Configura → Azioni → Importa da URL. Imposta auth su API Key (intestazione X-API-Key).
Aggiungi FTIR.fun come strumento personalizzato nelle tue app e agenti Dify importando lo stesso schema OpenAPI.
Importa URL
https://ftir.fun/openapi.platform.yaml
In Dify: Strumenti → Crea strumento personalizzato → importa lo schema, imposta l'header X-API-Key.
Gm
API Google Gemini
Dichiarazioni di funzioni (integrazione SDK)
Pronto
Usa dichiarazioni di funzioni già pronte per chiamare FTIR.fun dal flusso di chiamata di funzioni dell'API Gemini nel tuo codice.
Le dichiarazioni riguardano le operazioni pubblicate, inclusi il parsing e i report completi asincroni. Il server applica le funzionalità abilitate per ciascuna chiave API.
I servizi MCP e REST unificati espongono lo stesso catalogo di operazioni di FTIR.fun. Le chiavi API possono ricevere un ambito di funzionalità più ristretto, mentre le dichiarazioni specifiche della piattaforma possono pubblicare intenzionalmente solo un sottoinsieme. Le operazioni riportate di seguito condividono gli stessi servizi FTIR.fun.
Attività
Strumento MCP
Endpoint REST
Dì questo al tuo AI
Leggi un file strumento
parse_ftir_spectrum
POST /parse-spectrum
Analizza sample.spc ed elenca i picchi rilevati.
Converti i dati nativi e conserva i metadati
convert_native_spectrum
POST /native-spectrum/convert
Converti sample.spa in JDX e mantieni i metadati di origine.
Identifica uno spettro sconosciuto
analyze_ftir_spectrum
POST /ftir/analyze_spectrum
Identifica di quale polimero è questo spettro.
Invia un report completo a tre assi
submit_ftir_report
POST /ftir/reports
Invia sample.spa per un report completo in modalità ATR.
Interroga e recupera quel report
get_ftir_report_status
GET /ftir/reports/{task_id}
Controlla il compito del rapporto e dammi il link quando è pronto.
Spiega i picchi
explain_peaks
POST /ftir/explain_peak_assignments
Cosa indicano i picchi a 1715 e 1450 cm-1?
Trova uno spettro di riferimento noto
find_spectra
POST /ftir/find_spectra
Trova spettri di riferimento per polistirene.
Riapri un risultato precedente
fetch_result
GET /ftir/result/{result_num}
Recupera il risultato 20260528100755416137536.
🎓Assegnazione dei picchi accademici —
Per i campioni con composizione nota, la funzionalità avanzata REST/MCP di FTIR.fun assegna ogni picco misurato sulla base di evidenze tracciate nella letteratura. Ogni invio costa 30 punti oppure è gratuito con un abbonamento attivo; le richieste di stato non comportano costi.
Descrivi l'attività in modo naturale (ad esempio: “Assegna tutti i picchi FTIR misurati per questo spettro; il campione è noto PMMA; inviami il report via email”) — il client fornisce il file e non devi mai costruire JSON o Base64 da solo. I risultati completati restituiscono sia lo stato JSON che gli indirizzi protetti del report; i report non sono esposti su un percorso di download pubblico.
Estensioni dei nomi file spettrali supportate (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. Mantieni l'estensione del file originale. I file non supportati o illeggibili restituiscono supported_extensions e supported_formats. I valori validi di sampling_mode sono KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR e Others. Transmission non è un valore valido.
{
"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..."
}
Ottenere il report completo (asincrono)
Lo screening rapido (analyze_spectrum) restituisce immediatamente il risultato. Il report completo sui tre assi viene eseguito in background e richiede in genere 30–90 secondi. Conserva il task_id e controllalo periodicamente invece di inviarlo nuovamente.
InviaChiama submit_ftir_report (MCP) o POST /ftir/reports (REST). Riceverai un task_id e un result_num riservato. Il campo file_base64 è obbligatorio; gli altri campi (sampling_mode, prior_context, language_code, sample_name, sample_order_no) sono opzionali.
SondaggioChiama get_ftir_report_status (MCP) o GET /ftir/reports/{task_id} ogni 5-10 secondi finché completed non è true. La risposta completata include report_url, un oggetto report (contenuto dei risultati strutturato, con il dettagliato report_view al suo interno) e result_num.
Apri il report finaleApri l'URL completo https://ftir.fun/outputdata/?num={result_num} in un browser per visualizzare la pagina dei risultati tri-assiali completa renderizzata da FTIR.fun.
⚠️Conserva il task_id ed esegui il polling fino al completamento o al fallimento. Invii duplicati mentre è in coda o in esecuzione sprecano punti.
Risoluzione dei problemi
Cosa vedi
Cosa significa
Cosa fare
Il client apre una pagina di autorizzazione del browser, o dice che la pagina di autorizzazione non esiste.
Il tuo client sta usando una vecchia voce di server stile OAuth. FTIR.fun non usa OAuth — solo una chiave API.
Elimina la vecchia voce del server ftirfun, incolla la configurazione esatta da questa pagina, ricarica il client e avvia di nuovo ftirfun.
401 (MCP) / 401 invalid_api_key (REST)
La chiave API è mancante, scaduta, revocata o incollata in modo errato.
Riavvia il server e incolla solo la chiave grezza (inizia con ftir_). Genera una nuova chiave dal Dashboard delle chiavi API se necessario.
Il server si avvia ma non compaiono strumenti.
Il client non ha aggiornato il suo catalogo, o la configurazione utilizza il nome della chiave sbagliato.
Per VS Code, conferma che mcp.json utilizza servers (non mcpServers). Quindi ferma e riavvia ftirfun, o ricarica la finestra.
403 insufficient_balance
L'account non ha abbastanza punti per quell'analisi.
Controlla il tuo saldo o abbonamento su FTIR.fun, poi riprova.
429 rate_limit_exceeded
L'analisi e l'analisi REST consentono 60 richieste al minuto per chiave API; le letture dei risultati REST e dello stato del report utilizzano un bucket separato di 120 richieste al minuto; MCP consente 60 chiamate al minuto per ogni chiave API e strumento.
Attendi il periodo di riprova segnalato dallo strumento prima di chiamare di nuovo.
Un report rimane in coda o in esecuzione.
I report completi vengono eseguiti in modo asincrono e richiedono più tempo rispetto allo screening rapido.
Mantieni lo stesso task_id ed esegui il polling. Se hai perso il task_id, chiama GET /ftir/tasks per elencare le attività recenti e ritrovarlo.
422 oppure missing_input
Il corpo della richiesta non contiene i campi obbligatori o ha un formato non valido. Per analyze_spectrum, è necessario fornire almeno uno tra: peaks, query o file_base64.
Controlla che il tuo JSON sia valido, Content-Type sia application/json e che i campi obbligatori siano presenti. Vedi gli esempi di richiesta sopra.
413 file_too_large
Il file dello spettro caricato supera il limite di dimensione.
Esporta un file più piccolo o usa solo le posizioni dei picchi tramite il campo spectrum.peaks.
Pronto a costruire?
Il riferimento REST completo contiene ogni endpoint, formati di richiesta e risposta, autenticazione, limiti di frequenza, codici di errore, definizioni degli strumenti MCP ed esempi di codice in Python e curl.