AI 어시스턴트 또는 자체 코드에 320,000+개의 참조 스펙트럼, 지식 그래프 기반 피크 추론 및 문헌 근거 해석에 직접 액세스할 수 있도록 하세요. 연결 방법은 세 가지 중에서 선택할 수 있습니다 — AI 어시스턴트용 MCP, 코드용 REST API 또는 노코드 플랫폼용 즉시 사용 가능한 스킬입니다. 아래의 각 방법에는 처음 사용하는 사용자를 위한 단계별 지침이 제공됩니다.
MCP와 REST API는 모두 하나의 FTIR.fun API 키를 사용합니다. Coze/Doubao는 플러그인 게시자가 구성한 서비스 키를 사용하므로 최종 사용자는 개인 키를 붙여넣지 않고 플러그인을 통해 작업할 수 있습니다. 개인 키를 받는 데는 약 1분이 걸립니다:
API 키 보기 또는 복사전체 키(ftir_로 시작)는 API 키 대시보드에서 계속 사용할 수 있습니다. 해당 페이지로 돌아가서 보기, 복사 또는 취소할 수 있습니다.
🔑준비되었습니까? API 키 대시보드 열기 새 탭에서 연 다음 돌아와서 위에서 선택한 경로를 따르십시오.
1단계 — 어떤 연결이 적합한가요?
세 가지 모두 동일한 엔진에 연결됩니다: 320,000+개의 스펙트럼, 지식 그래프 추론 및 문헌 인용. 하나만 사용하면 됩니다. 자신의 작업 방식에 맞는 경로를 선택하세요. MCP는 AI 어시스턴트 사용자에게 편리한 옵션입니다.
MCP경로 A — MCP 서버
MCP (Model Context Protocol)는 AI 어시스턴트가 외부 도구를 호출하는 표준 방식입니다. FTIR.fun은 호스팅된 MCP 서버를 실행하므로 로컬 설치가 필요하지 않습니다. AI 클라이언트에 작은 설정 하나를 추가하고 API 키를 입력하면, 어시스턴트가 해당 키에 대해 활성화된 FTIR.fun 도구를 사용할 수 있습니다.
✓로그인 작동 방식 (먼저 읽어주세요):
FTIR.fun은 계정의 API 키로 인증하며, Authorization: Bearer 헤더로 전송됩니다. OAuth 브라우저 로그인이나 별도의 권한 부여 페이지가 없습니다. 클라이언트가 권한 부여 웹페이지를 열려고 하면 오래된 구성을 사용하고 있는 것입니다 — 아래 문제 해결을 참조하십시오.
정확한 단계를 위해 클라이언트를 선택하세요:
VS
VS Code에서 FTIR.fun MCP 설정
에이전트 모드의 GitHub Copilot Chat이 있는 최신 VS Code가 필요합니다.
프로젝트를 열고 .vscode/mcp.json 파일을 만드세요.프로젝트 폴더 내에 .vscode 폴더(없는 경우)를 만들고 그 안에 mcp.json 파일을 만드세요. 모든 프로젝트에서 FTIR.fun을 사용할 수 있도록 하시겠습니까? 동일한 JSON을 사용자 수준 설정에 넣으세요. 명령 팔레트를 열고 'Preferences: Open User Settings (JSON)'을 검색한 후 대신 mcp.servers 항목을 추가하세요.
이 정확한 구성을 붙여넣으세요.있는 그대로 복사하세요. ${input:...} 플레이스홀더를 유지하세요 — 서버가 시작되면 VS Code에서 키를 안전하게 입력하도록 요청합니다.
ftirfun 서버 시작명령 팔레트를 열고 "MCP: List Servers"를 실행한 후 ftirfun을 선택하고 시작을 선택하세요. 일부 VS Code 버전에서는 mcp.json에서 서버 바로 위에 시작 작업이 표시됩니다. 그것도 작동합니다.
메시지가 표시되면 API 키만 붙여넣으세요.VS Code에서 ftirfun-api-key를 요청하면 원시 키만 붙여 넣으세요(ftir_로 시작). 구성에서 Bearer를 자동으로 추가합니다.
연결 확인에이전트 모드에서 Copilot Chat을 열고 도구 목록을 확인하십시오. FTIR.fun에 통합 도구 카탈로그가 표시되어야 합니다. 이 키의 기능 범위를 벗어난 호출은 권한 오류를 반환합니다. 그런 다음 아래의 테스트 프롬프트를 시도하십시오.
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬이전에 인증 페이지 또는 "인증 페이지가 존재하지 않음" 오류를 보셨나요? 그것은 구식 OAuth 스타일 구성이었습니다. 이전 ftirfun 항목을 삭제하고 위의 JSON을 붙여넣은 후 VS Code를 다시 로드하고 다시 시작하세요. 전체 수정 방법은 문제 해결을 참조하세요.
A
Claude에서 FTIR.fun MCP 설정
Anthropic MCP 레지스트리에 공식 등록되었습니다. Claude Desktop 및 Claude Code에서 작동합니다.
MCP 서버 설정 열기Claude Desktop에서 설정 → 커넥터 → 사용자 지정 커넥터 추가로 이동합니다. Claude Code에서는 MCP 구성 파일을 편집합니다.
원격 서버 및 Bearer 헤더 추가호스팅된 URL을 사용하고 API 키를 Authorization 헤더로 추가하세요. 플레이스홀더를 실제 키(ftir_로 시작)로 바꾸세요.
Gemini CLI 재시작 및 확인/mcp를 실행하여 서버를 나열하고 프롬프트 전에 ftirfun이 연결되었는지 확인하세요.
🧩다른 MCP 클라이언트를 사용 중이신가요? 원격 스트리밍 가능 HTTP 서버를 지원하는 모든 클라이언트가 작동합니다: URL을 다음으로 설정하세요. https://ftir.fun/mcp 그리고 보내기 Authorization: Bearer <your key>. 전체 도구 스키마는 공개 서버 카드를 참조하세요: server-card.json
✓성공적으로 연결되면 AI 클라이언트는 다음 7가지 도구를 나열해야 합니다.parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
도구가 적게 표시되거나 전혀 표시되지 않으면 아래 문제 해결을 확인하세요.
API경로 B — REST API
Python, JavaScript, R, MATLAB, Java, Go 등 어떤 언어로든 자체 코드에서 통합 FTIR.fun REST 서비스를 호출하십시오. API 키는 미지 스펙트럼 식별 및 피크 설명부터 참조 검색, 보고서, LIMS 워크플로 및 계정에서 활성화된 기타 작업에 이르기까지 사용 가능한 기능을 제어합니다.
REST 서비스가 온라인 상태인지 확인하세요상태 엔드포인트는 공개이며 포인트를 소모하지 않습니다. 아래 JSON을 반환해야 합니다. HTML 페이지나 시간 초과가 표시되면 서비스가 일시적으로 중단되었을 수 있습니다.
curl
curl https://ftir.fun/health
예상 응답
{"status":"ok","service":"ftirfun-api"}
X-API-Key 헤더로 인증모든 보호된 엔드포인트는 X-API-Key 헤더에 사용자의 키를 요구합니다. 웹 앱과 동일한 계정 규칙이 적용됩니다: 포인트, 구독 및 요청 제한입니다. 키가 잘못되었거나 누락된 경우 401 JSON 오류가 반환되며, 키의 기능 범위에 해당 작업이 포함되지 않은 경우 403 capability_not_enabled 응답이 반환됩니다.
인증 헤더
X-API-Key: ftir_your_key_here
첫 번째 호출 — 알 수 없는 스펙트럼 식별피크 목록(또는 업로드된 파일)을 보내고 유사도 점수와 피크 증거가 포함된 순위별 후보 물질을 받습니다. 옵션 블록은 선택 사항입니다. 기본값은 top_k=15(범위 1-50) 및 tolerance_cm1=8(범위 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..."
}
나머지 엔드포인트 살펴보기전체 참조는 모든 엔드포인트, 요청 및 응답 형식, 오류 코드 및 더 많은 코드 샘플을 다룹니다. 다음을 참조하세요. API 문서.
원하는 것
엔드포인트
입력
알 수 없는 스펙트럼 식별
POST /ftir/analyze_spectrum
spectrum.peaks 또는 file_base64가 포함된 JSON 본문
하나 이상의 피크 설명
POST /ftir/explain_peak_assignments
피크 목록 또는 쿼리 텍스트가 포함된 JSON 본문
알려진 참조 스펙트럼 찾기
POST /ftir/find_spectra
쿼리 문자열이 포함된 JSON 본문
보고서 번호로 이전 결과 가져오기
GET /ftir/result/{result_num}
경로 매개변수, 선택사항 ?language_code=en
전체 비동기 보고서를 제출한 후 폴링하세요
POST /ftir/reports · GET /ftir/reports/{task_id}
file_base64가 포함된 JSON 본문 (필수)
분실한 task_id 복구 또는 최근 분석 목록 보기
GET /ftir/tasks
본문 없음; task_id, 상태 및 result_num을 포함한 가장 최근 작업을 반환합니다.
기기 파일을 피크로 파싱합니다.
POST /parse-spectrum
멀티파트 파일 업로드 또는 file_base64가 포함된 JSON
메타데이터 보존과 함께 네이티브 파일 변환
POST /native-spectrum/convert
Multipart 파일 + output_format 또는 file_base64, filename 및 output_format가 포함된 JSON
💡팁: POST /ftir/analyze_spectrum은 스펙트럼 식별을 위한 유일한 권장 진입점입니다. 이전 /v1/search, /ftir/identify_material 및 /ftir/match_library_topk 엔드포인트는 호환성 별칭으로 계속 사용할 수 있습니다. 새로운 통합에는 analyze_spectrum만 필요합니다.
↗브라우저 워크플로우를 선호하시나요? 네이티브 FTIR 스펙트럼 컨버터 열기. 보관함 및 보고서/문서 형식을 거부합니다; 컨버터는 Image → CSV와 별도입니다.
Skill경로 C — 기술 및 플러그인
널리 사용되는 AI 및 자동화 플랫폼을 위해 사전 구축된 API 통합이 포함된 바로 사용할 수 있는 패키지를 제공합니다. 패키지를 설치하거나 플러그인을 가져오면 FTIR.fun이 워크플로의 구성 요소가 됩니다. 아래의 각 카드에는 실행하거나 가져와야 할 항목이 정확히 안내되어 있습니다.
LC
LangChain
파이썬 패키지 · PyPI
게시됨
FTIR 인식 에이전트 구축을 위한 드롭인 도구입니다. Base64 인코딩, 재시도 및 비동기 호출을 처리합니다.
설치
pip install langchain-ftirfun
최소 호출
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)
FTIRFUN_TOOLS를 가져와 게시된 함수 목록을 확인하세요. 각 함수는 api_base_url과 api_key를 처음 두 인수로 사용하며, 서버는 해당 키에 대해 활성화된 기능을 적용합니다.
통합 MCP 및 REST 서비스는 동일한 FTIR.fun 작업 카탈로그를 제공합니다. API 키에는 더 작은 기능 범위가 부여될 수 있으며, 플랫폼별 선언을 통해 의도적으로 일부 기능만 공개할 수도 있습니다. 아래 작업은 동일한 FTIR.fun 서비스를 공유합니다.
작업
MCP 도구
REST 엔드포인트
AI에게 이렇게 말하세요.
장비 파일 읽기
parse_ftir_spectrum
POST /parse-spectrum
sample.spc를 파싱하고 감지된 피크를 나열합니다.
네이티브 데이터를 변환하고 메타데이터를 보존
convert_native_spectrum
POST /native-spectrum/convert
sample.spa를 JDX로 변환하고 소스 메타데이터를 유지합니다.
알 수 없는 스펙트럼 식별
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을 가져옵니다.
🎓학술 피크 귀속 —
조성이 알려진 샘플의 경우, 고급 FTIR.fun REST/MCP 기능이 문헌으로 추적된 근거를 바탕으로 측정된 모든 피크를 할당합니다. 각 제출에는 30 포인트가 부과되며, 활성 구독이 있으면 무료입니다. 상태 조회에는 요금이 부과되지 않습니다.
작업을 자연스럽게 설명하십시오(예: “이 스펙트럼의 모든 측정된 FTIR 피크를 할당하십시오. 샘플은 PMMA로 알려져 있습니다. 보고서를 저에게 이메일로 보내십시오”). 클라이언트가 파일을 제공하므로 직접 JSON 또는 Base64를 구성할 필요가 없습니다. 완료된 결과는 JSON 상태와 보호된 보고서 주소를 모두 반환합니다. 보고서는 공개 다운로드 경로에 노출되지 않습니다.
지원되는 스펙트럼 파일 이름 확장자(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. 원본 파일 이름 확장자를 유지하십시오. 지원되지 않거나 읽을 수 없는 파일은 supported_extensions 및 supported_formats를 반환합니다. 유효한 sampling_mode 값은 KBr 펠릿, 증기, 용매, 박막, 파라핀 멀, ATR, 확산 반사, 마이크로 IR 및 기타입니다. 투과는 유효한 값이 아닙니다.
{
"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)은 즉시 결과를 반환합니다. 전체 3축 보고서는 백그라운드에서 실행되며 일반적으로 30–90초가 걸립니다. task_id를 저장하고 다시 제출하지 말고 이를 폴링하세요.
제출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)는 선택 사항입니다.
투표get_ftir_report_status (MCP) 또는 GET /ftir/reports/{task_id}를 completed가 true가 될 때까지 5~10초마다 호출하십시오. 완료된 응답에는 report_url, report 객체(구조화된 결과 콘텐츠, 그 안에 상세한 report_view 포함) 및 result_num이 포함됩니다.