ਏਕੀਕਰਨ

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 ਵਿਸ਼ਲੇਸ਼ਣ ਨਤੀਜਾ ਪ੍ਰਾਪਤ ਕਰੋ।

ਸਰਵਰ ਕਾਰਡ ਅਤੇ ਰਜਿਸਟਰੀ ਲਿੰਕ

ਸਾਰੇ ਪਲੇਟਫਾਰਮ ਏਕੀਕਰਣ ਵੇਖੋ

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ਸਰਵਰ-ਪਾਸੇ ਗਲਤੀ
ਬੇਨਤੀ ਜਮ੍ਹਾਂ ਕਰੋ ਫਾਰਮ