एकत्रीकरण

FTIR.fun MCP सर्व्हर आणि REST API

FTIR.fun तुमच्या AI सहायक किंवा ऑटोमेशन पाइपलाइनशी कनेक्ट करा. Claude/Cursor/Codex साठी MCP सर्व्हर. सानुकूल एकीकरणासाठी REST API. सर्व पद्धतींमध्ये समान 130,000+ संदर्भ स्पेक्ट्रा आणि साहित्य-समर्थित AI व्याख्या.

MCP सर्व्हर — Claude, Cursor, Codex

FTIR.fun चे MCP (Model Context Protocol) सर्व्हर पुनरावलोकन केले गेले आहे आणि अधिकृतपणे Anthropic MCP Registry, Smithery, आणि MCP.so वर सूचीबद्ध केले आहे. हे कोणत्याही MCP-संगत क्लायंटसाठी FTIR वर्णक्रमीय शोध, DOI-उद्धृत साहित्यासह शिखर स्पष्टीकरण, आणि सामग्री ओळख कॉल करण्यायोग्य साधने म्हणून उघड करते.

द्रुत कनेक्ट

# 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

उपलब्ध साधने

साधनवर्णन
search_ftir_libraryशिखरे किंवा अपलोड केलेल्या फाइलद्वारे 130K+ संदर्भ स्पेक्ट्रा शोधा. CAS क्रमांक आणि समानता स्कोअरसह क्रमवारी केलेले जुळणारे परत करते.
search_public_ftir_resultsकीवर्डद्वारे समुदाय-सामायिक विश्लेषण परिणाम शोधा.
fetch_public_ftir_resultतपशीलवार पुनरावलोकनासाठी ID द्वारे विशिष्ट सार्वजनिक FTIR विश्लेषण परिणाम प्राप्त करा.

सर्व्हर कार्ड आणि नोंदणी दुवे

  • Server Card (JSON) — मानक MCP सर्व्हर शोध एंडपॉइंट
  • Anthropic MCP Registry — अधिकृतपणे सूचीबद्ध
  • Smithery — पुनरावलोकन केले आणि प्रकाशित केले
  • MCP.so — सूचीबद्ध
  • PyPI (ftirfun-mcp) — Python पॅकेज

सर्व प्लॅटफॉर्म एकीकरण पहा

Coze Plugin — 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.

शोध कीवर्ड्स: 红外分析, FTIR, infrared, 光谱检索, 物质识别

REST API

ग्रंथालय शोध API

POST /v1/search

स्पेक्ट्रल लायब्ररी शोध. फाइल (पूर्ण-स्पेक्ट्रम जुळणी) किंवा पीक यादी (पीक-स्थान जुळणी) स्वीकारते. दोन्ही प्रदान केल्यास, फाइल शोध प्राधान्य घेते.

प्रमाणीकरण

X-API-Key: your-api-key

विनंती बॉडी

क्षेत्रप्रकारआवश्यकवर्णन
file_base64stringएकBase64-एन्कोड केलेली उपकरण फाइल (CSV, SPA, OPUS, SPC, JCAMP-DX, आणि 15+ इतर स्वरूपनांना समर्थन)
filenamestringfile_base64 सहविस्तारासह मूळ फाइलनाव (उदा. sample.spa)
peaksnumber[]एकcm⁻¹ मध्ये पीक वेव्हनंबरची यादी (उदा. [3026, 1601, 1493, 755])
top_kintegerनाही (डीफॉल्ट 10)परत करण्यासाठी निकालांची संख्या, कमाल 50
toleranceintegerनाही (डीफॉल्ट 8)cm⁻¹ मध्ये पीक जुळणी सहनशीलता, श्रेणी 1–30

प्रतिसाद

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

उदाहरण — फाइल अपलोड

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

उदाहरण — शिखर यादी

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

विद्यमान परिणामांसाठी AI-केवळ विश्लेषण

शोध परिणाम आधीच अस्तित्वात असल्यानंतरच हे एंडपॉइंट वापरा. FTIR.fun प्रथम पुरवलेला अहवाल वाचते किंवा OCR करते, अहवालित उमेदवार आणि नमुना शिखर सारणी काढते, नंतर डाउनस्ट्रीम KG आणि साहित्य-समर्थित विश्लेषण चालवते.

POST /ftir/analyze_existing_results

अहवालात अहवालित शोध परिणाम यादी आणि नमुना शिखर सारणी दोन्ही समाविष्ट असणे आवश्यक आहे. हे एंडपॉइंट स्वतः स्पेक्ट्रल-ग्रंथालय शोध करत नाही.

प्रमाणीकरण

X-API-Key: your-api-key

विनंती बॉडी

क्षेत्रप्रकारआवश्यकवर्णन
report_textstringएकविद्यमान उपकरण किंवा ग्रंथालय अहवालातून कॉपी केलेला साधा मजकूर. मजकुरात अहवालित परिणाम आणि नमुना शिखर सारणी दोन्ही समाविष्ट असणे आवश्यक आहे.
report_file_base64stringएकBase64-एन्कोड केलेली अहवाल फाइल. समर्थित स्वरूप: PDF, DOC, DOCX, TXT, CSV, PNG, JPG, JPEG, WEBP, GIF, BMP, TIF, TIFF.
report_filenamestringreport_file_base64 सहविस्तारासह मूळ अहवाल फाइलनाव (उदाहरणार्थ report.pdf किंवा report.docx).
user_background_textstringनाहीवैकल्पिक नमुना पार्श्वभूमी. हे फक्त मऊ संदर्भ म्हणून वागवले जाते आणि पुरावा म्हणून नाही.

कठोर इनपुट सीमा

  • आवश्यक घटक 1: किमान एक अहवालित शोध परिणाम उमेदवार, जसे की Top1 हिट किंवा Top15 यादी
  • आवश्यक घटक 2: त्याच अहवालातील cm-1 मध्ये नमुना शिखर यादी किंवा शिखर सारणी
  • जर एकतर घटक गहाळ असेल, तर एंडपॉइंट HTTP 422 परत करतो आणि विश्लेषण अहवाल तयार करत नाही

यशस्वी प्रतिसाद

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

गहाळ-इनपुट प्रतिसाद

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

उदाहरण — विद्यमान अहवाल मजकूर

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

उदाहरण — विद्यमान अहवाल फाइल

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

त्रुटी कोड

HTTP स्थितीअर्थ
200यशस्वी
401गहाळ किंवा अवैध API की
422अवैध विनंती मुख्य भाग, असमर्थित अहवाल स्वरूप, किंवा आवश्यक अहवाल घटक गहाळ
500सर्व्हर-साइड त्रुटी
विनंती सादर करा फॉर्म