Ushirikiano

Seva ya MCP ya FTIR.fun na API ya REST

Unganisha FTIR.fun kwa msaidizi wako wa AI au bomba la automatiska. Seva ya MCP kwa Claude/Cursor/Codex. API ya REST kwa ujumuishaji maalum. Spectra sawa za marejeleo 130,000+ na tafsiri ya AI inayoungwa mkono na fasihi kote njia zote.

Seva ya MCP — Claude, Cursor, Codex

Seva ya MCP (Model Context Protocol) ya FTIR.fun imekaguliwa na kuorodheshwa rasmi kwenye Daftari la MCP la Anthropic, Smithery, na MCP.so. Inaonyesha utafutaji wa spectral wa FTIR, maelezo ya kilele na fasihi iliyotajwa na DOI, na utambuzi wa nyenzo kama zana zinazoweza kuitwa kwa mteja yeyote anayeweza kuendana na MCP.

Unganisho Haraka

# 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

Zana Zinazopatikana

ZanaMaelezo
search_ftir_libraryTafuta spectra za marejeleo 130K+ kwa vilele au faili iliyopakiwa. Inarudisha ulinganifu uliopangwa na nambari za CAS na alama za ufanano.
search_public_ftir_resultsTafuta matokeo ya uchambuzi yaliyoshirikiwa na jumuiya kwa neno kuu.
fetch_public_ftir_resultLeta matokeo maalum ya uchambuzi wa FTIR ya umma kwa ID kwa ukaguzi wa kina.

Kadi ya Seva na Viungo vya Daftari

Tazama Ujumuishaji Wote wa Mifumo

Programu-jalizi ya Coze — Tumia Ndani ya 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.

Maneno muhimu ya utafutaji: 红外分析, FTIR, infrared, 光谱检索, 物质识别

API ya REST

API ya Utafutaji wa Maktaba

POST /v1/search

Utafutaji wa maktaba ya spectral. Inakubali faili (ulinganifu wa wigo kamili) au orodha ya kilele (ulinganifu wa nafasi ya kilele). Ikiwa zote zimetolewa, utafutaji wa faili unapewa kipaumbele.

Uthibitishaji

X-API-Key: your-api-key

Mwili wa Ombi

SehemuAinaInahitajikaMaelezo
file_base64stringmoja yaFaili la chombo lililosimbwa kwa Base64 (linaunga mkono CSV, SPA, OPUS, SPC, JCAMP-DX, na miundo mingine 15+)
filenamestringyenye file_base64Jina la faili asili ikiwa ni pamoja na kiendelezi (mfano sample.spa)
peaksnumber[]moja yaOrodha ya nambari za wimbi za kilele katika cm⁻¹ (mfano [3026, 1601, 1493, 755])
top_kintegerhapana (chaguo-msingi 10)Idadi ya matokeo ya kurudisha, upeo 50
toleranceintegerhapana (chaguo-msingi 8)Uvumilivu wa ulinganifu wa kilele katika cm⁻¹, anuwai 1–30

Jibu

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

Mfano — Kupakia Faili

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())

Mfano — Orodha ya Kilele

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())

Uchambuzi wa AI Pekee kwa Matokeo Yaliyopo

Tumia mwisho huu wa njia tu baada ya tokeo la utafutaji kuwepo tayari. FTIR.fun kwanza inasoma au OCR ya ripoti iliyotolewa, inatoa wagombea walioripotiwa na jedwali la kilele cha sampuli, kisha inafanya uchambuzi wa KG na fasihi ulioungwa mkono.

POST /ftir/analyze_existing_results

Ripoti lazima iwe na orodha ya matokeo ya utafutaji yaliyoripotiwa na jedwali la kilele cha sampuli. Mwisho huu wa njia haufanyi utafutaji wa maktaba ya spectral peke yake.

Uthibitishaji

X-API-Key: your-api-key

Mwili wa Ombi

SehemuAinaInahitajikaMaelezo
report_textstringmoja yaMaandishi wazi yaliyonakiliwa kutoka kwa ripoti iliyopo ya kifaa au maktaba. Maandishi lazima yawe na matokeo yaliyoripotiwa na jedwali la kilele cha sampuli.
report_file_base64stringmoja yaFaili la ripoti lililosimbwa kwa base64. Miundo inayotumika: PDF, DOC, DOCX, TXT, CSV, PNG, JPG, JPEG, WEBP, GIF, BMP, TIF, TIFF.
report_filenamestringpamoja na report_file_base64Jina la faili asili la ripoti pamoja na kiambishi (kwa mfano report.pdf au report.docx).
user_background_textstringlaMaelezo ya sampuli ya hiari. Hii inachukuliwa kama muktadha laini tu na si ushahidi.

Kikomo Kigumu cha Pembezo

  • Kipengele kinachohitajika 1: angalau mgombea mmoja wa matokeo ya utafutaji aliyeripotiwa, kama vile hit ya Top1 au orodha ya Top15
  • Kipengele kinachohitajika 2: orodha au jedwali la kilele cha sampuli kwa cm-1 kutoka kwa ripoti hiyo hiyo
  • Ikiwa kipengele chochote hakipo, mwisho wa njia unarudi HTTP 422 na hautoi ripoti ya uchambuzi

Jibu la Mafanikio

{ "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": {} }

Jibu la Kukosa Pembezo

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

Mfano — Maandishi ya Ripoti Iliyopo

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())

Mfano — Faili ya Ripoti Iliyopo

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())

Misimbo ya Hitilafu

Hali ya HTTPMaana
200Mafanikio
401Ufunguo wa API haupo au si sahihi
422Mwili wa ombi batili, umbizo la ripoti lisilotumika, au vipengele muhimu vya ripoti havipo
500Hitilafu ya upande wa seva
Wasilisha Ombi Fomu