Интеграция

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_library130K+ шилтеме спектрлерди чокулар же жүктөлгөн файл боюнча издөө. CAS номерлери жана окшоштук упайлары менен рейтингделген дал келүүлөрдү кайтарат.
search_public_ftir_resultsКошумча бөлүшүлгөн анализ жыйынтыктарын ачкыч сөз боюнча издөө.
fetch_public_ftir_resultID боюнча белгилүү бир коомдук 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[]бирисм⁻¹ менен чоку толкун сандарынын тизмеси (мис. [3026, 1601, 1493, 755])
top_kintegerжок (демейки 10)Кайтаруу үчүн жыйынтыктардын саны, эң көбү 50
toleranceintegerжок (демейки 8)см⁻¹ менен чоку дал келүү толеранттуулугу, диапазон 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Ийгилик
401API ачкычы жок же туура эмес
422Туура эмес суроо денеси, колдоого алынбаган отчет форматы же отчеттун керектүү элементтеринин жоктугу
500Сервер тарабындагы ката
Суроо тапшыруу Форма