ইন্টিগ্রেশন

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-তে তালিকাভুক্ত। এটি যেকোনো 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বিস্তারিত পর্যালোচনার জন্য একটি নির্দিষ্ট পাবলিক FTIR বিশ্লেষণ ফলাফল আইডি দ্বারা আনুন।

সার্ভার কার্ড এবং রেজিস্ট্রি লিঙ্ক

  • Server Card (JSON) — স্ট্যান্ডার্ড MCP সার্ভার ডিসকভারি এন্ডপয়েন্ট
  • Anthropic MCP Registry — আনুষ্ঠানিকভাবে তালিকাভুক্ত
  • Smithery — পর্যালোচিত এবং প্রকাশিত
  • MCP.so — তালিকাভুক্ত
  • PyPI (ftirfun-mcp) — Python প্যাকেজ

সমস্ত প্ল্যাটফর্ম ইন্টিগ্রেশন দেখুন

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 এবং ১৫+ অন্যান্য ফরম্যাট সমর্থন করে)
filenamestringfile_base64 সহএক্সটেনশন সহ আসল ফাইলের নাম (যেমন sample.spa)
peaksnumber[]এর মধ্যে একটিসেমি⁻¹-এ পিক তরঙ্গসংখ্যার তালিকা (যেমন [3026, 1601, 1493, 755])
top_kintegerনা (ডিফল্ট 10)ফেরত দেওয়ার ফলাফলের সংখ্যা, সর্বোচ্চ ৫০
toleranceintegerনা (ডিফল্ট 8)সেমি⁻¹-এ পিক ম্যাচ সহনশীলতা, পরিসর ১-৩০

প্রতিক্রিয়া

{ "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-Only বিশ্লেষণ

এই এন্ডপয়েন্টটি শুধুমাত্র সার্চ ফলাফল ইতিমধ্যে বিদ্যমান থাকার পর ব্যবহার করুন। 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নাঐচ্ছিক নমুনা ব্যাকগ্রাউন্ড। এটি শুধুমাত্র নরম প্রসঙ্গ হিসাবে বিবেচিত হয় এবং প্রমাণ হিসাবে নয়।

কঠিন ইনপুট সীমানা

  • প্রয়োজনীয় উপাদান ১: কমপক্ষে একটি রিপোর্টেড সার্চ ফলাফল প্রার্থী, যেমন একটি Top1 হিট বা একটি Top15 তালিকা
  • প্রয়োজনীয় উপাদান ২: একই রিপোর্ট থেকে 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সফল
401API কী অনুপস্থিত বা অবৈধ
422অবৈধ অনুরোধ বডি, অসমর্থিত রিপোর্ট ফরম্যাট, বা অনুপস্থিত প্রয়োজনীয় রিপোর্ট উপাদান
500সার্ভার-সাইড ত্রুটি
অনুরোধ জমা দিন ফর্ম