「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>LangFlow]] --[[LangFlowのファースト・ステップ]] --[[LangFlowのセカンド・ステップ]] --[[LangFlowのサード・ステップ]] --LangFlowの4thステップ *目次 [#bd8efbca] #contents *概要 [#x83edd1e] [[MCP>LLMエージェント#ycd944bc]]の機能が実装されたそうなので機能を確認してみる。 -最初にMCPクライアント機能が実装され、Langflowフロー内でMCPツールを使用することができるようになった。 -次いでMCPサーバ機能が実装され、Claude DesktopやCursorなどのAIアプリからLangflowフローを利用できるようになった。 **機能 [#ze8d9cd9] ***MCPホスト [#g25d85e3] LangFlowの([[クライアント>#pddf9b2c]]を内包する)フロー自体 ***MCPクライアント [#pddf9b2c] -LangFlowのフロー中のAgentからAgentツールを呼び出す。 -AgentツールはMCPサーバによってMCPクライアントに提供される。 ***MCPサーバ [#x6a44d50] -LangFlowのフロー自体をMCPサーバから公開する。 -MCPサーバから公開された機能はAgentツールと呼ばれる。 **モード [#h6ef5d97] [[SSEモード>#d1c037e5]]/[[Stdioモード>#med4f339]]がある。 -LLM系ツールだから、先ずはCLIとして作りたがる。 -しかし、裏でネットワークを使っているケースは非常に多い。 ***SSEモード [#d1c037e5] SSE(Server-Sent Events) -MCPにおいて、Agentツールをネットワーク越しに提供/利用するケースがStdioモード。 -SSEは、HTTPサーバからクライアント(主にWebブラウザ)へリアルタイムでデータを一方向に送信するための仕組み。 -MCPにおいて、Agentツールをネットワーク越しに提供/利用するケースがSSEモード。 -元々SSEは、HTTPサーバからクライアント(主にWebブラウザ)へプッシュするための仕組み。 -目的~ ネットワーク越しにAgentツールをMCPクライアント(LangFlow)で使えるようにする -接続方法~ SSE(Server-Sent Events)というHTTP通信で接続 -対象 --ネットワーク越しに利用するAgentツール --LangFlowがAgentツールとして公開するフロー ***Stdioモード [#med4f339] Stdio(Stdin/Stdout)、日本語では標準入出力を呼ばれる。 -MCPにおいて、非LangFlowのCLI的なAgentツールをStdio越しに提供/利用するケースがStdioモード。 -Stdioは、匿名パイプを用いたプロセス間通信を行うための一般的な方法で、CLIの実装もStdioによる。 -目的~ CLI的なAgentツールをMCPクライアント(LangFlow)で使えるようにする -接続方法~ Stdioという匿名パイプ通信で接続 -対象 --CLI的な外部Agentツール --非LangFlow製の外部Agentツール *詳細 [#y81ad6ee] **クライアント [#g099acde] -LangflowにおいてMCPサーバーの提供するAgentツールと接続するMCPクライアントは~ 「MCP Connection Component」で、コレはコンポーネントサイドバーに表示されていないが、~ 検索バーに「MCP」と入力すると、絞り込まれて出てくる。 -「MCP Connection Component」はAgentツール類と同じように使用できる。 ***SSEモード [#z95c42df] [[SSEモード>#d1c037e5]]のAgentツールを取り込む場合。 -https://docs.langflow.org/mcp-client#mcp-sse-mode -... ***Stdioモード [#vaf72f0a] [[Stdioモード>#med4f339]]のAgentツールを取り込む場合。 -https://docs.langflow.org/mcp-client#mcp-stdio-mode -Langflow から Amazon Nova Canvas MCP Server を利用して画像生成 #AmazonNova - Qiita~ https://qiita.com/harusamet/items/7310d5983dab8f1a4b8a **サーバー [#pbef6649] LangFlowのフローをMCPサーバからAgentツールとして公開する。 ***SSEモード [#q24dcb1f] -プロジェクト画面の[MCP Server]タブに移動する。 -「Edit Actions」で、 --MCPサーバから公開するフロー(≒ Agentツール)を選択する。 --ココで、LLM AgentがAgentツール(≒ フロー)の内容を理解できるように名前と説明を明記する。~ 例えば「[[Document QA>LangFlowのファースト・ステップ#k8a5c328]]」のフローには以下のような名前と説明を付与する。 ---Flow Name: document_qa_for_resume ---Flow Description: A flow for analyzing Emily's resume.(エミリーの履歴書を分析するためのフロー。) -LangFlowが認証を要求する場合、「API key generated」を押下し、Web APIキーを生成する。 -MCPにおけるサーバ接続定義JSONをMCPクライアントに渡す。 { "mcpServers": { "lf-my_projects": { "command": "uvx", "args": [ "mcp-proxy", "--headers", "x-api-key", "(Web APIキー)", "http://localhost:7860/api/v1/mcp/project/(projectのID)/sse" ] } } } -CursorなどのMCPクライアントに取り込んで動作確認する。~ https://docs.langflow.org/mcp-server#connect-clients-to-use-the-servers-actions ***Stdioモード [#l363d51e] 該当する機能はない。 **Inspector [#ad7ca616] -「MCP Inspector」は、一般的なIT用語やオープンな技術仕様としてはあまり知られていない名称 -Langflow的には、MCPサーバのテストとデバッグによく使われるツール(フローを監視し、利用状況を把握) *参考 [#eac42b88] -Welcome to Langflow | Langflow Documentation~ https://docs.langflow.org/ --Model Context Protocol (MCP) ---Use Langflow as an MCP server~ https://docs.langflow.org/mcp-server ---Use Langflow as an MCP client~ https://docs.langflow.org/mcp-client -Langflow から Amazon Nova Canvas MCP Server を利用して画像生成 #AmazonNova - Qiita~ https://qiita.com/harusamet/items/7310d5983dab8f1a4b8a