개발자 및 AI 통합

FTIR.fun을 모든 AI 도구 또는 앱에 연결

AI 어시스턴트 또는 자체 코드에 130,000개 이상의 참조 스펙트럼, 지식 그래프 피크 추론, 문헌 기반 해석에 대한 직접 액세스 권한을 부여하세요. 연결 방법은 세 가지 중 하나를 선택하세요 — AI 어시스턴트용 MCP, 코드용 REST API, 또는 노코드 플랫폼용 기성 스킬. 아래의 모든 경로는 처음 사용자를 위해 단계별 지침으로 작성되었습니다.

검토 및 등록됨

시작하기 전에 — API 키를 받으세요

MCP와 REST API는 모두 하나의 FTIR.fun API 키를 사용합니다. Coze/Doubao는 플러그인 게시자가 구성한 서비스 키를 사용하므로 최종 사용자는 개인 키를 붙여넣지 않습니다. 개인 키를 얻는 데 약 1분이 소요됩니다:

  1. FTIR.fun에 로그인 계정이 없으면 무료 계정을 만드세요. 새 계정에는 무료 평가판 크레딧이 포함됩니다.
  2. API 키 대시보드 열기 이동 계정 → API 키 그리고 생성을 클릭하십시오.
  3. 키를 즉시 복사하여 저장하세요 전체 키(ftir_로 시작)는 한 번만 표시됩니다. 안전한 곳에 보관하세요. 분실하면 새로 생성하면 됩니다.
🔑 준비되었습니까? API 키 대시보드 열기 새 탭에서 연 다음 돌아와서 위에서 선택한 경로를 따르십시오.
⚠️ 호스팅된 MCP 서버는 FTIR.fun API 키 대시보드에서 생성된 계정 API 키(ftir_로 시작)만 허용합니다. 서버 측 마스터 키는 REST 운영자를 위한 것이며 호스팅된 MCP에 로그인할 수 없습니다.

1단계 — 어떤 연결이 적합한가요?

세 가지 모두 동일한 엔진에 연결됩니다: 130,000개 이상의 스펙트럼, 지식 그래프 추론 및 문헌 인용. 하나만 필요합니다. 작업 방식에 따라 선택하세요 — 확실하지 않습니까? MCP는 AI 어시스턴트를 사용하는 모든 사람에게 가장 인기 있는 선택입니다.

AI가 실제로 할 수 있는 일

현재 MCP, REST, n8n 및 LangChain 배포판은 7가지 작업을 제공합니다. 게시된 Coze 플러그인은 세 가지 도구(분석, 찾기, 설명)를 제공하며, 다른 템플릿은 더 작은 선언된 세트를 제공할 수 있습니다. 사용하기 전에 각 플랫폼 카드를 확인하세요. 아래 작업은 동일한 FTIR.fun 서비스를 공유합니다.

작업 MCP 도구 REST 엔드포인트 AI에게 이렇게 말하세요.
장비 파일 읽기 parse_ftir_spectrum POST /parse-spectrum sample.spc를 파싱하고 감지된 피크를 나열합니다.
알 수 없는 스펙트럼 식별 analyze_ftir_spectrum POST /ftir/analyze_spectrum 이 스펙트럼이 어떤 폴리머인지 식별하십시오.
전체 삼축 보고서 제출 submit_ftir_report POST /ftir/reports ATR 모드에서 전체 보고서를 위해 sample.spa를 제출하세요.
해당 보고서를 폴링하여 가져오세요 get_ftir_report_status GET /ftir/reports/{task_id} 보고서 작업을 확인하고 완료되면 링크를 알려주세요.
피크 설명 explain_peaks POST /ftir/explain_peak_assignments 1715 및 1450 cm-1에서의 피크는 무엇을 나타냅니까?
알려진 참조 스펙트럼 찾기 find_spectra POST /ftir/find_spectra 폴리스티렌의 기준 스펙트럼을 찾습니다.
이전 결과 다시 열기 fetch_result GET /ftir/result/{result_num} 결과 20260528100755416137536을 가져옵니다.

지원되는 파일: SPA, SPC, OPUS, JCAMP-DX, CSV, TSV, Excel, JSON. 유효한 sampling_mode 값은 KBr Pellet, Vapor, Solvent, Thin Film, Paraffin Mull, ATR, Diffuse Reflectance, Micro IR 및 Others입니다. Transmission은 유효한 값이 아닙니다. 원본 파일 확장자를 유지하여 FTIR.fun이 올바른 파서를 선택하도록 하세요.

find_spectra 응답 예시

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

explain_peaks 응답 예시

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

전체 보고서 가져오기 (비동기)

빠른 스크리닝(analyze_spectrum)은 즉시 반환됩니다. 전체 삼축 보고서는 백그라운드에서 실행되며 일반적으로 30-90초가 소요됩니다. 보고서가 실행되는 동안 다시 제출하지 말고 task_id를 유지하고 폴링하세요.

  1. 제출 submit_ftir_report(MCP) 또는 POST /ftir/reports(REST)를 호출하세요. task_id와 예약된 result_num이 반환됩니다. file_base64 필드는 필수이며, 다른 필드(sampling_mode, prior_context, language_code, sample_name, sample_order_no)는 선택 사항입니다.
    제출 예시 (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"}'
    응답 제출
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. 투표 completedtrue가 될 때까지 5-10초마다 get_ftir_report_status(MCP) 또는 GET /ftir/reports/{task_id}를 호출하세요. 완료 응답에는 report_url, report_view(구조화된 보고서 내용) 및 result_num이 포함됩니다.
    폴링 예시
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    폴링 응답 (진행 중)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    폴링 응답 (완료됨)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. 최종 보고서 열기 브라우저에서 전체 URL https://ftir.fun/outputdata/?num={result_num}을 열어 FTIR.fun이 렌더링한 완전한 삼축 결과 페이지를 확인하세요.
⚠️ 대기 중이거나 실행 중인 동안 동일한 보고서를 다시 제출하지 마십시오. task_id를 유지하고 완료되거나 실패할 때까지 계속 폴링하십시오. 중복 제출은 포인트를 낭비합니다.

문제 해결

보이는 것 의미 해야 할 일
클라이언트가 브라우저 인증 페이지를 열거나, 인증 페이지가 존재하지 않는다고 표시합니다. 클라이언트가 오래된 OAuth 스타일 서버 항목을 사용하고 있습니다. FTIR.fun은 OAuth를 사용하지 않으며 API 키만 사용합니다. 기존 ftirfun 서버 항목을 삭제하고, 이 페이지에서 정확한 구성을 붙여넣은 후, 클라이언트를 다시 로드하고 ftirfun을 다시 시작하세요.
401 (MCP) / 401 invalid_api_key (REST) API 키가 없거나, 만료되었거나, 취소되었거나, 잘못 붙여넣어졌습니다. 서버를 다시 시작하고 원시 키(ftir_로 시작)만 붙여넣으십시오. 에서 새 키를 생성하십시오. API 키 대시보드 필요한 경우.
서버가 시작되지만 도구가 나타나지 않습니다. 클라이언트가 카탈로그를 새로 고치지 않았거나 구성이 잘못된 키 이름을 사용하고 있습니다. VS Code의 경우 mcp.json이 servers(mcpServers가 아님)를 사용하는지 확인하십시오. 그런 다음 ftirfun을 중지하고 시작하거나 창을 다시 로드하십시오.
403 insufficient_balance 계정에 해당 분석을 위한 포인트가 충분하지 않습니다. FTIR.fun에서 잔액 또는 구독을 확인한 후 다시 시도하세요.
429 rate_limit_exceeded REST 분석 및 파싱은 API 키당 분당 60회 요청을 허용합니다. REST 결과 및 보고서 상태 읽기는 별도의 분당 120회 요청 버킷을 사용합니다. MCP는 각 API 키 및 도구에 대해 분당 60회 호출을 허용합니다. 도구에서 보고된 재시도 기간을 기다렸다가 다시 호출하세요.
보고서가 대기 중 또는 실행 중으로 유지됩니다. 전체 보고서는 비동기적으로 실행되며 빠른 스크리닝보다 오래 걸립니다. 동일한 task_id를 유지하고 계속 폴링하세요. 중복 보고서 작업을 생성하지 마세요.
422 또는 missing_input 요청 본문에 필수 필드가 누락되었거나 형식이 잘못되었습니다. analyze_spectrum의 경우 peaks, query 또는 file_base64 중 하나 이상을 제공해야 합니다. JSON이 유효하고 Content-Type이 application/json이며 필수 필드가 있는지 확인하세요. 위의 예시 요청을 참조하십시오.
413 file_too_large 업로드된 스펙트럼 파일이 크기 제한을 초과했습니다. 더 작은 파일을 내보내거나 spectrum.peaks 필드를 통해 피크 위치만 사용하세요.

구축할 준비가 되셨나요?

전체 REST 참조에는 모든 엔드포인트, 요청 및 응답 형식, 인증, 속도 제한, 오류 코드, MCP 도구 정의 및 Python과 curl의 코드 예제가 포함되어 있습니다.

요청 제출 양식