Connectez FTIR.fun à n'importe quel outil ou application IA
Donnez à votre assistant IA ou à votre propre code un accès direct à 320,000+ spectres de référence, au raisonnement sur les pics fondé sur un graphe de connaissances et à une interprétation étayée par la littérature. Choisissez l’une des trois méthodes de connexion — MCP pour les assistants IA, l’API REST pour le code ou un Skill prêt à l’emploi pour les plateformes sans code. Chaque méthode ci-dessous est accompagnée d’instructions étape par étape conçues pour les utilisateurs débutants.
MCP et l’API REST utilisent tous deux une clé API FTIR.fun. Coze/Doubao utilise une clé de service configurée par l’éditeur du plugin ; les utilisateurs finaux utilisent donc le plugin sans saisir de clé personnelle. L’obtention d’une clé personnelle prend environ une minute :
Connectez-vous à FTIR.funCréez un compte gratuit (les nouveaux comptes incluent des crédits d’essai gratuits).
Ouvrir le tableau de bord des clés APIAller à Compte → Clés API et cliquez sur Générer.
Afficher ou copier votre clé APILa clé complète (elle commence par ftir_) reste disponible dans le tableau de bord des clés API. Vous pouvez y retourner pour la voir, la copier ou la révoquer.
Les trois se connectent au même moteur : 320,000+ spectres, raisonnement fondé sur le graphe de connaissances et citations bibliographiques. Vous n’en avez besoin que d’un seul. Choisissez le chemin correspondant à votre façon de travailler ; MCP est une option pratique pour les utilisateurs d’assistants IA.
MCPChemin A — Serveur MCP
MCP (Model Context Protocol) est la méthode standard permettant aux assistants d’IA d’appeler des outils externes. FTIR.fun gère un serveur MCP hébergé — aucune installation locale n’est requise. Il vous suffit d’ajouter une petite configuration à votre client d’IA, de saisir votre clé API, et votre assistant bénéficiera des outils FTIR.fun activés pour cette clé.
✓Comment fonctionne la connexion (lisez ceci en premier) :
FTIR.fun s'authentifie avec la clé API de votre compte, envoyée comme en-tête Authorization: Bearer. Il n'y a pas de connexion OAuth via navigateur ni de page d'autorisation séparée. Si un client tente d'ouvrir une page d'autorisation, il utilise une configuration obsolète — voir Dépannage ci-dessous.
Choisissez votre client pour les étapes exactes :
VS
Configurer FTIR.fun MCP dans VS Code
Nécessite un VS Code à jour avec GitHub Copilot Chat en mode Agent.
Ouvrez votre projet, puis créez le fichier .vscode/mcp.jsonDans votre dossier de projet, créez un dossier nommé .vscode (s'il n'existe pas) et un fichier nommé mcp.json à l'intérieur. Vous voulez que FTIR.fun soit disponible dans tous les projets ? Placez le même JSON dans vos paramètres utilisateur : ouvrez la palette de commandes, recherchez 'Préférences : Ouvrir les paramètres utilisateur (JSON)', et ajoutez une entrée mcp.servers à la place.
Collez cette configuration exacteCopiez-le tel quel. Conservez l'espace réservé ${input:...} — VS Code vous demandera la clé de manière sécurisée au démarrage du serveur.
Démarrer le serveur ftirfunOuvrez la palette de commandes, exécutez « MCP: List Servers », sélectionnez ftirfun, et choisissez Démarrer. Certaines versions de VS Code affichent une action Démarrer juste au-dessus du serveur dans mcp.json — cela fonctionne aussi.
Collez uniquement votre clé API lorsqu'elle est demandéeLorsque VS Code demande ftirfun-api-key, collez uniquement la clé brute (qui commence par ftir_). La configuration ajoute automatiquement Bearer.
Confirmez la connexionOuvrez Copilot Chat en mode Agent et consultez la liste des outils. FTIR.fun devrait afficher le catalogue unifié des outils ; les appels ne relevant pas du périmètre de capacités de cette clé renvoient une erreur d’autorisation. Essayez ensuite le prompt de test ci-dessous.
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬Vous avez déjà vu une page d'autorisation ou une erreur « page d'autorisation inexistante » ? C'était une configuration obsolète de style OAuth. Supprimez l'ancienne entrée ftirfun, collez le JSON ci-dessus, rechargez VS Code et redémarrez-le. Correction complète dans Dépannage.
A
Configurez FTIR.fun MCP dans Claude
Officiellement répertorié dans le registre Anthropic MCP. Fonctionne dans Claude Desktop et Claude Code.
Ouvrir les paramètres du serveur MCPDans Claude Desktop, allez dans Paramètres → Connecteurs → Ajouter un connecteur personnalisé. Dans Claude Code, modifiez votre fichier de configuration MCP.
Ajoutez le serveur distant et l'en-tête BearerUtilisez l'URL hébergée et ajoutez votre clé API en tant qu'en-tête Authorization. Remplacez le paramètre fictif par votre vraie clé (commence par ftir_).
Redémarrez Claude et confirmezRedémarrez Claude Desktop, ouvrez le panneau des connecteurs/outils et confirmez que les outils FTIR.fun apparaissent. Ensuite, posez une question en langage clair.
Identify this polymer from its FTIR peaks: 2915, 1715, 1450 cm-1.
📎Vous préférez l'interface en ligne de commande Claude Code ? Exécutez claude mcp add --transport http ftirfun https://ftir.fun/mcp --header "Authorization: Bearer ftir_your_key_here".
Cu
Configurez FTIR.fun MCP dans Cursor
Modifiez la configuration MCP de Cursor pour que votre éditeur de code IA puisse appeler FTIR.fun sans quitter l'IDE.
Ouvrir le fichier de configuration MCPCréez ou modifiez ~/.cursor/mcp.json (global) ou .cursor/mcp.json dans votre projet.
Collez le bloc serveurRemplacez le placeholder par votre vraie clé (commence par ftir_).
Rechargez Cursor et confirmezRouvrez Cursor, vérifiez Paramètres → MCP pour le serveur ftirfun et son statut vert, puis demandez dans le chat.
Cx
Configurer FTIR.fun MCP dans Codex ou tout autre environnement MCP
Fonctionne avec OpenAI Codex et tout client compatible MCP qui prend en charge les serveurs HTTP distants.
Ajoutez le serveur à votre configuration CodexPointez le client vers l'URL hébergée et assurez-vous qu'il envoie votre clé API dans un en-tête Bearer. Remplacez l'espace réservé par votre véritable clé.
Redémarrez et confirmez le chargement des outilsRedémarrez le client et vérifiez que le catalogue des outils FTIR.fun est répertorié avant de saisir une invite. La clé API contrôle les fonctionnalités pouvant être appelées.
Gm
Configurer FTIR.fun MCP dans l'interface en ligne de commande Gemini
Ajoutez FTIR.fun à un client Gemini compatible MCP en utilisant la même URL hébergée et le même en-tête Bearer.
Modifiez ~/.gemini/settings.jsonAjoutez une entrée de serveur httpUrl avec votre en-tête de clé API. Remplacez le placeholder par votre vraie clé.
Redémarrez Gemini CLI et confirmezExécutez /mcp pour lister les serveurs et confirmez que ftirfun est connecté avant de demander.
🧩Vous utilisez un autre client MCP ? Tout client prenant en charge un serveur HTTP streamable à distance fonctionne : définissez l'URL sur https://ftir.fun/mcp et envoyez Authorization: Bearer <your key>. Voir la fiche du serveur public pour le schéma complet de l'outil : server-card.json
✓Après une connexion réussie, votre client IA devrait lister ces 7 outils :parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
Si vous voyez moins d'outils ou aucun, consultez la section Dépannage ci-dessous.
APIChemin B — API REST
Appelez le service REST FTIR.fun unifié depuis votre propre code, dans n’importe quel langage — Python, JavaScript, R, MATLAB, Java ou Go. Votre clé API contrôle les capacités disponibles, depuis l’identification de spectres inconnus et l’interprétation des pics jusqu’à la recherche de références, aux rapports, aux flux de travail LIMS et à d’autres opérations activées pour votre compte.
Vérifiez que le service REST est en ligneLe endpoint health est public et ne consomme pas de points. Il doit renvoyer le JSON ci-dessous. Si vous voyez une page HTML ou un délai d'attente, le service peut être temporairement indisponible.
curl
curl https://ftir.fun/health
Réponse attendue
{"status":"ok","service":"ftirfun-api"}
Authentifiez-vous avec l'en-tête X-API-KeyChaque point de terminaison protégé exige votre clé dans un en-tête X-API-Key. Les mêmes règles de compte que dans l’application web s’appliquent : points, abonnement et limites de débit. Si la clé est incorrecte ou absente, vous recevrez une erreur JSON 401 ; si son périmètre de capacités n’inclut pas l’opération, vous recevrez une réponse 403 capability_not_enabled.
En-tête d'authentification
X-API-Key: ftir_your_key_here
Effectuez votre premier appel — identifiez un spectre inconnuEnvoyez une liste de pics (ou un fichier téléchargé) et obtenez des matériaux candidats classés avec des scores de similarité et des preuves de pics. Le bloc d'options est facultatif — les valeurs par défaut sont top_k=15 (plage 1 à 50) et tolerance_cm1=8 (plage 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..."
}
Explorez le reste des points de terminaisonLa référence complète couvre chaque endpoint, les formats de requête et de réponse, les codes d'erreur et plus d'exemples de code. Voir le Documentation de l'API.
Ce que vous voulez
Point de terminaison
Entrée
Identifier un spectre inconnu
POST /ftir/analyze_spectrum
Corps JSON avec spectrum.peaks ou file_base64
Expliquer un ou plusieurs pics
POST /ftir/explain_peak_assignments
Corps JSON avec liste de pics ou texte de requête
Trouver un spectre de référence connu
POST /ftir/find_spectra
Corps JSON avec chaîne de requête
Récupérez un résultat passé par numéro de rapport
GET /ftir/result/{result_num}
Paramètre de chemin, optionnel ?language_code=en
Soumettez un rapport asynchrone complet, puis interrogez-le
POST /ftir/reports · GET /ftir/reports/{task_id}
Corps JSON avec file_base64 (obligatoire)
Récupérez un task_id perdu, ou listez vos analyses récentes
GET /ftir/tasks
Aucun corps ; renvoie vos tâches les plus récentes avec task_id, status et result_num
Analyser un fichier d'instrument en pics
POST /parse-spectrum
Téléchargement de fichier multipart OU JSON avec file_base64
Convertir un fichier natif avec préservation des métadonnées
POST /native-spectrum/convert
Fichier multipart plus output_format OU JSON avec file_base64, filename et output_format
💡Astuce : POST /ftir/analyze_spectrum est le point d'entrée unique recommandé pour l'identification des spectres. Les anciens endpoints /v1/search, /ftir/identify_material et /ftir/match_library_topk restent disponibles comme alias de compatibilité — les nouvelles intégrations n'ont besoin que d'analyze_spectrum.
Référence des paramètres clés
Paramètre
Type
Par défaut
Plage
Utilisé par
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
(vide)
Voir la liste ci-dessous
reports, explain_peaks
language_code
string
"en"
ISO 639-1
reports, fetch_result
include_report
bool
true
—
get_ftir_report_status
📘Vous construisez un GPT personnalisé ou l'importez dans un autre outil ? Importez notre schéma OpenAPI directement : openapi.platform.yaml.
Analyser un fichier d'instrument (deux méthodes)
Le point de terminaison /parse-spectrum accepte soit un téléchargement de fichier multipart, soit un corps JSON avec un contenu encodé en base64. Les deux renvoient la même réponse : les pics détectés et la courbe complète.
Convertir un fichier d'instrument natif (CSV, JDX ou JSON)
Utilisez le convertisseur natif lorsque vous avez besoin d'une courbe canonique, de métadonnées sources, de provenance et d'avertissements de préservation explicites. Il conserve les métadonnées du parseur original dans metadata.raw et renvoie l'artefact converti en content_base64.
↗Préférer le flux de travail du navigateur ? Ouvrir le convertisseur de spectre FTIR natif. Les formats d'archives et de rapports/documents sont rejetés ; le convertisseur est séparé de Image → CSV.
SkillChemin C — Compétences et plugins
Pour les plateformes populaires d’IA et d’automatisation, nous fournissons des packages prêts à l’emploi avec une intégration API préconfigurée. Installez un package ou importez un plugin, et FTIR.fun devient un élément constitutif de votre workflow. Chaque carte ci-dessous vous indique exactement quoi exécuter ou importer.
LC
LangChain
Package Python · PyPI
Publié
Outils prêts à l'emploi pour construire des agents conscients du FTIR. Gère l'encodage Base64, les tentatives et les appels asynchrones pour vous.
Installer
pip install langchain-ftirfun
Appel minimal
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)
Importez FTIRFUN_TOOLS pour obtenir la liste publiée des fonctions. Chaque fonction prend api_base_url et api_key comme deux premiers arguments ; le serveur applique les fonctionnalités activées pour cette clé.
Le plugin cloud Coze est publié avec trois outils : analyse du spectre, recherche dans la bibliothèque de référence et explication des pics. Les utilisateurs finaux peuvent l'utiliser directement dans Doubao sans configurer de clé API.
Le quota est suivi par utilisateur via le sys_uuid Coze. Le plugin utilise une clé de service configurée par l'éditeur.
GPT
ChatGPT
GPT personnalisé · Actions GPT
Schéma prêt
Créez un GPT personnalisé qui analyse les spectres, explique les pics et trouve des spectres de référence. Importez notre schéma OpenAPI en tant qu'action. Nécessite ChatGPT Plus.
Importer l'URL
https://ftir.fun/openapi.platform.yaml
Dans l'éditeur GPT : Configurer → Actions → Importer depuis l'URL. Définissez l'authentification sur Clé API (en-tête X-API-Key).
Ajoutez FTIR.fun comme outil personnalisé dans vos applications et agents Dify en important le même schéma OpenAPI.
Importer l'URL
https://ftir.fun/openapi.platform.yaml
Dans Dify : Outils → Créer un outil personnalisé → importer le schéma, définir l'en-tête X-API-Key.
Gm
API Google Gemini
Déclarations de fonctions (intégration SDK)
Prêt
Utilisez des déclarations de fonctions prêtes à l'emploi pour appeler FTIR.fun depuis le flux d'appel de fonctions de l'API Gemini dans votre propre code.
Les déclarations couvrent les opérations publiées, notamment l’analyse syntaxique et les rapports complets asynchrones. Le serveur applique les capacités activées pour chaque clé API.
Les services MCP et REST unifiés exposent le même catalogue d’opérations FTIR.fun. Les clés API peuvent recevoir un périmètre de capacités plus restreint, tandis que les déclarations spécifiques à la plateforme peuvent intentionnellement ne publier qu’un sous-ensemble. Les opérations ci-dessous partagent les mêmes services FTIR.fun.
Tâche
Outil MCP
Point de terminaison REST
Dites ceci à votre IA
Lire un fichier d'instrument
parse_ftir_spectrum
POST /parse-spectrum
Analysez sample.spc et listez les pics détectés.
Convertir les données natives et conserver les métadonnées
convert_native_spectrum
POST /native-spectrum/convert
Convertir sample.spa en JDX et conserver les métadonnées sources.
Identifier un spectre inconnu
analyze_ftir_spectrum
POST /ftir/analyze_spectrum
Identifiez de quel polymère est ce spectre.
Soumettre un rapport tri-axial complet
submit_ftir_report
POST /ftir/reports
Soumettez sample.spa pour un rapport complet en mode ATR.
Interrogez et récupérez ce rapport
get_ftir_report_status
GET /ftir/reports/{task_id}
Vérifiez la tâche de rapport et donnez-moi le lien une fois terminé.
Expliquer les pics
explain_peaks
POST /ftir/explain_peak_assignments
Que indiquent les pics à 1715 et 1450 cm-1 ?
Trouver un spectre de référence connu
find_spectra
POST /ftir/find_spectra
Trouvez des spectres de référence pour le polystyrène.
Rouvrez un résultat antérieur
fetch_result
GET /ftir/result/{result_num}
Récupérer le résultat 20260528100755416137536.
🎓Attribution de pics académique —
Pour les échantillons dont la composition est connue, la fonctionnalité avancée REST/MCP de FTIR.fun attribue chaque pic mesuré avec des preuves référencées dans la littérature. Chaque soumission coûte 30 points, ou est gratuite avec un abonnement actif ; les requêtes de statut ne sont pas facturées.
Décrivez la tâche naturellement (par exemple : « Attribuez tous les pics FTIR mesurés pour ce spectre ; l'échantillon est connu comme étant du PMMA ; envoyez-moi le rapport par e-mail ») — le client fournit le fichier et vous n'avez jamais besoin de construire vous-même du JSON ou du Base64. Les résultats terminés renvoient à la fois le statut JSON et les adresses de rapport protégées ; les rapports ne sont pas exposés sur un chemin de téléchargement public.
Extensions de nom de fichier de spectre prises en charge (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. Conservez l'extension de nom de fichier d'origine. Les fichiers non pris en charge ou illisibles renvoient supported_extensions et supported_formats. Les valeurs valides de sampling_mode sont Pastille de KBr, Vapeur, Solvant, Film mince, Suspension dans la paraffine, ATR, Réflectance diffuse, Micro-IR et Autres. Transmission n'est pas une valeur valide.
{
"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..."
}
Obtenir le rapport complet (asynchrone)
L’analyse rapide (analyze_spectrum) renvoie immédiatement le résultat. Le rapport complet à trois axes s’exécute en arrière-plan et prend généralement 30 à 90 secondes. Conservez le task_id et interrogez-le au lieu de soumettre à nouveau la demande.
SoumettreAppelez submit_ftir_report (MCP) ou POST /ftir/reports (REST). Vous recevez un task_id et un result_num réservé. Le champ file_base64 est obligatoire ; les autres champs (sampling_mode, prior_context, language_code, sample_name, sample_order_no) sont facultatifs.
SondageAppelez get_ftir_report_status (MCP) ou GET /ftir/reports/{task_id} toutes les 5 à 10 secondes jusqu'à ce que completed soit true. La réponse complète inclut report_url, un objet report (contenu de résultat structuré, avec le report_view détaillé à l'intérieur), et result_num.
Ouvrir le rapport finalOuvrez l'URL complète https://ftir.fun/outputdata/?num={result_num} dans un navigateur pour voir la page complète des résultats tri-axes rendue par FTIR.fun.
⚠️Conservez le task_id et effectuez des sondages jusqu’à ce que la tâche soit terminée ou échoue. Les soumissions en double pendant la mise en file d’attente ou l’exécution gaspillent des points.
Dépannage
Ce que vous voyez
Ce que cela signifie
Ce qu'il faut faire
Le client ouvre une page d'autorisation dans le navigateur, ou indique que la page d'autorisation n'existe pas.
Votre client utilise une ancienne entrée de serveur de type OAuth. FTIR.fun n'utilise pas OAuth — seulement une clé API.
Supprimer l'ancienne entrée de serveur ftirfun, coller la configuration exacte de cette page, recharger le client, et relancer ftirfun.
401 (MCP) / 401 invalid_api_key (REST)
La clé API est manquante, expirée, révoquée ou collée incorrectement.
Redémarrez le serveur et collez uniquement la clé brute (commence par ftir_). Générer une nouvelle clé à partir du Tableau de bord des clés API si nécessaire.
Le serveur démarre mais aucun outil n'apparaît.
Le client n'a pas actualisé son catalogue, ou la configuration utilise un nom de clé incorrect.
Pour VS Code, confirmez que mcp.json utilise servers (et non mcpServers). Puis arrêtez et redémarrez ftirfun, ou rechargez la fenêtre.
403 insufficient_balance
Le compte n'a pas assez de points pour cette analyse.
Vérifiez votre solde ou abonnement dans FTIR.fun, puis réessayez.
429 rate_limit_exceeded
L'analyse et l'analyse REST autorisent 60 requêtes par minute par clé API ; les lectures de résultat REST et de statut de rapport utilisent un compartiment distinct de 120 requêtes par minute ; MCP autorise 60 appels par minute pour chaque clé API et outil.
Attendez la période de nouvelle tentative signalée par l'outil avant d'appeler à nouveau.
Un rapport reste en file d'attente ou en cours d'exécution.
Les rapports complets s'exécutent de manière asynchrone et prennent plus de temps qu'un criblage rapide.
Conservez le même task_id et interrogez-le. Si vous avez perdu le task_id, appelez GET /ftir/tasks pour lister vos tâches récentes et le retrouver.
422 ou missing_input
Le corps de la requête ne contient pas les champs obligatoires ou a un format invalide. Pour analyze_spectrum, vous devez fournir au moins un des éléments suivants : peaks, query ou file_base64.
Vérifiez que votre JSON est valide, que Content-Type est application/json et que les champs obligatoires sont présents. Voir les exemples de requêtes ci-dessus.
413 file_too_large
Le fichier de spectre téléchargé dépasse la limite de taille.
Exportez un fichier plus petit ou utilisez uniquement les positions des pics via le champ spectrum.peaks.
Prêt à construire ?
La référence REST complète contient tous les points de terminaison, les formats de requête et de réponse, l'authentification, les limites de débit, les codes d'erreur, les définitions d'outils MCP et des exemples de code en Python et curl.