ఇంటిగ్రేషన్

FTIR.fun MCP సర్వర్ & REST API

FTIR.funను మీ AI అసిస్టెంట్ లేదా ఆటోమేషన్ పైప్లైన్కు కనెక్ట్ చేయండి. Claude/Cursor/Codex కోసం MCP సర్వర్. కస్టమ్ ఇంటిగ్రేషన్ల కోసం REST API. అన్ని పద్ధతుల్లో ఒకే 130,000+ రిఫరెన్స్ స్పెక్ట్రా మరియు లిటరేచర్-బ్యాక్డ్ AI వివరణ.

MCP సర్వర్ — Claude, Cursor, Codex

FTIR.fun యొక్క MCP (మోడల్ కాంటెక్స్ట్ ప్రోటోకాల్) సర్వర్ సమీక్షించబడి, Anthropic MCP రిజిస్ట్రీ, Smithery, మరియు MCP.soలో అధికారికంగా జాబితా చేయబడింది. ఇది FTIR స్పెక్ట్రల్ సెర్చ్, DOI-సైటేడ్ లిటరేచర్తో పీక్ వివరణ, మరియు మెటీరియల్ ఐడెంటిఫికేషన్ను ఏదైనా MCP-అనుకూల క్లయింట్ కోసం కాల్ చేయదగిన టూల్స్గా బహిర్గతం చేస్తుంది.

త్వరిత కనెక్ట్

# 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) — పైథాన్ ప్యాకేజీ

అన్ని ప్లాట్ఫారమ్ ఇంటిగ్రేషన్లను వీక్షించండి

Coze ప్లగిన్ — 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వాటిలో ఒకటిబేస్64-ఎన్కోడ్ చేసిన నివేదిక ఫైల్. మద్దతు ఇవ్వబడిన ఆకృతులు: 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: కనీసం ఒక నివేదించబడిన శోధన ఫలితం అభ్యర్థి, ఉదాహరణకు టాప్1 హిట్ లేదా టాప్15 జాబితా
  • అవసరమైన మూలకం 2: అదే నివేదిక నుండి సెం.మీ-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విజయం
401API కీ లేదు లేదా చెల్లదు
422చెల్లని అభ్యర్థన బాడీ, మద్దతు లేని నివేదిక ఆకృతి, లేదా తప్పిపోయిన అవసరమైన నివేదిక అంశాలు
500సర్వర్-వైపు లోపం
అభ్యర్థన సమర్పించండి ఫారం