mcpField
F
Ftir Spectral Search

Ftir Spectral Search

远程服务
github.com/jxbaoxiaodong搜索与检索015 周前更新
代码仓库

关于 Ftir Spectral Search

FTIR.fun 的 MCP 服务和 REST API 为研究人员与工程师提供红外光谱检索、峰位解释和材料识别,可接收峰列表或 28 种以上格式的仪器文件。其参考库包含 130,000 多条 FTIR 光谱,并提供分阶段报告查询。

主要功能

  1. 01分析光谱并返回排序候选材料
  2. 02解释红外峰位与官能团
  3. 03解析 28 种以上仪器文件格式
  4. 04按物质名称或 CAS 搜索光谱
  5. 05提交并查询多阶段识别报告
  6. 06通过 REST API 调用功能

适用场景

  1. 01根据未知样品光谱筛选材料
  2. 02快速解释指定红外峰位
  3. 03从仪器文件提取波数和峰值
  4. 04按 CAS 号查找参考光谱

MCP 相关

托管端点 https://ftir.fun/mcp 向 MCP 客户端提供七种工具,需使用 Bearer API 密钥。项目也提供代理同一 API 的本地 MCP 封装,可通过 stdio 或 Streamable HTTP 运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://ftir.fun/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://ftir.fun/mcp需要授权

工具

详细介绍

中文 | English | Español | Français | 日本語

FTIR.fun MCP 服务

smithery badge MCP.so PyPI

面向 FTIR.fun 的 MCP 服务和 REST API 客户端,可让 AI 助手和代码流水线直接访问 130,000 多条 FTIR 红外参考光谱,用于材料识别、峰解释和光谱库搜索。

可用工具一览

工具功能
analyze_ftir_spectrum识别未知 FTIR 光谱——支持峰值、自然语言查询或仪器文件(28 种以上格式)。返回按相似度评分排序的匹配结果和文献 DOI。
explain_peaks解释一个或多个红外峰位置——无需完整搜索光谱库即可进行官能团归属。
parse_ftir_spectrum将原始 FTIR 仪器文件解析为波数-强度数据点和检测到的峰。
find_spectra按物质名称、CAS 编号或关键词搜索 130,000 多条参考光谱。返回用于比较的曲线数据。
submit_ftir_report提交光谱,启动完整的三轴识别工作流(与网站上的多阶段分析相同)。
get_ftir_report_status查询报告进度;完成后返回完整的结构化结果和可分享的 URL。
fetch_result按报告编号检索任意历史 FTIR.fun 分析结果。

获取 API 密钥

  1. 在 ftir.fun 登录——新账户包含免费试用额度。
  2. 前往 Account → API Keys,然后点击 Generate。
  3. 立即复制密钥(以 ftir_ 开头;仅显示一次)。

身份验证仅使用一个请求头——无需 OAuth 或浏览器重定向:

# For MCP (hosted)
Authorization: Bearer ftir_your_key_here

# For REST API
X-API-Key: ftir_your_key_here

MCP 工具

托管的 MCP 端点 https://ftir.fun/mcp 提供七种工具。


analyze_ftir_spectrum

在 FTIR 红外光谱库中搜索与单条未知光谱匹配的结果。支持峰值、自然语言查询或原始仪器文件。

参数

参数类型必填描述
querystring否自然语言 FTIR 请求——会自动提取诸如 "1730, 1600, 1250 cm-1" 的峰位置。
peaksnumber[]否FTIR 峰位置,单位为 cm⁻¹(例如 [1736, 1379, 1241])。
file_base64string否Base64 编码的 FTIR 仪器文件。支持 28 种以上格式:Thermo .spa/.spc、Bruker .opus、PerkinElmer .sp、JCAMP-DX .jdx/.dx、CSV、Excel 等。
filenamestring否用于格式检测的原始文件名(例如 "sample.spa")。
top_kinteger否返回的排序候选项数量(1–50,默认 15)。
tolerance_cm1integer否峰匹配容差,单位为 cm⁻¹(1–30,默认 8)。

**返回:**按排名排列的候选材料,包含光谱库相似度评分、与已发表文献(DOI)关联的逐峰证据、置信度等级和不确定性说明。

示例

Identify this infrared spectrum: peaks at 2915, 1715, 1450, 1260, 1090 cm-1.

explain_peaks

无需搜索完整的光谱库,即可解析一个或多个 FTIR 红外峰。适用于快速判定官能团和解释波数。

参数

参数类型必填描述
querystring否关于峰的自然语言问题,例如:"What does 1715 cm-1 indicate in an ester?"
peaksnumber[]否一个或多个 FTIR 峰位,单位为 cm⁻¹。
sampling_modestring否ATR、Thin Film、KBr Pellet、Nujol Mull 等。

返回: 结构化的峰解析结果,包含官能团判定,并在可用时标注不确定性。

示例

Use FTIR.fun to explain the infrared peaks at 1715 and 3300 cm-1 in ATR mode.

parse_ftir_spectrum

将 base64 编码的 FTIR 仪器文件解析为对齐的波数-强度曲线点,并自动检测峰位。可用于在分析前提取原始光谱数据。

参数

参数类型必填描述
file_base64string是base64 编码的 FTIR 仪器文件。
filenamestring是用于检测格式的原始文件名(例如:"sample.spa")。

返回: 对齐的 (wavenumber, intensity) 数据点,以及检测到的峰位列表,单位为 cm⁻¹。


find_spectra

按物质名称、CAS 号、光谱编号或关键词查找 FTIR 库中的参考光谱。返回原始光谱曲线数据,以便直接比较。

参数

参数类型必填描述
querystring是物质名称(例如:"polypropylene")、CAS 号、FTIR 库 NUM 或关键词。
limitinteger否返回的参考光谱数量(1–20,默认值为 10)。

返回: 匹配的参考光谱,包含 num、名称、CAS、峰标记和库曲线数据。

示例

Find FTIR reference spectra for polyethylene terephthalate (PET).

submit_ftir_report

将 base64 编码的 FTIR 光谱文件提交给完整的 FTIR.fun 三轴鉴定工作流,即网站上使用的多阶段分析流程。立即返回 task_id 和 result_num;使用 get_ftir_report_status 轮询以获取已完成的报告。

参数

参数类型必填描述
file_base64string是base64 编码的 FTIR 仪器文件。
filenamestring是用于检测格式的原始文件名。

返回: { task_id, result_num }


get_ftir_report_status

轮询通过 submit_ftir_report 提交的报告状态。处理完成后,响应会包含完整的结构化 report_view(与 FTIR.fun 网站显示的数据相同)以及可分享的 report_url。

参数

参数类型必填描述
task_idstring是submit_ftir_report 返回的 task_id。

返回: 状态字段;完成后还会包含 report_view 和 report_url。


fetch_result

按报告编号获取历史 FTIR.fun 红外分析结果。

参数

参数类型必填描述
result_numstring是FTIR.fun 报告/结果编号。
language_codestring否已存储结果上下文的显示语言(默认值为 en)。

返回: 结构化上下文,包含 report_url、headline、summary、report_view 和 result_context。


REST API

可使用 Python、JavaScript、R、MATLAB、Go 等任何语言直接调用 FTIR.fun。适用于 LIMS 集成、批量光谱处理工作流,或在自己的应用中添加红外光谱搜索功能。

完整 API 参考:https://ftir.fun/api-docs/

健康检查(无需密钥)
curl https://ftir.fun/health
# → {"status":"ok","service":"ftirfun-api"}
鉴定未知红外光谱——峰列表
curl -X POST https://ftir.fun/ftir/analyze_spectrum \
  -H "X-API-Key: ftir_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "peaks": [2915, 1715, 1450, 1260, 1090],
    "options": {"top_k": 10, "tolerance_cm1": 8}
  }'
import requests

resp = requests.post(
    "https://ftir.fun/ftir/analyze_spectrum",
    headers={"X-API-Key": "ftir_your_key_here"},
    json={
        "peaks": [2915, 1715, 1450, 1260, 1090],
        "options": {"top_k": 10, "tolerance_cm1": 8},
    },
)
print(resp.json())
从仪器文件中识别
import base64, requests

with open("sample.spa", "rb") as f:
    b64 = base64.b64encode(f.read()).decode()

resp = requests.post(
    "https://ftir.fun/ftir/analyze_spectrum",
    headers={"X-API-Key": "ftir_your_key_here"},
    json={"file_base64": b64, "filename": "sample.spa"},
)
print(resp.json())

支持 28 种以上的仪器文件格式:Thermo .spa/.spc、Bruker .opus、PerkinElmer .sp、JCAMP-DX .jdx/.dx、CSV、Excel 等。

解释红外峰
curl -X POST https://ftir.fun/ftir/explain_peaks \
  -H "X-API-Key: ftir_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"peaks": [1715, 2915], "sampling_mode": "ATR"}'
按名称或 CAS 搜索参考光谱
curl "https://ftir.fun/v1/search?q=polypropylene&limit=5" \
  -H "X-API-Key: ftir_your_key_here"

MCP 客户端设置

托管的 MCP 端点无需本地安装。使用 https://ftir.fun/mcp 和 Bearer 令牌。

VS Code(GitHub Copilot Agent 模式)

在项目中创建 .vscode/mcp.json(或添加到用户级设置中):

{
  "inputs": [
    {
      "type": "promptString",
      "id": "ftirfun-api-key",
      "description": "FTIR.fun API key",
      "password": true
    }
  ],
  "servers": {
    "ftirfun": {
      "type": "http",
      "url": "https://ftir.fun/mcp",
      "headers": {
        "Authorization": "Bearer ${input:ftirfun-api-key}"
      }
    }
  }
}

打开命令面板 → MCP: List Servers → 选择 ftirfun → Start。

Claude Desktop / Claude Code
URL:    https://ftir.fun/mcp
Header: Authorization: Bearer ftir_your_key_here

Claude Code 的单行设置:

claude mcp add --transport http ftirfun https://ftir.fun/mcp \
  --header "Authorization: Bearer ftir_your_key_here"
Cursor

创建或编辑 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ftirfun": {
      "url": "https://ftir.fun/mcp",
      "headers": {
        "Authorization": "Bearer ftir_your_key_here"
      }
    }
  }
}
OpenAI Codex
[mcp_servers.ftirfun]
url = "https://ftir.fun/mcp"
http_headers = { Authorization = "Bearer ftir_your_key_here" }
Gemini CLI

编辑 ~/.gemini/settings.json:

{
  "mcpServers": {
    "ftirfun": {
      "httpUrl": "https://ftir.fun/mcp",
      "headers": {
        "Authorization": "Bearer ftir_your_key_here"
      }
    }
  }
}

任何支持远程 Streamable HTTP 服务的其他 MCP 客户端也可使用:将 URL 设为 https://ftir.fun/mcp,并发送 Authorization: Bearer <your key>。完整工具架构:server-card.json。


可自托管(本地封装器)

轻量级本地 MCP 封装器,可代理托管 API。提供相同的七种 FTIR 工具。

配置
export FTIRFUN_API_KEY="your-ftirfun-api-key"
# Optional:
export FTIRFUN_API_BASE_URL="https://ftir.fun"
export FTIRFUN_API_TIMEOUT_SECONDS="120"
本地运行(stdio)
python -m venv .venv
. .venv/bin/activate
pip install .
ftirfun-mcp
运行 Streamable HTTP
FTIRFUN_API_KEY="your-ftirfun-api-key" \
ftirfun-mcp --transport streamable-http --host 127.0.0.1 --port 8001
Docker
docker build -t ftirfun-mcp .
docker run --rm -p 8001:8001 -e FTIRFUN_API_KEY="your-ftirfun-api-key" ftirfun-mcp

工具边界

此 MCP 服务仅用于 FTIR 光谱库筛查。请勿将其用于非 FTIR 光谱分析、一般化学问答或认可实验室认证。


关于 FTIR.fun

FTIR.fun 是一个红外光谱分析云平台,供 52 个以上国家和地区的研究人员与工程师使用。它可快速访问持续更新的参考光谱库,其中包含 130,000 多条 FTIR 参考光谱,涵盖聚合物、添加剂、涂料、药物和工业化学品。

在 ftir.fun 上可以:

  • 光谱库搜索 — 上传仪器文件或粘贴峰位;获取按相似度评分排序的匹配结果,并附有文献 DOI 引用
  • AI 峰位解释 — 询问任意波数;获取由化学知识图谱支持的官能团归属
  • 完整三轴报告 — 自动进行多阶段材料识别,并生成可分享的结果 URL
  • 图像转 CSV 提取 — 将已发表图表中的光谱曲线数字化
  • 配方工作台 — 多组分配方逆向分析和未知混合物分析

分步设置指南:https://ftir.fun/ai-integration/


注册目录和链接

资源URL
网站https://ftir.fun
设置指南https://ftir.fun/ai-integration/
API 文档https://ftir.fun/api-docs/
托管的 MCP 端点https://ftir.fun/mcp
服务卡片https://ftir.fun/.well-known/mcp/server-card.json
Smitheryhttps://smithery.ai/servers/hlin2097/ftirfun
MCP.sohttps://mcp.so/server/ftir-spectral-search/ftir_fun
PyPIhttps://pypi.org/project/ftirfun-mcp/

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。