Integrimi

Serveri MCP dhe REST API i FTIR.fun

Lidhni FTIR.fun me ndihmësin tuaj AI ose tubacionin e automatizimit. Serveri MCP për Claude/Cursor/Codex. REST API për integrime të personalizuara. Të njëjtat 130,000+ spektra referimi dhe interpretim AI i mbështetur nga literatura në të gjitha metodat.

Serveri MCP — Claude, Cursor, Codex

Serveri MCP (Model Context Protocol) i FTIR.fun është rishikuar dhe listuar zyrtarisht në Anthropic MCP Registry, Smithery dhe MCP.so. Ai ekspozon kërkimin spektral FTIR, shpjegimin e majave me literaturë të cituar nga DOI dhe identifikimin e materialit si mjete të thirrshme për çdo klient të pajtueshëm me MCP.

Lidhje e Shpejtë

# Claude Desktop / Claude Code claude mcp add ftirfun https://ftir.fun/mcp # Cursor # Add to ~/.cursor/mcp.json: {"mcpServers": {"ftirfun": {"url": "https://ftir.fun/mcp"}}} # OpenAI Codex codex mcp add ftirfun https://ftir.fun/mcp

Mjetet e Disponueshme

MjetPërshkrimi
search_ftir_libraryKërkoni 130K+ spektra referimi sipas majave ose skedarit të ngarkuar. Kthen përputhje të renditura me numra CAS dhe pikë ngjashmërie.
search_public_ftir_resultsKërkoni rezultatet e analizave të ndara nga komuniteti sipas fjalës kyçe.
fetch_public_ftir_resultMerrni një rezultat specifik publik të analizës FTIR me ID për rishikim të detajuar.

Karta e Serverit dhe Lidhjet e Regjistrit

Shikoni të Gjitha Integrimet e Platformës

Plugin Coze — Përdorni brenda Doubao

Open Doubao → Plugin Store → search "FTIR" or "红外分析" → tap Add. No configuration needed. Doubao will automatically route infrared-related queries to our spectral search engine.

Fjalë kyçe kërkimi: 红外分析, FTIR, infrared, 光谱检索, 物质识别

API REST

API i Kërkimit të Bibliotekës

POST /v1/search

Kërkimi në bibliotekën spektrale. Pranon një skedar (përputhje spektri të plotë) ose një listë pikesh (përputhje pozicionesh piku). Nëse të dyja janë dhënë, kërkimi me skedar ka përparësi.

Autentifikimi

X-API-Key: your-api-key

Trupi i Kërkesës

FushaLlojiI nevojshëmPërshkrimi
file_base64stringnjë ngaSkedar instrumenti i koduar në Base64 (mbështet CSV, SPA, OPUS, SPC, JCAMP-DX dhe 15+ formate të tjera)
filenamestringme file_base64Emri origjinal i skedarit duke përfshirë shtesën (p.sh. sample.spa)
peaksnumber[]një ngaLista e numrave valorë të pikut në cm⁻¹ (p.sh. [3026, 1601, 1493, 755])
top_kintegerjo (parazgjedhja 10)Numri i rezultateve për t'u kthyer, maksimumi 50
toleranceintegerjo (parazgjedhja 8)Toleranca e përputhjes së pikut në cm⁻¹, diapazoni 1–30

Përgjigje

{ "success": true, "search_mode": "full_spectrum", "n_matches": 10, "matches": [ { "rank": 1, "name": "Polystyrene", "cas": "25086-18-4", "num": 326, "similarity": 0.9586 } ], "file_format": "Thermo SPA", "n_points": 3601, "error": null }

Shembull — Ngarkimi i Skedarit

import base64, requests with open("sample.spa", "rb") as f: b64 = base64.b64encode(f.read()).decode() resp = requests.post( "https://api.ftir.fun/v1/search", headers={"X-API-Key": "your-key", "Content-Type": "application/json"}, json={"file_base64": b64, "filename": "sample.spa", "top_k": 5}, ) print(resp.json())

Shembull — Lista e Pikeve

import requests resp = requests.post( "https://api.ftir.fun/v1/search", headers={"X-API-Key": "your-key", "Content-Type": "application/json"}, json={"peaks": [3082, 3026, 2923, 1601, 1493, 1451, 1028, 906, 755, 699], "top_k": 5}, ) print(resp.json())

Analizë Vetëm me AI për Rezultatet Ekzistuese

Përdorni këtë pikë fundore vetëm pasi të ekzistojë një rezultat kërkimi. FTIR.fun fillimisht lexon ose OCR raportin e dhënë, nxjerr kandidatët e raportuar dhe tabelën e pikut të mostrës, pastaj kryen analizën e mëtejshme KG dhe të mbështetur nga literatura.

POST /ftir/analyze_existing_results

Raporti duhet të përmbajë si listën e rezultateve të kërkimit të raportuar ashtu edhe tabelën e pikut të mostrës. Kjo pikë fundore nuk kryen vetë kërkim në bibliotekën spektrale.

Autentifikimi

X-API-Key: your-api-key

Trupi i Kërkesës

FushaLlojiI nevojshëmPërshkrimi
report_textstringnjë ngaTekst i thjeshtë i kopjuar nga një raport ekzistues instrumenti ose biblioteke. Teksti duhet të përfshijë si rezultatet e raportuara ashtu edhe tabelën e pikut të mostrës.
report_file_base64stringnjë ngaSkedar raporti i koduar në Base64. Formatet e mbështetura: PDF, DOC, DOCX, TXT, CSV, PNG, JPG, JPEG, WEBP, GIF, BMP, TIF, TIFF.
report_filenamestringme report_file_base64Emri origjinal i skedarit të raportit duke përfshirë shtesën (për shembull report.pdf ose report.docx).
user_background_textstringjoSfond opsional i mostrës. Kjo trajtohet vetëm si kontekst i lehtë dhe jo si provë.

Kufiri i Fortë i Input-it

  • Element i kërkuar 1: të paktën një kandidat i rezultatit të kërkimit të raportuar, si një goditje Top1 ose një listë Top15
  • Element i kërkuar 2: lista e pikut të mostrës ose tabela e pikut në cm-1 nga i njëjti raport
  • Nëse ndonjëri element mungon, pika fundore kthen HTTP 422 dhe nuk gjeneron një raport analize

Përgjigje Suksesi

{ "success": true, "analysis_mode": "ai_only_existing_results", "message": "AI-only analysis completed from the supplied existing results report.", "input_requirements": { "service_boundary": "AI-only analysis starts after a search result already exists.", "required_inputs": [ "At least one reported search result candidate (Top1 or Top15).", "The sample peak table or peak list in cm-1." ] }, "missing_requirements": [], "missing_requirement_messages": [], "extracted_report": { "source_kind": "pdf", "used_ocr": true, "peak_values_cm1": [1736, 1601, 1241], "library_candidates": [ {"rank": 1, "name": "Polyethylene terephthalate", "cas_number": "25038-59-9", "raw_score_text": "856/1000", "normalized_similarity": 0.856} ] }, "summary": "Reported library results rank Polyethylene terephthalate first.", "report_view": {}, "final_decision": {}, "direct_evidence": {}, "related_literature": {} }

Përgjigje për Input që Mungon

{ "detail": { "success": false, "analysis_mode": "ai_only_existing_results", "error": "missing_required_report_elements", "message": "AI-only analysis requires both reported library results and a sample peak table.", "missing_requirements": ["sample_peak_table"], "missing_requirement_messages": [ "Missing sample peak table. Provide the sample peak list or peak table in cm-1 from the same report." ], "input_requirements": { "failure_behavior": "If either the reported result list or the sample peak table is missing, the service stops and returns a 422 response." }, "extracted_report": { "report_has_library_results": true, "report_has_peak_table": false } } }

Shembull — Tekst Raporti Ekzistues

import requests report_text = """ Sample: PET fragment Top1: Polyethylene terephthalate Score: 856/1000 Top2: Polyester resin Score: 801/1000 Peak table (cm-1): 3435, 2932, 1715, 1409, 1241, 1093, 1017, 872, 722 """ resp = requests.post( "https://api.ftir.fun/ftir/analyze_existing_results", headers={"X-API-Key": "your-key", "Content-Type": "application/json"}, json={"report_text": report_text, "user_background_text": "consumer packaging fragment"}, ) print(resp.json())

Shembull — Skedar Raporti Ekzistues

import base64, requests with open("instrument-report.pdf", "rb") as f: b64 = base64.b64encode(f.read()).decode() resp = requests.post( "https://api.ftir.fun/ftir/analyze_existing_results", headers={"X-API-Key": "your-key", "Content-Type": "application/json"}, json={ "report_file_base64": b64, "report_filename": "instrument-report.pdf", "user_background_text": "suspected packaging adhesive", }, ) print(resp.json())

Kodet e Gabimit

Statusi HTTPKuptimi
200Sukses
401Çelësi API mungon ose është i pavlefshëm
422Trup kërkese i pavlefshëm, format raporti i pambështetur, ose elemente të kërkuara të raportit që mungojnë
500Gabim nga ana e serverit
Paraqisni Kërkesën Formulari