Integración de desarrollador e IA

Conecta FTIR.fun con cualquier herramienta o aplicación de IA

Proporcione a su asistente de IA o a su propio código acceso directo a más de 130,000 espectros de referencia, razonamiento de picos basado en grafos de conocimiento e interpretación respaldada por la literatura. Elija una de las tres formas de conectarse: MCP para asistentes de IA, la API REST para código, o una Skill lista para plataformas sin código. Cada ruta a continuación tiene instrucciones paso a paso escritas para usuarios primerizos.

Revisado y listado en

Antes de comenzar, obtenga su clave API

Tanto MCP como la API REST usan una clave API de FTIR.fun. Coze/Doubao usa una clave de servicio configurada por el editor del complemento, por lo que los usuarios finales no pegan una clave personal. Obtener una clave personal toma aproximadamente un minuto:

  1. Iniciar sesión en FTIR.fun Cree una cuenta gratuita si no tiene una. Las cuentas nuevas incluyen créditos de prueba gratuitos.
  2. Abra el panel de claves API Ir a Cuenta → Claves API y haga clic en Generar.
  3. Copiar y guardar la clave inmediatamente La clave completa (comienza con ftir_) se muestra solo una vez. Guárdala en un lugar seguro. Si la pierdes, simplemente genera una nueva.
🔑 ¿Listo? Abra el panel de Claves API en una nueva pestaña, luego regrese y siga la ruta que eligió anteriormente.
⚠️ El servidor MCP alojado acepta solo una clave API de cuenta generada en el Panel de Claves API de FTIR.fun (comienza con ftir_). Las claves maestras del lado del servidor son para operadores REST y no pueden iniciar sesión en el MCP alojado.

Paso 1 — ¿Qué conexión es la adecuada para usted?

Los tres se conectan al mismo motor: más de 130,000 espectros, razonamiento basado en grafos de conocimiento y citas bibliográficas. Solo necesitas uno. Elige según cómo trabajes. ¿No estás seguro? MCP es la opción más popular para quienes usan un asistente de IA.

Lo que tu IA realmente puede hacer

Las distribuciones actuales de MCP, REST, n8n y LangChain exponen siete operaciones. El plugin Coze publicado expone tres herramientas (analyze, find, explain), y otras plantillas pueden exponer un conjunto declarado más pequeño; verifica cada tarjeta de plataforma antes de usar. Las operaciones a continuación comparten los mismos servicios de FTIR.fun.

Tarea Herramienta MCP Punto final REST Dile esto a tu IA
Leer un archivo de instrumento parse_ftir_spectrum POST /parse-spectrum Analice sample.spc y enumere los picos detectados.
Identificar un espectro desconocido analyze_ftir_spectrum POST /ftir/analyze_spectrum Identifique qué polímero es este espectro.
Envía un informe completo de tres ejes submit_ftir_report POST /ftir/reports Envía sample.spa para un informe completo en modo ATR.
Consulta y recupera ese informe. get_ftir_report_status GET /ftir/reports/{task_id} Verifique la tarea del informe y deme el enlace cuando termine.
Explicar picos explain_peaks POST /ftir/explain_peak_assignments ¿Qué indican los picos a 1715 y 1450 cm-1?
Encuentra un espectro de referencia conocido find_spectra POST /ftir/find_spectra Encuentre espectros de referencia para poliestireno.
Vuelva a abrir un resultado anterior fetch_result GET /ftir/result/{result_num} Obtén el resultado 20260528100755416137536.

Archivos compatibles: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. Los valores válidos de sampling_mode son KBr Pellet, Vapor, Solvente, Película Delgada, Parafina Mull, ATR, Reflectancia Difusa, Micro IR y Otros. Transmisión no es un valor válido. Mantén la extensión de archivo original para que FTIR.fun seleccione el analizador correcto.

ejemplo de respuesta de find_spectra

respuesta de 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": [...]}
  ]
}

ejemplo de respuesta de explain_peaks

Respuesta de 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..."
}

Obtener el informe completo (asíncrono)

El cribado rápido (analyze_spectrum) devuelve resultados inmediatamente. El informe tri-axial completo se ejecuta en segundo plano y normalmente tarda de 30 a 90 segundos. No reenvíe mientras se esté ejecutando un informe — conserve el task_id y consúltelo.

  1. Enviar Llame a submit_ftir_report (MCP) o POST /ftir/reports (REST). Obtendrá un task_id y un result_num reservado. El campo file_base64 es obligatorio; otros campos (sampling_mode, prior_context, language_code, sample_name, sample_order_no) son opcionales.
    Ejemplo de envío (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"}'
    Enviar respuesta
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. Encuesta Llame a get_ftir_report_status (MCP) o GET /ftir/reports/{task_id} cada 5–10 segundos hasta que completed sea true. La respuesta completada incluye report_url, report_view (contenido estructurado del informe) y result_num.
    Ejemplo de consulta
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    Respuesta de consulta (en curso)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    Respuesta de sondeo (completado)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. Abra el informe final Abra la URL completa https://ftir.fun/outputdata/?num={result_num} en un navegador para ver la página completa de resultados tri-axiales renderizada por FTIR.fun.
⚠️ No envíe el mismo informe nuevamente mientras esté en cola o en ejecución. Conserve el task_id y siga consultando hasta que esté completo o haya fallado. Los envíos duplicados desperdician puntos.

Solución de problemas

Lo que ves Qué significa Qué hacer
El cliente abre una página de autorización del navegador, o dice que la página de autorización no existe. Tu cliente está usando una entrada de servidor antigua de estilo OAuth. FTIR.fun no utiliza OAuth, solo una clave API. Eliminar la entrada antigua del servidor ftirfun, pegar la configuración exacta de esta página, recargar el cliente e iniciar ftirfun de nuevo.
401 (MCP) / 401 invalid_api_key (REST) La clave API falta, ha expirado, ha sido revocada o se pegó incorrectamente. Reinicie el servidor y pegue solo la clave sin procesar (comienza con ftir_). Genere una nueva clave desde el Panel de Claves API si es necesario.
El servidor se inicia pero no aparecen herramientas. El cliente no ha actualizado su catálogo, o la configuración usa el nombre de clave incorrecto. Para VS Code, confirma que mcp.json usa servers (no mcpServers). Luego detén y reinicia ftirfun, o recarga la ventana.
403 insufficient_balance La cuenta no tiene suficientes puntos para ese análisis. Verifica tu saldo o suscripción en FTIR.fun, luego vuelve a intentarlo.
429 rate_limit_exceeded El análisis y análisis REST permiten 60 solicitudes por minuto por clave API; las lecturas de resultados REST y report-status utilizan un bucket separado de 120 solicitudes por minuto; MCP permite 60 llamadas por minuto para cada clave API y herramienta. Espere el período de reintento informado por la herramienta antes de llamar nuevamente.
Un informe permanece en cola o en ejecución. Los informes completos se ejecutan de forma asíncrona y toman más tiempo que la revisión rápida. Mantén el mismo task_id y sigue consultando. No crees tareas de informe duplicadas.
422 o missing_input El cuerpo de la solicitud carece de campos obligatorios o tiene un formato no válido. Para analyze_spectrum, debe proporcionar al menos uno de: peaks, query o file_base64. Verifique que su JSON sea válido, Content-Type sea application/json y los campos obligatorios estén presentes. Consulte los ejemplos de solicitudes anteriores.
413 file_too_large El archivo de espectro subido excede el límite de tamaño. Exporte un archivo más pequeño o use solo las posiciones de los picos a través del campo spectrum.peaks.

¿Listo para construir?

La referencia completa de REST incluye todos los endpoints, formatos de solicitud y respuesta, autenticación, límites de velocidad, códigos de error, definiciones de herramientas MCP y ejemplos de código en Python y curl.

Enviar solicitud Formulario