Conecte FTIR.fun a qualquer ferramenta ou aplicativo de IA
Dê ao seu assistente de IA ou ao seu próprio código acesso direto a 320,000+ espectros de referência, ao raciocínio sobre picos baseado em grafos de conhecimento e à interpretação fundamentada na literatura. Escolha uma das três formas de conexão — MCP para assistentes de IA, a API REST para código ou uma Skill pronta para plataformas sem código. Cada opção abaixo tem instruções passo a passo escritas para usuários iniciantes.
O MCP e a API REST usam a mesma chave de API do FTIR.fun. O Coze/Doubao usa uma chave de serviço configurada pelo publicador do plugin, portanto os usuários finais utilizam o plugin sem colar uma chave pessoal. Obter uma chave pessoal leva cerca de um minuto:
Faça login no FTIR.funCrie uma conta gratuita (as novas contas incluem créditos de avaliação gratuitos).
Visualize ou copie sua chave de APIA chave completa (começa com ftir_) permanece disponível no painel de Chaves de API. Você pode retornar lá para visualizá-la, copiá-la ou revogá-la.
Os três se conectam ao mesmo mecanismo: 320,000+ espectros, raciocínio baseado em grafos de conhecimento e citações da literatura. Você só precisa de um. Escolha o caminho que corresponda à sua forma de trabalhar; o MCP é uma opção conveniente para usuários de assistentes de IA.
MCPCaminho A — Servidor MCP
O MCP (Model Context Protocol) é a forma padrão para os assistentes de IA chamarem ferramentas externas. O FTIR.fun disponibiliza um servidor MCP hospedado — não é necessária instalação local. Adicione uma pequena configuração ao seu cliente de IA, introduza a sua chave de API e o seu assistente terá acesso às ferramentas do FTIR.fun habilitadas para essa chave.
✓Como funciona o login (leia isto primeiro):
O FTIR.fun autentica com a chave de API da sua conta, enviada como um cabeçalho Authorization: Bearer. Não há login de navegador OAuth nem página de autorização separada. Se um cliente tentar abrir uma página de autorização, ele está usando uma configuração desatualizada — veja Solução de problemas abaixo.
Escolha seu cliente para etapas exatas:
VS
Configure o FTIR.fun MCP no VS Code
Requer um VS Code atual com GitHub Copilot Chat no modo Agente.
Abra seu projeto e crie o arquivo .vscode/mcp.jsonDentro da pasta do seu projeto, crie uma pasta chamada .vscode (se não existir) e um arquivo chamado mcp.json dentro dela. Quer o FTIR.fun disponível em todos os projetos? Coloque o mesmo JSON nas configurações de nível de usuário: abra a Paleta de Comandos, procure 'Preferences: Open User Settings (JSON)', e adicione uma entrada mcp.servers lá.
Cole esta configuração exataCopie exatamente como está. Mantenha o espaço reservado ${input:...} — o VS Code solicitará a chave com segurança quando o servidor for iniciado.
Inicie o servidor ftirfunAbra a Paleta de Comandos, execute “MCP: List Servers”, selecione ftirfun e escolha Iniciar. Algumas versões do VS Code mostram uma ação Iniciar logo acima do servidor no mcp.json — isso também funciona.
Cole apenas sua chave de API quando solicitadoQuando o VS Code solicitar ftirfun-api-key, cole apenas a chave bruta (começa com ftir_). A configuração adiciona Bearer automaticamente.
Confirme que conectouAbra o Copilot Chat no modo Agente e verifique a lista de ferramentas. FTIR.fun deve exibir o catálogo unificado de ferramentas; chamadas fora do escopo de recursos desta chave retornarão um erro de permissão. Em seguida, experimente o prompt de teste abaixo.
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬Já viu uma página de autorização ou um erro de “página de autorização não existe” antes? Isso era uma configuração OAuth desatualizada. Exclua a entrada antiga do ftirfun, cole o JSON acima, recarregue o VS Code e inicie novamente. Correção completa em Solução de Problemas.
A
Configure FTIR.fun MCP no Claude
Listado oficialmente no Registro MCP da Anthropic. Funciona no Claude Desktop e no Claude Code.
Abra as configurações do servidor MCPNo Claude Desktop, vá em Configurações → Conectores → Adicionar conector personalizado. No Claude Code, edite seu arquivo de configuração MCP.
Adicione o servidor remoto e o cabeçalho BearerUse a URL hospedada e adicione sua chave de API como cabeçalho de Autorização. Substitua o espaço reservado pela sua chave real (começa com ftir_).
Reinicie o Claude e confirmeReinicie o Claude Desktop, abra o painel de conectores/ferramentas e confirme que as ferramentas FTIR.fun aparecem. Depois, faça uma pergunta em linguagem natural.
Identify this polymer from its FTIR peaks: 2915, 1715, 1450 cm-1.
📎Prefere a CLI do Claude Code? Execute claude mcp add --transport http ftirfun https://ftir.fun/mcp --header "Authorization: Bearer ftir_your_key_here".
Cu
Configure FTIR.fun MCP no Cursor
Edite a configuração MCP do Cursor para que seu editor de código IA possa chamar o FTIR.fun sem sair da IDE.
Abra o arquivo de configuração MCPCrie ou edite ~/.cursor/mcp.json (global) ou .cursor/mcp.json dentro do seu projeto.
Cole o bloco do servidorSubstitua o espaço reservado pela sua chave real (começa com ftir_).
Recarregue o Cursor e confirmeReabra o Cursor, verifique Configurações → MCP para o servidor ftirfun e seu status verde, depois pergunte no chat.
Cx
Configure o MCP do FTIR.fun no Codex ou em qualquer ambiente MCP
Funciona com OpenAI Codex e qualquer cliente compatível com MCP que suporte servidores HTTP remotos.
Adicione o servidor à sua configuração do CodexAponte o cliente para a URL hospedada e certifique-se de que ele envie sua chave de API como um cabeçalho Bearer. Substitua o marcador pela sua chave real.
Reinicie e confirme que as ferramentas carregamReinicie o cliente e confirme que o catálogo de ferramentas FTIR.fun está listado antes de enviar prompts. A chave de API controla quais funcionalidades podem ser chamadas.
Gm
Configure o FTIR.fun MCP na CLI do Gemini
Adicione FTIR.fun a um cliente Gemini compatível com MCP usando a mesma URL hospedada e o cabeçalho Bearer.
Edite ~/.gemini/settings.jsonAdicione uma entrada de servidor httpUrl com seu cabeçalho de chave de API. Substitua o espaço reservado pela sua chave real.
Reinicie o Gemini CLI e confirmeExecute /mcp para listar servidores e confirme que o ftirfun está conectado antes de solicitar.
🧩Usando outro cliente MCP? Qualquer cliente que suporte um servidor HTTP remoto transmitível funciona: defina a URL para https://ftir.fun/mcp e enviar Authorization: Bearer <your key>. Veja o cartão do servidor público para o esquema completo da ferramenta: server-card.json
✓Após uma conexão bem-sucedida, seu cliente de IA deve listar estas 7 ferramentas:parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
Se você vir menos ferramentas ou nenhuma, verifique a seção de Solução de Problemas abaixo.
APICaminho B — API REST
Chame o serviço REST unificado do FTIR.fun a partir do seu próprio código em qualquer linguagem — Python, JavaScript, R, MATLAB, Java, Go. Sua chave de API controla os recursos disponíveis, desde a identificação de espectros desconhecidos e a explicação de picos até a consulta de referências, relatórios, fluxos de trabalho de LIMS e outras operações habilitadas para a conta.
Verifique se o serviço REST está onlineO endpoint de saúde é público e não consome pontos. Ele deve retornar o JSON abaixo. Se você vir uma página HTML ou um timeout, o serviço pode estar temporariamente indisponível.
curl
curl https://ftir.fun/health
Resposta esperada
{"status":"ok","service":"ftirfun-api"}
Autentique-se com o cabeçalho X-API-KeyCada endpoint protegido exige sua chave em um cabeçalho X-API-Key. As mesmas regras de conta aplicam-se ao aplicativo web: pontos, assinatura e limites de taxa. Se a chave estiver incorreta ou ausente, você receberá um erro JSON 401; se o escopo de capacidade não incluir a operação, você receberá uma resposta 403 capability_not_enabled.
Cabeçalho de autenticação
X-API-Key: ftir_your_key_here
Faça sua primeira chamada — identifique um espectro desconhecidoEnvie uma lista de picos (ou um arquivo carregado) e obtenha materiais candidatos classificados com pontuações de similaridade e evidências de picos. O bloco de opções é opcional — os padrões são top_k=15 (intervalo 1–50) e tolerance_cm1=8 (intervalo 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..."
}
Explore os demais endpointsA referência completa cobre todos os endpoints, formatos de solicitação e resposta, códigos de erro e mais exemplos de código. Veja o Documentação da API.
O que você deseja
Endpoint
Entrada
Identificar um espectro desconhecido
POST /ftir/analyze_spectrum
Corpo JSON com spectrum.peaks ou file_base64
Explicar um ou mais picos
POST /ftir/explain_peak_assignments
Corpo JSON com lista de picos ou texto de consulta
Encontre um espectro de referência conhecido
POST /ftir/find_spectra
Corpo JSON com string de consulta
Busque um resultado anterior pelo número do relatório
GET /ftir/result/{result_num}
Parâmetro de caminho, opcional ?language_code=en
Envie um relatório assíncrono completo e depois faça polling
POST /ftir/reports · GET /ftir/reports/{task_id}
Corpo JSON com file_base64 (obrigatório)
Recupere um task_id perdido ou liste suas análises recentes
GET /ftir/tasks
Sem corpo; retorna suas tarefas mais recentes com task_id, status e result_num
Analisar um arquivo de instrumento para picos
POST /parse-spectrum
Upload de arquivo multipart OU JSON com file_base64
Converter um arquivo nativo com preservação de metadados
POST /native-spectrum/convert
Arquivo multipart mais formato de saída OU JSON com file_base64, nome do arquivo e formato de saída
💡Dica: POST /ftir/analyze_spectrum é o único ponto de entrada recomendado para identificação de espectros. Os endpoints mais antigos /v1/search, /ftir/identify_material e /ftir/match_library_topk permanecem disponíveis como aliases de compatibilidade — novas integrações precisam apenas de analyze_spectrum.
Referência de parâmetros-chave
Parâmetro
Tipo
Padrão
Intervalo
Usado por
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
(empty)
Veja a lista abaixo
reports, explain_peaks
language_code
string
"en"
ISO 639-1
reports, fetch_result
include_report
bool
true
—
get_ftir_report_status
📘Construindo um GPT personalizado ou importando para outra ferramenta? Importe nosso esquema OpenAPI diretamente: openapi.platform.yaml.
Analisar um arquivo de instrumento (duas maneiras)
O endpoint /parse-spectrum aceita upload de arquivo multipart ou um corpo JSON com conteúdo codificado em base64. Ambos retornam a mesma resposta: picos detectados e a curva completa.
Converter um arquivo de instrumento nativo (CSV, JDX ou JSON)
Use o conversor nativo quando precisar de uma curva canônica, metadados de origem, proveniência e avisos explícitos de preservação. Ele mantém os metadados do analisador original em metadata.raw e retorna o artefato convertido como content_base64.
↗Prefere o fluxo de trabalho do navegador? Abrir Conversor de Espectro FTIR Nativo. Formatos de arquivo e de relatório/documento são rejeitados; o conversor é separado de Image → CSV.
SkillCaminho C — Habilidades e Plugins
Para plataformas populares de IA e automação, fornecemos pacotes prontos com integração de API pré-configurada. Instale um pacote ou importe um plugin, e o FTIR.fun se tornará um componente do seu fluxo de trabalho. Cada cartão abaixo informa exatamente o que executar ou importar.
LC
LangChain
Pacote Python · PyPI
Publicado
Ferramentas plug-and-play para construir agentes com conhecimento em FTIR. Gerencia codificação Base64, repetições e chamadas assíncronas para você.
Instalar
pip install langchain-ftirfun
Chamada mínima
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)
Importe FTIRFUN_TOOLS para obter a lista de funções publicada. Cada função recebe api_base_url e api_key como os dois primeiros argumentos; o servidor aplica as capacidades habilitadas para essa chave.
O plugin Coze cloud é publicado com três ferramentas: análise de espectro, pesquisa na biblioteca de referência e explicação de picos. Os usuários finais podem usá-lo diretamente no Doubao sem configurar nenhuma chave de API.
A cota é rastreada por usuário via Coze sys_uuid. O plugin usa uma chave de serviço configurada pelo editor.
GPT
ChatGPT
GPT personalizado · Ações GPT
Esquema pronto
Crie um GPT personalizado que analisa espectros, explica picos e encontra espectros de referência. Importe nosso esquema OpenAPI como uma Ação. Requer ChatGPT Plus.
Importar URL
https://ftir.fun/openapi.platform.yaml
No editor GPT: Configurar → Ações → Importar da URL. Defina auth como Chave de API (cabeçalho X-API-Key).
Adicione FTIR.fun como uma ferramenta personalizada nos seus aplicativos e agentes Dify importando o mesmo esquema OpenAPI.
Importar URL
https://ftir.fun/openapi.platform.yaml
No Dify: Ferramentas → Criar Ferramenta Personalizada → importe o esquema, defina o cabeçalho X-API-Key.
Gm
Google Gemini API
Declarações de função (integração SDK)
Pronto
Use declarações de função prontas para chamar o FTIR.fun a partir do fluxo de chamada de função da API Gemini em seu próprio código.
As declarações abrangem as operações publicadas, incluindo a análise e os relatórios completos assíncronos. O servidor aplica as capacidades habilitadas para cada chave de API.
Os serviços unificados MCP e REST expõem o mesmo catálogo de operações do FTIR.fun. As chaves de API podem receber um escopo de capacidades menor, enquanto as declarações específicas da plataforma podem publicar intencionalmente apenas um subconjunto. As operações abaixo partilham os mesmos serviços do FTIR.fun.
Tarefa
Ferramenta MCP
Endpoint REST
Diga isto ao seu AI
Ler um arquivo de instrumento
parse_ftir_spectrum
POST /parse-spectrum
Analise sample.spc e liste os picos detectados.
Converter dados nativos e preservar metadados
convert_native_spectrum
POST /native-spectrum/convert
Converter sample.spa para JDX e manter os metadados de origem.
Identificar um espectro desconhecido
analyze_ftir_spectrum
POST /ftir/analyze_spectrum
Identifique qual polímero é este espectro.
Envie um relatório triaxial completo
submit_ftir_report
POST /ftir/reports
Envie sample.spa para um relatório completo no modo ATR.
Faça a votação e recupere esse relatório
get_ftir_report_status
GET /ftir/reports/{task_id}
Verifique a tarefa do relatório e me envie o link quando estiver pronto.
Explicar picos
explain_peaks
POST /ftir/explain_peak_assignments
O que os picos em 1715 e 1450 cm-1 indicam?
Encontre um espectro de referência conhecido
find_spectra
POST /ftir/find_spectra
Encontre espectros de referência para poliestireno.
Reabra um resultado anterior
fetch_result
GET /ftir/result/{result_num}
Obtenha o resultado 20260528100755416137536.
🎓Atribuição de Picos Acadêmica —
Para amostras com composição conhecida, o recurso avançado REST/MCP do FTIR.fun atribui cada pico medido com evidências rastreadas na literatura. Cada envio custa 30 pontos ou é gratuito com uma assinatura ativa; as consultas de status não são cobradas.
Descreva a tarefa naturalmente (por exemplo: “Atribua todos os picos de FTIR medidos para este espectro; a amostra é PMMA conhecido; envie o relatório por e-mail para mim”) — o cliente fornece o arquivo e você nunca precisa construir JSON ou Base64 você mesmo. Os resultados concluídos retornam tanto o status JSON quanto os endereços protegidos do relatório; os relatórios não são expostos em um caminho público de download.
Extensões de nome de arquivo de espectro suportadas (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. Mantenha a extensão do arquivo original. Arquivos não suportados ou ilegíveis retornam supported_extensions e supported_formats. Os valores válidos de sampling_mode são KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR e Others. Transmission não é um valor válido.
{
"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..."
}
Obtendo o relatório completo (assíncrono)
A triagem rápida (analyze_spectrum) retorna imediatamente. O relatório completo de três eixos é executado em segundo plano e normalmente leva de 30 a 90 segundos. Mantenha o task_id e consulte-o periodicamente em vez de reenviar a solicitação.
EnviarChame submit_ftir_report (MCP) ou POST /ftir/reports (REST). Você recebe de volta um task_id e um result_num reservado. O campo file_base64 é obrigatório; outros campos (sampling_mode, prior_context, language_code, sample_name, sample_order_no) são opcionais.
EnqueteChame get_ftir_report_status (MCP) ou GET /ftir/reports/{task_id} a cada 5–10 segundos até que completed seja true. A resposta concluída inclui report_url, um objeto report (conteúdo de resultado estruturado, com o report_view detalhado dentro dele) e result_num.
Abrir o relatório finalAbra a URL completa https://ftir.fun/outputdata/?num={result_num} em um navegador para visualizar a página completa de resultados tri-axis renderizada pelo FTIR.fun.
⚠️Mantenha o task_id e faça polling até a conclusão ou falha. Envios duplicados enquanto estiver na fila ou em execução desperdiçam pontos.
Solução de problemas
O que você vê
O que significa
O que fazer
O cliente abre uma página de autorização do navegador, ou diz que a página de autorização não existe.
Seu cliente está usando uma entrada de servidor antiga no estilo OAuth. O FTIR.fun não usa OAuth — apenas uma chave de API.
Exclua a entrada antiga do servidor ftirfun, cole a configuração exata desta página, recarregue o cliente e inicie o ftirfun novamente.
401 (MCP) / 401 invalid_api_key (REST)
A chave de API está ausente, expirada, revogada ou colada incorretamente.
Reinicie o servidor e cole apenas a chave bruta (começa com ftir_). Gere uma nova chave a partir do Painel de Chaves de API se necessário.
O servidor inicia, mas nenhuma ferramenta aparece.
O cliente não atualizou seu catálogo ou a configuração usa o nome de chave errado.
Para o VS Code, confirme que o mcp.json usa servers (não mcpServers). Em seguida, pare e inicie ftirfun, ou recarregue a janela.
403 insufficient_balance
A conta não tem pontos suficientes para essa análise.
Verifique seu saldo ou assinatura no FTIR.fun e tente novamente.
429 rate_limit_exceeded
A análise e parsing REST permitem 60 solicitações por minuto por chave de API; as leituras de resultados REST e status de relatório usam um bucket separado de 120 solicitações por minuto; o MCP permite 60 chamadas por minuto para cada chave de API e ferramenta.
Aguarde o período de repetição informado pela ferramenta antes de chamar novamente.
Um relatório permanece na fila ou em execução.
Relatórios completos são executados de forma assíncrona e demoram mais que a triagem rápida.
Mantenha o mesmo task_id e faça polling. Se você perdeu o task_id, chame GET /ftir/tasks para listar suas tarefas recentes e encontrá-lo novamente.
422 ou missing_input
O corpo da requisição está faltando campos obrigatórios ou tem formato inválido. Para analyze_spectrum, você deve fornecer pelo menos um de: peaks, query, ou file_base64.
Verifique se seu JSON é válido, o Content-Type é application/json e os campos obrigatórios estão presentes. Veja os exemplos de requisições acima.
413 file_too_large
O arquivo de espectro carregado excede o limite de tamanho.
Exporte um arquivo menor ou use apenas as posições dos picos através do campo spectrum.peaks.
Pronto para construir?
A referência completa da REST possui todos os endpoints, formatos de requisição e resposta, autenticação, limites de taxa, códigos de erro, definições de ferramentas MCP e exemplos de código em Python e curl.