開発者 & AI統合

FTIR.funを任意のAIツールやアプリに接続

AIアシスタントまたは独自のコードから、320,000+件のリファレンススペクトル、ナレッジグラフに基づくピーク推論、文献に裏付けられた解釈へ直接アクセスできます。接続方法は、AIアシスタント向けのMCP、コード向けのREST API、ノーコードプラットフォーム向けのすぐに使えるSkillの3つから選択できます。以下の各方法には、初めて利用するユーザー向けに手順を追った説明があります。

掲載先

開始する前に — APIキーを取得してください

MCPとREST APIは、どちらも1つのFTIR.fun APIキーを使用します。Coze/Doubaoでは、サービスキーはプラグイン発行者が設定するため、エンドユーザーは個人キーを貼り付けることなくプラグインを利用できます。個人キーの取得には約1分かかります:

  1. FTIR.funにサインイン 無料アカウントを作成(新規アカウントには無料トライアルクレジットが含まれます)。
  2. APIキーダッシュボードを開く 移動 アカウント → APIキー そして「生成」をクリックしてください。
  3. APIキーを表示またはコピー 完全なキー(ftir_で始まる)はAPIキーダッシュボードで引き続き利用できます。そこに戻って表示、コピー、失効させることができます。
🔑 準備はできましたか? APIキーダッシュボードを開く 新しいタブで開き、その後戻って上で選択したパスをたどってください。

ステップ1 — どの接続があなたに適していますか?

3つすべてが同じエンジンに接続します:320,000+ 個のスペクトル、ナレッジグラフ推論、文献引用。必要なのは1つだけです。作業方法に合った経路を選択してください。MCP はAIアシスタントユーザーにとって便利な選択肢です。

AIが実際にできること

統合されたMCPサービスとRESTサービスは、同一のFTIR.fun操作カタログを公開します。APIキーでは利用可能な機能範囲がより狭くなる場合があります。一方、プラットフォーム固有の宣言により、意図的に一部のみを公開することもできます。以下の操作は、同一のFTIR.funサービスを共有します。

タスク MCPツール REST エンドポイント これをAIに伝えてください
機器ファイルを読み込む parse_ftir_spectrum POST /parse-spectrum sample.spc を解析し、検出されたピークを一覧表示します。
ネイティブデータを変換してメタデータを保持 convert_native_spectrum POST /native-spectrum/convert sample.spa を JDX に変換し、ソースメタデータを保持します。
未知のスペクトルを特定する analyze_ftir_spectrum POST /ftir/analyze_spectrum このスペクトルがどのポリマーか識別する
完全な三軸レポートを提出する submit_ftir_report POST /ftir/reports ATRモードで完全なレポートのためにsample.spaを送信します。
そのレポートをポーリングして取得する get_ftir_report_status GET /ftir/reports/{task_id} レポートタスクを確認し、完了したらリンクを教えてください。
ピークの説明 explain_peaks POST /ftir/explain_peak_assignments 1715 cm-1と1450 cm-1のピークは何を示していますか?
既知の参照スペクトルを見つける find_spectra POST /ftir/find_spectra ポリスチレンの基準スペクトルを見つけます。
以前の結果を開き直す fetch_result GET /ftir/result/{result_num} 結果20260528100755416137536を取得します。
🎓 学術用ピーク帰属 — 既知の組成を持つ試料の場合、高度な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 を保持し、再送信せずにポーリングしてください。

  1. 送信 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..."}
  2. 投票 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..."}
  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がサーバー(mcpServersではない)を使用していることを確認してください。その後、ftirfunを停止して再起動するか、ウィンドウをリロードしてください。
403 insufficient_balance アカウントにその分析に十分なポイントがありません。 FTIR.funで残高またはサブスクリプションを確認し、再試行してください。
429 rate_limit_exceeded REST分析と解析では、APIキーごとに1分あたり60リクエストを許可します。REST結果とレポートステータスの読み取りは、別の1分あたり120リクエストのバケットを使用します。MCPでは、APIキーとツールごとに1分あたり60コールを許可します。 ツールから報告された再試行期間が経過するまで待ってから再度呼び出してください。
レポートはキューまたは実行中のままです。 完全なレポートは非同期で実行され、クイックスクリーニングよりも時間がかかります。 同じ task_id を保持してポーリングしてください。task_id を失った場合は、GET /ftir/tasks を呼び出して最近のタスク一覧を取得し、再度見つけてください。
422 または missing_input リクエストボディに必須フィールドがないか、形式が無効です。analyze_spectrumの場合、peaks、query、またはfile_base64の少なくとも1つを提供する必要があります。 JSONが有効であり、Content-Typeがapplication/jsonであり、必須フィールドが存在することを確認してください。上記のリクエスト例を参照してください。
413 file_too_large アップロードされたスペクトルファイルがサイズ制限を超えています。 より小さなファイルをエクスポートするか、spectrum.peaksフィールドを介してピーク位置のみを使用してください。

構築の準備はできましたか?

完全なRESTリファレンスには、すべてのエンドポイント、リクエストとレスポンスの形式、認証、レート制限、エラーコード、MCPツール定義、Pythonとcurlのコード例が含まれています。

要件を送信 フォーム