開発者 & AI統合
FTIR.funを任意のAIツールやアプリに接続
AIアシスタントまたは独自のコードから、320,000+件のリファレンススペクトル、ナレッジグラフに基づくピーク推論、文献に裏付けられた解釈へ直接アクセスできます。接続方法は、AIアシスタント向けのMCP、コード向けのREST API、ノーコードプラットフォーム向けのすぐに使えるSkillの3つから選択できます。以下の各方法には、初めて利用するユーザー向けに手順を追った説明があります。
開始する前に — APIキーを取得してください
MCPとREST APIは、どちらも1つのFTIR.fun APIキーを使用します。Coze/Doubaoでは、サービスキーはプラグイン発行者が設定するため、エンドユーザーは個人キーを貼り付けることなくプラグインを利用できます。個人キーの取得には約1分かかります:
FTIR.funにサインイン
無料アカウントを作成(新規アカウントには無料トライアルクレジットが含まれます)。
APIキーダッシュボードを開く
移動 アカウント → APIキー そして「生成」をクリックしてください。
APIキーを表示またはコピー
完全なキー(ftir_で始まる)はAPIキーダッシュボードで引き続き利用できます。そこに戻って表示、コピー、失効させることができます。
ステップ1 — どの接続があなたに適していますか?
3つすべてが同じエンジンに接続します:320,000+ 個のスペクトル、ナレッジグラフ推論、文献引用。必要なのは1つだけです。作業方法に合った経路を選択してください。MCP はAIアシスタントユーザーにとって便利な選択肢です。
MCP
MCPサーバー
対象: AI アシスタントユーザー
API
REST API
対象: 開発者
Skill
スキルとプラグイン
対象:ノーコード&自動化
MCP パス A — MCP サーバー
MCP(Model Context Protocol)は、AIアシスタントが外部ツールを呼び出すための標準的な方法です。FTIR.funはホスト型MCPサーバーを運用しているため、ローカルへのインストールは必要ありません。AIクライアントに小さな設定を1つ追加してAPIキーを入力すると、そのキーで有効化されたFTIR.funのツールをアシスタントが利用できるようになります。
✓
サインインの仕組み(最初に読んでください):
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には統合ツールカタログが表示されるはずです。このキーの機能範囲外の呼び出しは権限エラーを返します。次に、以下のテストプロンプトを試してください。
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" }
再起動してツールが読み込まれることを確認
クライアントを再起動し、プロンプトを表示する前にFTIR.funツールカタログが一覧表示されていることを確認します。APIキーによって呼び出せる機能が制御されます。
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 RESTサービスを呼び出せます。APIキーによって利用可能な機能が制御され、未知スペクトルの同定やピークの説明から、参照検索、レポート、LIMSワークフロー、その他アカウントで有効化された操作まで利用できます。
RESTサービスがオンラインであることを確認する
ヘルスエンドポイントは公開されており、ポイントを消費しません。以下のJSONを返す必要があります。HTMLページまたはタイムアウトが表示される場合、サービスが一時的に停止している可能性があります。
curl コピー
curl https://ftir.fun/health
期待される応答
{"status":"ok","service":"ftirfun-api"}
X-API-Keyヘッダーで認証する
保護された各エンドポイントでは、X-API-Keyヘッダーにキーを指定する必要があります。Webアプリと同じアカウントルールが適用されます。これにはポイント、サブスクリプション、レート制限が含まれます。キーが正しくないか欠落している場合は、401 JSONエラーが返されます。キーの権限スコープに操作が含まれていない場合は、403 capability_not_enabledレスポンスが返されます。
認証ヘッダー
コピー
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ドキュメント .
💡
ヒント: POST /ftir/analyze_spectrum は、スペクトル同定のための唯一の推奨エントリーポイントです。古い /v1/search、/ftir/identify_material、/ftir/match_library_topk エンドポイントは互換性エイリアスとして引き続き利用できます。新しい統合には analyze_spectrum のみが必要です。
主要パラメータリファレンス
機器ファイルを解析する(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
}
ネイティブインストルメントファイルを変換 (CSV、JDX、またはJSON)
標準カーブ、ソースメタデータ、プロバナンス、明示的な保存警告が必要な場合、ネイティブコンバーターを使用してください。元のパーサーのメタデータをmetadata.rawに保持し、変換されたアーティファクトをcontent_base64として返します。
マルチパートアップロード
コピー
curl -X POST "https://ftir.fun/native-spectrum/convert?output_format=jdx" \
-H "X-API-Key: ftir_your_key_here" \
-F "file=@/path/to/sample.spa"
Base64 付き JSON
コピー
curl -X POST https://ftir.fun/native-spectrum/convert \
-H "X-API-Key: ftir_your_key_here" \
-H "Content-Type: application/json" \
-d '{"file_base64":"...","filename":"sample.spa","output_format":"json"}'
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をインポートすると、公開されている関数一覧を取得できます。各関数は最初の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を呼び出します。
宣言は、解析および非同期フルレポートを含む公開済みの操作を対象とします。サーバーは、各APIキーで有効化された機能を適用します。
AIが実際にできること
統合されたMCPサービスとRESTサービスは、同一のFTIR.fun操作カタログを公開します。APIキーでは利用可能な機能範囲がより狭くなる場合があります。一方、プラットフォーム固有の宣言により、意図的に一部のみを公開することもできます。以下の操作は、同一のFTIR.funサービスを共有します。
🎓
学術用ピーク帰属 —
既知の組成を持つ試料の場合、高度なFTIR.fun REST/MCP機能により、測定されたすべてのピークに対して、文献に基づき追跡可能なエビデンスを付した帰属が行われます。各送信には30ポイントが必要ですが、有効なサブスクリプションがある場合は無料です。ステータス照会には料金がかかりません。
タスクを自然に説明してください(例:「このスペクトルの測定されたすべてのFTIRピークを割り当ててください。サンプルはPMMAと判明しています。レポートをメールで送信してください」)。クライアントがファイルを提供し、自分でJSONやBase64を構築する必要は一切ありません。完了した結果は、JSONステータスと保護されたレポートアドレスの両方を返します。レポートは公開ダウンロードパスには公開されません。
対応しているスペクトルファイル名の拡張子 (36): .spa, .spc, .sp, .abs, .irf, .irs, .dt, .jws, .jdx, .dx, .asc, .dpt, .opju, .opus, .ispd, .[0-9]+, .xlsx, .xls, .ods, .csv, .dat, .txt, .tsv, .json, .tab, .a2r, .asp, .spe, .map, .bsp, .spg, .srs, .smf, .ird, .fsm, .mat。元のファイル名の拡張子を保持してください。サポートされていない、または読み取れないファイルは、supported_extensions と supported_formats を返します。有効な sampling_mode 値は、KBrペレット、蒸気、溶媒、薄膜、パラフィンマル、ATR、拡散反射、マイクロIR、その他です。透過は有効な値ではありません。
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": "instrument_import",
"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", "status_url": "https://ftir.fun/ftir/reports/rpt_abc123..."}
投票
completed が true になるまで、get_ftir_report_status (MCP) または GET /ftir/reports/{task_id} を5〜10秒ごとに呼び出してください。完了した応答には、report_url、report オブジェクト(構造化された結果コンテンツ。その中に詳細な 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のコード例が含まれています。