开发者和 AI 集成

将 FTIR.fun 连接到任何 AI 工具或应用

让您的 AI 助手或您自己的代码直接访问超过 130,000 个参考光谱、知识图谱峰值推理和文献支持的解读。选择三种连接方式之一 — 面向 AI 助手的 MCP、面向代码的 REST API 或面向无代码平台的现成技能。下面的每条路径都提供了为首次用户编写的分步说明。

审核并列入

开始之前——获取你的 API 密钥

MCP和REST API都使用同一个FTIR.fun API密钥。Coze/豆包使用插件发布者配置的服务密钥,因此最终用户无需粘贴个人密钥。获取个人密钥大约需要一分钟:

  1. 登录 FTIR.fun 如果没有账户,请创建一个免费账户。新账户包含免费试用额度。
  2. 打开 API 密钥仪表盘 转到 账户 → API密钥 并点击生成。
  3. 立即复制并保存密钥 完整密钥(以 ftir_ 开头)仅显示一次。请将其存放在安全的地方。如果丢失,只需生成一个新密钥。
🔑 准备好了吗? 打开API密钥仪表板 在新标签页中,然后返回并按照你上面选择的路径操作。
⚠️ 托管的 MCP 服务器仅接受在 FTIR.fun API 密钥仪表板中生成的账户 API 密钥(以 ftir_ 开头)。服务器端主密钥仅供 REST 操作员使用,不能登录到托管的 MCP。

第 1 步 — 哪种连接适合您?

三者均连接到同一引擎:130,000+ 光谱、知识图谱推理和文献引用。您只需一个。根据您的工作方式选择 — 不确定?MCP 是使用 AI 助手的最流行选择。

你的AI实际能做什么

当前的 MCP、REST、n8n 和 LangChain 分发包暴露了七个操作。已发布的 Coze 插件暴露了三个工具(分析、查找、解释),其他模板可能暴露更小的声明集合;使用前请检查每个平台卡片。以下操作共享相同的 FTIR.fun 服务。

任务 MCP 工具 REST 端点 对你的 AI 这样说
读取仪器文件 parse_ftir_spectrum POST /parse-spectrum 解析 sample.spc 并列出检测到的峰。
识别未知光谱 analyze_ftir_spectrum POST /ftir/analyze_spectrum 识别此光谱属于哪种聚合物。
提交完整的三轴报告 submit_ftir_report POST /ftir/reports 提交sample.spa以获取ATR模式的完整报告。
轮询并检索该报告 get_ftir_report_status GET /ftir/reports/{task_id} 检查报告任务,完成后给我链接。
解释峰 explain_peaks POST /ftir/explain_peak_assignments 1715 和 1450 cm-1 处的峰值表示什么?
查找已知参考光谱 find_spectra POST /ftir/find_spectra 查找聚苯乙烯的参考光谱。
重新打开之前的结果 fetch_result GET /ftir/result/{result_num} 获取结果20260528100755416137536。

支持的文件:SPA、SPC、OPUS、JCAMP-DX、CSV、TSV、Excel、JSON。有效的 sampling_mode 值为 KBr Pellet、Vapor、Solvent、Thin Film、Paraffin Mull、ATR、Diffuse Reflectance、Micro IR 和 Others。Transmission 不是有效值。保留原始文件扩展名,以便 FTIR.fun 选择正确的解析器。

find_spectra 响应示例

find_spectra 响应
{
  "success": true,
  "query": "polystyrene",
  "match_mode": "synonym",
  "match_count": 3,
  "summary": "Found 3 reference spectrum candidates for 'polystyrene'.",
  "results": [
    {"num": 555, "spectrum_number": 555, "name": "PS/PPO",
     "cas": "-", "source_type": "direct_read:spa",
     "peaks": [697, 756, 1028, ...], "x": [...], "y": [...]}
  ]
}

explain_peaks 响应示例

explain_peaks 响应
{
  "success": true,
  "search_mode": "peak_explanation",
  "peak_explanations": [
    {"peaks_cm1": [1715, 1450],
     "assignment": "1715 cm-1 suggests C=O stretching (ester or carboxylic acid)...",
     "evidence_type": "llm_general_knowledge"}
  ],
  "summary": "Peak explanation based on general FTIR knowledge..."
}

获取完整报告(异步)

快速筛查(analyze_spectrum)立即返回。完整的三轴报告在后台运行,通常需要 30–90 秒。报告运行时不要重新提交 — 保留 task_id 并轮询它。

  1. 提交 调用 submit_ftir_report (MCP) 或 POST /ftir/reports (REST)。您将获得一个 task_id 和一个保留的 result_numfile_base64 字段是必需的;其他字段(sampling_modeprior_contextlanguage_codesample_namesample_order_no)是可选的。
    提交示例 (REST)
    curl -X POST https://ftir.fun/ftir/reports \
      -H "X-API-Key: ftir_your_key_here" \
      -H "Content-Type: application/json" \
      -d '{"file_base64": "V2F2ZW51bWJlci...", "filename": "sample.spa", "sampling_mode": "ATR", "language_code": "en"}'
    提交响应
    {"success": true, "task_id": "rpt_abc123...", "result_num": "20260713...", "status": "queued"}
  2. 投票 每 5–10 秒调用一次 get_ftir_report_status (MCP) 或 GET /ftir/reports/{task_id},直到 completedtrue。完成后的响应包含 report_urlreport_view(结构化报告内容)和 result_num
    轮询示例
    curl https://ftir.fun/ftir/reports/rpt_abc123 \
      -H "X-API-Key: ftir_your_key_here"
    轮询响应(进行中)
    {"success": true, "task_id": "rpt_abc123", "status": "running", "progress": 45, "completed": false}
    轮询响应(已完成)
    {"success": true, "task_id": "rpt_abc123", "status": "completed", "completed": true,
     "result_num": "20260713...", "report_url": "https://ftir.fun/outputdata/?num=20260713..."}
  3. 打开最终报告 在浏览器中打开完整 URL https://ftir.fun/outputdata/?num={result_num} 查看由 FTIR.fun 渲染的完整三轴结果页面。
⚠️ 当报告排队或正在运行时,不要再次提交相同的报告。保留 task_id 并持续轮询直到完成或失败。重复提交浪费点数。

故障排除

您看到的内容 含义 操作指南
客户端打开浏览器授权页面,或提示授权页面不存在。 您的客户端正在使用旧的 OAuth 风格服务器条目。FTIR.fun 不使用 OAuth — 仅使用 API 密钥。 删除旧的 ftirfun 服务器条目,粘贴此页面上的确切配置,重新加载客户端,然后重新启动 ftirfun。
401 (MCP) / 401 invalid_api_key (REST) API 密钥缺失、过期、被撤销或粘贴不正确。 重启服务器并仅粘贴原始密钥(以ftir_开头)。 从以下位置生成新密钥: API 密钥仪表盘 如果需要。
服务器已启动,但没有工具出现。 客户端尚未刷新其目录,或者配置使用了错误的密钥名称。 对于 VS Code,请确认 mcp.json 使用的是 servers(而非 mcpServers)。然后停止并重新启动 ftirfun,或重新加载窗口。
403 insufficient_balance 该账户没有足够的积分进行该分析。 在 FTIR.fun 中检查余额或订阅,然后重试。
429 rate_limit_exceeded REST分析和解析允许每个API密钥每分钟60次请求;REST结果和报告状态读取使用单独的每分钟120次请求桶;MCP允许每个API密钥和工具每分钟60次调用。 在再次调用之前,等待工具报告的等待重试时间。
报告保持排队或运行状态。 完整报告异步运行,比快速筛选耗时更长。 保持相同的 task_id 并继续轮询。不要创建重复的报告任务。
422missing_input 请求体缺少必需字段或格式无效。对于analyze_spectrum,您必须至少提供以下之一:peaks、query或file_base64。 检查您的JSON是否有效,Content-Type是否为application/json,以及是否包含必需字段。请参阅上面的示例请求。
413 file_too_large 上传的频谱文件超过大小限制。 导出较小的文件或仅通过 spectrum.peaks 字段使用峰值位置。

准备好构建了吗?

完整的 REST 参考包含每个端点、请求和响应格式、身份验证、速率限制、错误代码、MCP 工具定义以及 Python 和 curl 的代码示例。

提交请求 表单