開発者 & AI統合
FTIR.funを任意のAIツールやアプリに接続
AIアシスタントや独自のコードに、13万件以上のリファレンススペクトル、ナレッジグラフによるピーク推論、文献に基づく解釈への直接アクセスを提供します。接続方法は3つから選択できます — AIアシスタント向けのMCP、コード向けのREST API、ノーコードプラットフォーム向けの既製スキル。以下の各パスには、初めてのユーザー向けのステップバイステップの手順が記載されています。
開始する前に — APIキーを取得してください
MCPとREST APIはどちらも1つのFTIR.fun APIキーを使用します。Coze/Doubaoはプラグインパブリッシャーが設定したサービスキーを使用するため、エンドユーザーは個人キーを貼り付けません。個人キーの取得には約1分かかります:
FTIR.funにサインイン
アカウントをお持ちでない場合は無料アカウントを作成してください。新しいアカウントには無料トライアルクレジットが含まれています。
APIキーダッシュボードを開く
移動 アカウント → APIキー そして「生成」をクリックしてください。
キーをすぐにコピーして保存します
完全なキー(ftir_で始まる)は一度だけ表示されます。安全な場所に保存してください。紛失した場合は、新しいキーを生成してください。
⚠️
ホスト型MCPサーバーは、FTIR.fun API Keys Dashboardで生成されたアカウントAPIキー(ftir_で始まる)のみを受け付けます。サーバー側のマスターキーはRESTオペレーター用であり、ホスト型MCPにサインインできません。
ステップ1 — どの接続があなたに適していますか?
3つすべてが同じエンジンに接続します:130,000以上のスペクトル、知識グラフ推論、文献引用。必要なのは1つだけです。作業方法で選んでください。不明な場合?MCPはAIアシスタントを使用する方に最も人気のある選択肢です。
MCP
MCPサーバー
対象: AI アシスタントユーザー
API
REST API
対象: 開発者
Skill
スキルとプラグイン
対象:ノーコード&自動化
MCP パス A — MCP サーバー
MCP(Model Context Protocol)は、AI アシスタントが外部ツールを呼び出すための標準的な方法です。FTIR.fun はホストされた MCP サーバーを実行します。ローカルにインストールや実行は不要です。AI クライアントに小さな設定を追加し、API キーを入力するだけで、アシスタントは 7 つの FTIR ツールを利用できるようになります。
✓
サインインの仕組み(最初に読んでください):
FTIR.funは、アカウントのAPIキーをAuthorization: Bearerヘッダーとして送信して認証します。OAuthブラウザサインインや個別の認証ページはありません。クライアントが認証ウェブページを開こうとした場合、古い設定を使用しています。以下のトラブルシューティングを参照してください。
正確な手順については、クライアントを選択してください:
VS VS Code
A クロード
Cu カーソル
Cx Codex
Gm Gemini CLI (MCP)
VS
VS CodeでFTIR.fun MCPをセットアップする
AgentモードのGitHub Copilot Chatが搭載された最新のVS Codeが必要です。
プロジェクトを開き、.vscode/mcp.jsonファイルを作成してください。
プロジェクトフォルダ内に.vscodeフォルダ(存在しない場合)を作成し、その中にmcp.jsonファイルを作成します。FTIR.funをすべてのプロジェクトで利用できるようにしますか?代わりに、ユーザーレベルの設定に同じJSONを配置します:コマンドパレットを開き、「Preferences: Open User Settings (JSON)」を検索し、そこにmcp.serversエントリを追加します。
この正確な設定を貼り付けてください
そのままコピーします。${input:...}の部分を実際のキーに置き換えないでください — VS Codeはサーバー起動時に安全にキーを求めます。
.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}"
}
}
}
}
ftirfunサーバーを起動
コマンドパレットを開き、「MCP: List Servers」を実行し、ftirfunを選択して、開始を選択します。一部のVS Codeバージョンでは、mcp.jsonのサーバーの真上にStartアクションが表示されます — それも機能します。
プロンプトが表示されたら API キーのみを貼り付け
VS Codeがftirfun-api-keyを要求したら、生のキー(ftir_で始まる)だけを貼り付けてください。Bearerという単語は入力しないでください — 設定が自動的に追加します。
接続を確認
AgentモードでCopilot Chatを開き、ツール一覧を確認してください。FTIR.funに7つのツールが表示されるはずです。その後、以下のテストプロンプトを試してください。
Use FTIR.fun to explain the FTIR peak at 1715 cm-1.
💬
以前に認証ページまたは「認証ページが存在しません」エラーを見ましたか?それは古いOAuthスタイルの設定でした。古いftirfunエントリを削除し、上記のJSONを貼り付け、VS Codeをリロードして再度起動してください。完全な修正はトラブルシューティングにあります。
A
ClaudeでFTIR.fun MCPを設定
Anthropic MCPレジストリに正式に掲載されています。Claude DesktopおよびClaude Codeで動作します。
MCPサーバー設定を開く
Claude Desktop では、設定 → コネクタ → カスタムコネクタを追加に進みます。Claude Code では、MCP 設定ファイルを編集します。
リモートサーバーと Bearer ヘッダーを追加
ホストされたURLを使用し、APIキーをAuthorizationヘッダーとして追加します。プレースホルダーを実際のキー(ftir_で始まる)に置き換えてください。
リモートMCPサーバー
コピー
URL: https://ftir.fun/mcp
Header: Authorization: Bearer ftir_your_key_here
Claudeを再起動して確認
Claude Desktopを再起動し、コネクタ/ツールパネルを開いてFTIR.funツールが表示されることを確認します。その後、平易な言葉で質問してください。
Identify this polymer from its FTIR peaks: 2915, 1715, 1450 cm-1.
📎
Claude Code CLIをお好みですか?次のコマンドを実行します:claude mcp add --transport http ftirfun https://ftir.fun/mcp --header \"Authorization: Bearer ftir_your_key_here\"。
Cu
CursorでFTIR.fun MCPを設定
CursorのMCP設定を編集して、AIコードエディタがIDEを離れずにFTIR.funを呼び出せるようにします。
MCP設定ファイルを開く
~/.cursor/mcp.json(グローバル)またはプロジェクト内の.cursor/mcp.jsonを作成または編集します。
サーバーブロックを貼り付け
プレースホルダーを実際のキー(ftir_で始まる)に置き換えます。
~/.cursor/mcp.json
コピー
{
"mcpServers": {
"ftirfun": {
"url": "https://ftir.fun/mcp",
"headers": {
"Authorization": "Bearer ftir_your_key_here"
}
}
}
}
カーソルをリロードして確認
Cursorを再度開き、設定 → MCPでftirfunサーバーとその緑色のステータスを確認し、チャットで質問してください。
Cx
Codexまたは任意のMCPハーネスでFTIR.fun MCPをセットアップします
OpenAI CodexおよびリモートHTTPサーバーをサポートする任意のMCP互換クライアントで動作します。
サーバーを Codex 設定に追加
クライアントをホストされているURLに向け、APIキーをBearerヘッダーとして送信するようにしてください。プレースホルダーを実際のキーに置き換えてください。
~/.codex/config.toml
コピー
[mcp_servers.ftirfun]
url = "https://ftir.fun/mcp"
http_headers = { Authorization = "Bearer ftir_your_key_here" }
再起動してツールが読み込まれることを確認
プロンプトを表示する前に、クライアントを再起動して7つのFTIR.funツールがリストされていることを確認します。
Gm
Gemini CLIでFTIR.fun MCPを設定
同じホストURLとBearerヘッダーを使用して、MCP対応のGeminiクライアントにFTIR.funを追加します。
~/.gemini/settings.jsonを編集
APIキーヘッダーを含むhttpUrlサーバーエントリを追加します。プレースホルダーを実際のキーに置き換えます。
~/.gemini/settings.json
コピー
{
"mcpServers": {
"ftirfun": {
"httpUrl": "https://ftir.fun/mcp",
"headers": {
"Authorization": "Bearer ftir_your_key_here"
}
}
}
}
Gemini CLI を再起動して確認
/mcpを実行してサーバーを一覧表示し、プロンプトを出す前にftirfunが接続されていることを確認します。
🧩
別のMCPクライアントを使用していますか?リモートのストリーミング可能なHTTPサーバーをサポートするクライアントはどれでも動作します:URLを設定してください。 https://ftir.fun/mcp そして送信 Authorization: Bearer <your key>. 完全なツールスキーマについては、公開サーバーカードを参照してください。 server-card.json
✓
接続が成功すると、AIクライアントは以下の7つのツールをリスト表示するはずです。
parse_ftir_spectrum, analyze_ftir_spectrum, submit_ftir_report, get_ftir_report_status, explain_peaks, find_spectra, fetch_result.
ツールが少ないか、まったく表示されない場合は、以下のトラブルシューティングを確認してください。
API パスB — REST API
任意の言語(Python、JavaScript、R、MATLAB、Java、Go)で独自のコードからFTIR.funを呼び出します。未知のスペクトルの特定、ピークの説明、リファレンススペクトルの検索、レポート番号による過去の結果の取得のための標準的なHTTPエンドポイント。LIMS統合、バッチパイプライン、独自アプリへのFTIR検索の追加に最適です。
RESTサービスがオンラインであることを確認する
ヘルスエンドポイントは公開されており、ポイントを消費しません。以下のJSONを返す必要があります。HTMLページまたはタイムアウトが表示される場合、サービスが一時的に停止している可能性があります。
curl コピー
curl https://ftir.fun/health
期待される応答
{"status":"ok","service":"ftirfun-api"}
X-API-Keyヘッダーで認証する
すべての保護されたエンドポイントは、X-API-Keyヘッダーにあなたのキーを受け取ります。Webアプリと同じアカウントルール(ポイント、サブスクリプション、レート制限)が適用されます。キーが間違っているか欠けている場合は、401 JSONエラーが返されます。
認証ヘッダー
コピー
X-API-Key: ftir_your_key_here
最初の呼び出し — 未知のスペクトルを特定する
ピークリスト(またはアップロードしたファイル)を送信すると、類似度スコアとピークエビデンス付きでランク付けされた候補材料が得られます。オプションブロックはオプションです。デフォルトはtop_k=15(範囲1〜50)、tolerance_cm1=8(範囲1〜30)です。
curl
コピー
curl -X POST https://ftir.fun/ftir/analyze_spectrum \
-H "X-API-Key: ftir_your_key_here" \
-H "Content-Type: application/json" \
-d '{"spectrum":{"type":"ftir","x_unit":"cm-1","y_unit":"absorbance","peaks":[3026,1600,1493,1452,756,697]},"options":{"top_k":5,"tolerance_cm1":8}}'
Python
コピー
import requests
resp = requests.post(
"https://ftir.fun/ftir/analyze_spectrum",
headers={"X-API-Key": "ftir_your_key_here"},
json={
"spectrum": {"type": "ftir", "x_unit": "cm-1", "y_unit": "absorbance",
"peaks": [3026, 1600, 1493, 1452, 756, 697]},
"options": {"top_k": 5, "tolerance_cm1": 8},
},
)
print(resp.json())
成功レスポンスの例(簡略版)
{
"success": true,
"search_mode": "peak_only",
"n_matches": 5,
"confidence": 0.42,
"confidence_source": "peak_match_score",
"summary": "Peak-based FTIR matching ranks Styrene/acrylonitrile copolymer first...",
"matches": [
{"rank": 1, "name": "Styrene/acrylonitrile copolymer", "cas": "9003-54-7",
"num": 119319, "score": 0.4214, "matched": 6}
],
"evidence": ["3026 cm-1 -> alkyl C-H vibration (DOI 10.5650/jos.ess14201)"],
"peak_explanations": [
{"peak_cm1": 3026, "assignment": "alkyl C-H vibration",
"evidence_type": "kg_peak_group"}
],
"uncertainty": "The leading match is close to the runner-up..."
}
残りのエンドポイントを探索する
完全なリファレンスは、すべてのエンドポイント、リクエストとレスポンスの形式、エラーコード、およびその他のコードサンプルをカバーしています。以下を参照してください。 APIドキュメント .
主要パラメータリファレンス
機器ファイルを解析する(2つの方法)
/parse-spectrumエンドポイントは、マルチパートファイルアップロードまたはbase64エンコードされたコンテンツを含むJSON本文のいずれかを受け入れます。どちらも同じレスポンス(検出されたピークと完全なカーブ)を返します。
オプションA: マルチパートファイルアップロード
コピー
curl -X POST https://ftir.fun/parse-spectrum \
-H "X-API-Key: ftir_your_key_here" \
-F "file=@/path/to/sample.spc"
オプションB: base64を含むJSON
コピー
curl -X POST https://ftir.fun/parse-spectrum \
-H "X-API-Key: ftir_your_key_here" \
-H "Content-Type: application/json" \
-d '{"file_base64": "V2F2ZW51bWJlci...", "filename": "sample.spc"}'
応答
{
"peaks": [697, 756, 1028, 1452, 1493, 1600, 3026],
"spectrum": [{"x": 400.0, "y": 0.023}, {"x": 401.0, "y": 0.024}, ...],
"status": "ok",
"error": null
}
Skill パス C — スキルとプラグイン
人気のAIおよび自動化プラットフォーム向けに、既製のパッケージを提供しているため、APIコールを手書きする必要はありません。パッケージをインストールするかプラグインをインポートするだけで、FTIR.funがワークフローの構成要素になります。以下の各カードには、実行またはインポートする内容が正確に記載されています。
LC
LangChain
Pythonパッケージ · PyPI
公開済み
FTIR対応エージェント構築のためのプラグインツール。Base64エンコード、リトライ、非同期呼び出しを処理します。
インストール コピー
pip install langchain-ftirfun
最小限の呼び出し コピー
from langchain_ftirfun import explain_peaks
result = explain_peaks(
api_base_url="https://ftir.fun",
api_key="ftir_your_key_here",
peaks=[1715],
)
print(result)
インポート FTIRFUN_TOOLS すると、7つの関数のリストが取得されます。各関数は最初の2つの引数として api_base_url と api_key を取ります。
n8n
n8n
コミュニティノード · npm
公開済み
視覚的な自動化ワークフローにFTIR検索をドラッグアンドドロップ。コーディング不要—ノードを接続して実行します。
インストール コピー
npm install n8n-nodes-ftirfun
または、n8nで追加します:設定 → コミュニティノード → インストール。
Cz
Coze / Doubao
OpenAPIプラグイン · パブリッシャーサービスキー
ライブ
Cozeクラウドプラグインは、スペクトル分析、参照ライブラリ検索、ピーク説明の3つのツールを備えて公開されています。エンドユーザーはAPIキーを設定せずにDoubaoで直接使用できます。
エンドポイント
/coze/analyze_spectrum_flat
/coze/find_spectra
/coze/explain_peaks
クォータはCoze sys_uuidを介してユーザーごとに追跡されます。プラグインはパブリッシャーが設定したサービスキーを使用します。
GPT
ChatGPT
カスタムGPT · GPTアクションズ
スキーマ準備完了
スペクトルを分析し、ピークを説明し、リファレンススペクトルを見つけるカスタムGPTを構築します。OpenAPIスキーマをアクションとしてインポートします。ChatGPT Plusが必要です。
URLをインポート コピー
https://ftir.fun/openapi.platform.yaml
GPTエディターで: 設定 → アクション → URLからインポート。認証をAPIキー(ヘッダーX-API-Key)に設定します。
Df
Dify
カスタムツール · OpenAPI
スキーマ準備完了
同じOpenAPIスキーマをインポートして、DifyアプリやエージェントにカスタムツールとしてFTIR.funを追加します。
URLをインポート コピー
https://ftir.fun/openapi.platform.yaml
Difyの場合:ツール → カスタムツールを作成 → スキーマをインポートし、X-API-Keyヘッダーを設定します。
Gm
Google Gemini API
関数宣言 (SDK統合)
準備完了
既製の関数宣言を使用して、Gemini APIの関数呼び出しフローからFTIR.funを呼び出します。
宣言は、解析と非同期の完全なレポートを含む7つの操作すべてをカバーしています。
AIが実際にできること
現在のMCP、REST、n8n、およびLangChainディストリビューションは7つの操作を公開しています。公開されているCozeプラグインは3つのツール(analyze、find、explain)を公開し、他のテンプレートはより小さな宣言セットを公開する場合があります。各プラットフォームカードを使用前に確認してください。以下の操作は同じFTIR.funサービスを共有しています。
サポートされているファイル: 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を保持してポーリングしてください。
送信
submit_ftir_report (MCP) または POST /ftir/reports (REST) を呼び出します。task_id と予約された result_num が返されます。file_base64 フィールドは必須です。その他のフィールド (sampling_mode, prior_context, language_code, sample_name, sample_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"}
投票
get_ftir_report_status(MCP)または GET /ftir/reports/{task_id} を5〜10秒ごとに呼び出し、completed が true になるまで実行します。完了したレスポンスには report_url、report_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..."}
最終レポートを開く
完全なURL https://ftir.fun/outputdata/?num={result_num} をブラウザで開き、FTIR.funによってレンダリングされた完全な三軸結果ページを表示します。
⚠️
キューに入っているか実行中の間は、同じレポートを再度送信しないでください。task_idを保持し、完了または失敗するまでポーリングを続けてください。重複送信はポイントを無駄にします。
構築の準備はできましたか?
完全なRESTリファレンスには、すべてのエンドポイント、リクエストとレスポンスの形式、認証、レート制限、エラーコード、MCPツール定義、Pythonとcurlのコード例が含まれています。