انٹیگریشن

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 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_library130K+ ریفرنس سپیکٹرا کو چوٹیوں یا اپ لوڈ کردہ فائل کے ذریعے تلاش کریں۔ CAS نمبروں اور مماثلت اسکور کے ساتھ درجہ بند مماثلتیں لوٹاتا ہے۔
search_public_ftir_resultsکلیدی لفظ کے ذریعے کمیونٹی کے اشتراک کردہ تجزیہ کے نتائج تلاش کریں۔
fetch_public_ftir_resultتفصیلی جائزے کے لیے ID کے ذریعے کسی خاص عوامی FTIR تجزیہ کا نتیجہ حاصل کریں۔

سرور کارڈ اور رجسٹری لنکس

تمام پلیٹ فارم انٹیگریشنز دیکھیں

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: کم از کم ایک رپورٹ کردہ تلاش کے نتیجے کا امیدوار، جیسے 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سرور سائیڈ خرابی
درخواست جمع کریں فارم