ツール
MCP_LOCAL_RUN
- ローカルMCPサーバーをサブプロセス(stdioトランスポート)として起動し、そのツールの1つを呼び出します
- 入力は
mcpオブジェクト1つ(ステップエディタで設定)。command(既定値npx)、args(既定値["-y"])、任意のenv、取得済みのtools一覧、選択したツールIDのselectedTool、そのツールへの入力toolInputsを持ちます - 実行時には
command、selectedTool、toolInputsが必須です。不足しているとMissing required fields: command, selectedTool, or toolInputsでステップが失敗します
MCP_REMOTE_RUN
- Streamable HTTPでリモートMCPサーバーに接続し、そのツールの1つを呼び出します
- 入力は
mcpオブジェクト1つ。server_url、任意のheaders(Authorizationヘッダーなど)、取得済みのtools一覧、selectedTool、toolInputsを持ちます - 実行時には
server_url、selectedTool、toolInputsが必須です。不足しているとMissing required fields: server_url, selectedTool, or toolInputsでステップが失敗します
認証
MCPツール自体にはconfig がありません。資格情報は mcp 入力経由で渡します。ローカルサーバーには env(サーバーが環境変数から読むAPIキーなど)、リモートサーバーには headers を使います。シークレットはFlowのシークレットとして保存し、{{secrets.NAME}} で参照してください。
ローカルMCPサーバーのツールを呼び出す
your-mcp-server-package、read_document、toolInputs は、ステップエディタで取得したMCPサーバーのパッケージ名、ツール名、入力スキーマに置き換えてください。
リモートMCPサーバーのツールを呼び出す
結果を読む
result にはMCPツールが返した内容が入ります。
- ツールが
structuredContentを返す場合、resultはそのオブジェクトです。 - それ以外の場合、
resultはツールのコンテンツブロックのテキストです。ブロックが1つなら文字列、複数なら文字列の配列になります。そのテキストがJSONであればパースされるため、resultはオブジェクトや配列になることがあります。 - ツールがコンテンツを返さない場合、
resultはnullです。
steps.<id>.result の実際の値を確認してください。
エラーハンドリング
- フィールド不足:
command/server_url、selectedTool、toolInputsが未設定の場合はMissingFieldsErrorになります。ステップを開いてツール一覧を取得し、セットアップを完了してください。 - サーバーまたはツールのエラー: サーバーへの接続やツール呼び出し中に例外が発生すると、ステップのエラーに
An error occurred while the tool was executing: ...が記録されて失敗します(MCP_REMOTE_RUNでは詳細なしのAn error occurred while the tool was executing.になります)。
使用例
- データ処理: 高度なデータ変換と分析
- 文書処理: 複雑な文書解析と抽出
- AI/ML統合: 機械学習モデルの実行
- カスタムワークフロー: ドメイン固有のビジネスロジック実行
- 外部API統合: 外部サービスのラッパー
- バッチ処理: 大規模データ処理操作
- 専門ツール: 業界固有の処理ツール
- 研究ツール: 学術・科学計算ツール
ベストプラクティス
パフォーマンス最適化
- 頻繁な操作にはローカルサーバーを使用
- 計算集約的なタスクにはリモートサーバーを使用
toolInputsは小さく保ち、サーバーが対応していればファイル内容ではなくファイルURLを渡す
セキュリティ考慮事項
- egress ポリシーが設定された組織では、ローカル MCP サーバーも Python コードと同じ種類のロックダウン済みサンドボックスで動きます。
sudoとnpm install -gは使えず、外部への通信は許可されたホストへの HTTP(S) だけです。npm レジストリが許可ホストに含まれていれば、npx -y <package>はこれまでどおり使えます。詳しくは Python Sandbox を参照してください。 - 認証トークンを安全に保護し、Flowのシークレットから
envまたはheaders経由で渡す - すべての入力と出力を検証
- リモート接続にはHTTPSを使用
- 適切なエラーハンドリングを実装
開発ガイドライン
- カスタムMCPツールを徹底的に文書化
- 適切なログと監視を実装
- 一貫した入力/出力スキーマを使用
- デプロイ前にツールを徹底的にテスト