mcpField
F
FlowDot

FlowDot

ローカル
flowdot.aiAI・エージェント01 日前に更新

FlowDot について

FlowDotのMCPサーバーを使うと、AIクライアントからプラットフォーム上のワークフロー、アプリ、カスタムノード、エージェントツールキット、ナレッジベースを操作できます。作成・管理ツールと学習用リソースを備え、レシピの実行にはFlowDot CLIが必要です。

主な機能

  1. 01ワークフローの作成、検証、実行
  2. 02カスタムノードの作成と共有
  3. 03Reactアプリの開発
  4. 04ナレッジベースと文書の管理
  5. 05エージェントツールキットの作成と呼び出し
  6. 06実行状況のストリーミングと確認

活用シーン

  1. 01ノードと接続からワークフローを構築
  2. 02ワークフローに連携するアプリの作成
  3. 03ナレッジベース文書の検索やアップロード
  4. 04ワークフロー実行の監視、キャンセル、再試行

MCP 対応

17カテゴリの150個のツールと、8個の`learn://`リソースをMCPクライアントに公開します。レシピはMCPで設計できますが、実行にはFlowDot CLIが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ai-flowdot": {
"command": "npx",
"args": [
"-y",
"@flowdot.ai/mcp-server"
],
"env": {
"FLOWDOT_API_TOKEN": "<FLOWDOT_API_TOKEN>",
"FLOWDOT_HUB_URL": "<FLOWDOT_HUB_URL>"
}
}
}
}
起動コマンドnpx -y @flowdot.ai/mcp-server
設定が必要な環境変数
FLOWDOT_API_TOKENシークレットYour FlowDot MCP token (starts with fd_mcp_). Create one free at https://flowdot.ai/mcp
FLOWDOT_HUB_URLFlowDot Hub URL. Defaults to https://flowdot.ai

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@flowdot.ai/mcp-server1.3.21

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@flowdot.ai/mcp-server

Claude Desktop、Cursor、Windsurf、Claude Code、その他のMCP互換AIクライアントを、ワークフロー、レシピ、カスタムノード、アプリ、ナレッジベース、エージェントツールキット、コミュニティ/共有機能全体を含むFlowDotプラットフォーム全体に接続します。

MCPとは?

MCP(Model Context Protocol)は、AIモデルが外部のツールやサービスとやり取りできるようにするオープン標準です。FlowDot MCP Serverは、17の機能カテゴリにわたる150個のツールと、8つの教育用learn://リソースを公開し、AIクライアントにFlowDotの包括的な操作インターフェースを提供します。ウェブUIは必要ありません。

このサーバーを使うと、AIクライアントは次のことができます。

  • ワークフローをゼロから構築する — グラフの作成、ノードの追加、接続の配線、検証、実行、結果のストリーミング
  • カスタムノードを作成して共有する — JavaScriptコンポーネントを記述し、AST解析で検証して、コミュニティに公開
  • FlowDot Appsを開発する — 外科的なコード編集操作が可能な、完全なReactのマルチファイルプロジェクト
  • エージェントレシピを設計する — ストア、ゲート、分岐、ループ、並列ステップ、サブレシピを備えた、複数ステップのエージェントプログラム
  • ナレッジベース(RAG)を管理する — カテゴリ、ドキュメント、アップロード、セマンティッククエリ
  • エージェントツールキットを作成して呼び出す — 新しいツールの定義、OAuth/APIキー認証情報の設定、インストール、呼び出し
  • 音声通話用のエージェントキャラクターを設定する — 一覧表示、取得、作成、更新、削除、フォーク、複製、公開。サーバー側で音声設定の完全性を検証
  • 共有して見つける — 公開URL、投票、コメント、お気に入り、コミュニティの閲覧
  • 実行を開始して監視する — 開始、SSE経由でのストリーミング、キャンセル、再試行、履歴とメトリクスの表示

注: レシピはMCP経由で設計できますが、実行にはFlowDot CLI(@flowdot.ai/cli)を使用する必要があります。レシピはAIクライアントのタイムアウトを超える長時間実行のエージェントプログラムであり、ローカルのファイル/コード/シェルへのアクセスが必要です。

クイックスタート

1. 無料のMCPトークンを取得する

FlowDotの無料アカウントを作成します。MCP Tokensタブが表示されるので、Select allをクリックするか、スコープを選択し(トークンのスコープを参照)、Create Tokenをクリックします。トークンはfd_mcp_で始まり、ページにはトークンを入力済みの、すぐに貼り付けられる設定が表示されます。

無料プランには、1日あたり5回のワークフロー実行と10回のツールキット呼び出しが含まれます。Creatorプランは月額19ドルです(1か月あたり500回の実行、1日あたり200回のツールキット呼び出し)。詳細:flowdot.ai/mcp。

2. クライアントを接続する

Claude Code(1つのコマンド):

claude mcp add flowdot -e FLOWDOT_API_TOKEN=fd_mcp_your_token_here -- npx -y @flowdot.ai/mcp-server

Claude Desktop、Cursor、その他のクライアント: 以下のブロックをクライアントの設定ファイルに追加します。

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "flowdot": {
      "command": "npx",
      "args": ["-y", "@flowdot.ai/mcp-server"],
      "env": {
        "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
      }
    }
  }
}
3. クライアントを再起動する

Claude Desktop、Cursor、またはMCPクライアントを再起動して、サーバーを読み込みます。Claude Codeでは、次のセッションで読み込まれます。

インストール方法

オプションA:Claude Desktop拡張機能(.mcpb)

.mcpb拡張機能バンドルをダウンロードし、ダブルクリックしてClaude Desktopにインストールします。この拡張機能にはNode.jsランタイムとすべての依存関係が含まれているため、別途インストールする必要はありません。

オプションB:npm(Cursor、Claude Code、手動設定)
npx @flowdot.ai/mcp-server

または、グローバルにインストールします。

npm install -g @flowdot.ai/mcp-server
flowdot-mcp

教育用リソース(learn://)

このサーバーは、MCPのReadResourceRequestインターフェースを介して、8つの独立した概念ガイドを公開します。ツールを呼び出す前にこれらを読み、基礎知識を身に付けてください。

リソース内容
learn://overviewFlowDotプラットフォームの概要
learn://workflowsワークフロー作成ガイド
learn://recipesエージェントレシピのオーケストレーションガイド
learn://custom-nodesカスタムノード開発ガイド
learn://appsアプリ開発ガイド
learn://toolkitsエージェントツールキットガイド
learn://knowledge-baseナレッジベースとRAGのガイド
learn://charactersエージェントキャラクター(音声通話)の設定ガイド

利用可能なツール

サーバーは、17 のカテゴリーに分類された150 個のツールを公開しています。

コア(4)
  • list_workflows — 認証済みユーザーが利用できるすべてのワークフローを一覧表示します
  • execute_workflow — オプションの入力を指定してワークフローを実行します(同期または非同期)
  • get_execution_status — ワークフロー実行のステータスと結果を取得します
  • agent_chat — ワークフローのサポートについて FlowDot AI エージェントとチャットします
分析とフィードバック(3)
  • get_workflow_metrics — インプレッション数、成功率/失敗率、平均所要時間を取得します
  • get_workflow_comments — ワークフローに関するコメントと評価を取得します
  • get_execution_history — タイムスタンプとステータスを含む過去の実行履歴を取得します
ワークフロー管理(5)
  • get_workflow_details — ノード、接続、シグネチャなど、ワークフローの詳細情報を取得します
  • get_workflow_inputs_schema — 想定される型と必須フィールドを含む入力スキーマを取得します
  • duplicate_workflow — 既存のワークフローのコピーを作成します
  • toggle_workflow_public — ワークフローを公開または非公開に設定します
  • favorite_workflow — ワークフローをお気に入りに追加または削除します
実行機能の拡張(3)
  • cancel_execution — 実行中または保留中のワークフロー実行をキャンセルします
  • retry_execution — 同じ入力で失敗した実行を再試行します
  • stream_execution — ワークフロー実行を SSE でリアルタイムにストリーミングします
検出と検索(5)
  • get_workflow_tags — ワークフローに関連付けられたタグを取得します
  • set_workflow_tags — ワークフローのタグを設定または更新します
  • search_workflows — 名前、説明、タグでワークフローを検索します
  • search — ワークフロー、アプリ、カスタムノードを横断して検索します
  • get_public_workflows — 他のユーザーが共有した公開ワークフローを閲覧します
ワークフローの構築(4)
  • create_workflow — 空のワークフローを新規作成します
  • delete_workflow — ワークフローを完全に削除します
  • get_workflow_graph — すべてのノードと接続を含む完全なグラフ構造を取得します
  • validate_workflow — 接続の欠落、無効な設定、未接続のノードがないか検証します
ノード操作(5)
  • list_available_nodes — カテゴリー別に整理されたすべてのノードタイプを一覧表示します
  • get_node_schema — ノードタイプの完全なスキーマ(入力、出力、プロパティ)を取得します
  • add_node — 新しいノードを追加します(組み込みノード、または custom_node_{hash} を使用したカスタムノード)
  • update_node — ノードの位置またはプロパティを更新します
  • delete_node — ノードとそのすべての接続を削除します
接続操作(3)
  • add_connection — ノードの出力を別のノードの入力に接続します
  • delete_connection — 2 つのノード間の接続を削除します
  • get_node_connections — 特定のノードへの接続と、特定のノードからの接続をすべて取得します
カスタムノード(13)
  • list_custom_nodes — 検索/カテゴリーによる絞り込みに対応し、ユーザーのカスタムノードを一覧表示します
  • search_public_custom_nodes — コミュニティが共有した公開ノードを検索します
  • get_custom_node — カスタムノードの詳細情報(入力、出力、スクリプトコード)を取得します
  • get_custom_node_comments — カスタムノードに関するコメントと評価を取得します
  • get_custom_node_template — 入出力の定義に基づいて、動作するスクリプトテンプレートを生成します
  • create_custom_node — スクリプト、入力、出力を指定して新しいカスタムノードを作成します(AST 解析による検証付き)
  • update_custom_node — 名前、説明、コード、プロパティを更新します
  • delete_custom_node — カスタムノードを完全に削除します
  • copy_custom_node — 公開ノードをユーザーのライブラリにコピーします
  • toggle_custom_node_visibility — 公開範囲を変更します(非公開/公開/限定公開)
  • vote_custom_node — 高評価/低評価を送信、または投票を取り消します
  • favorite_custom_node — カスタムノードをお気に入りに追加または削除します
  • add_custom_node_comment — コメントまたは返信を追加します
アプリ(23)
コアアプリ操作(12)
  • list_apps — React フロントエンドアプリを一覧表示
  • search_apps — 公開アプリマーケットプレイスを検索
  • get_app — React コードやリンク済みワークフローなど、アプリの詳細情報を取得
  • create_app — 新しい React アプリを作成(Tailwind + React 18、サンドボックス化)
  • update_app — 名前、説明、コード、設定、モバイル設定を更新
  • delete_app — アプリを完全に削除
  • publish_app — 公開マーケットプレイスに公開
  • unpublish_app — 公開済みアプリを非公開に変更
  • clone_app — 公開アプリをライブラリに複製
  • link_app_workflow — invokeWorkflow() で使用するワークフローをアプリにリンク
  • unlink_app_workflow — ワークフローのアプリへのリンクを解除
  • link_app_toolkit — invokeTool() で使用するツールキットをアプリにリンク
  • unlink_app_toolkit — ツールキットのアプリへのリンクを解除
  • get_app_template — スターターコードのテンプレートを取得(basic、chat、dashboard、form-builder、data-viewer)
外科的なコード編集(4)
  • edit_app_code — アプリコード内の特定の文字列を検索して置換
  • append_app_code — 閉じ波括弧の前に内容を追加
  • prepend_app_code — 先頭に内容を追加
  • insert_app_code — 特定のパターンに一致した箇所の後に内容を挿入
複数ファイルのアプリ操作(7)
  • list_app_files — 複数ファイルのアプリ内の全ファイルを一覧表示
  • get_app_file — 特定のファイルの内容を取得
  • create_app_file — 新しいファイルを作成(jsx、js、ts、tsx、css、json、md)
  • update_app_file — ファイルの内容と種類を更新
  • delete_app_file — ファイルを削除
  • rename_app_file — ファイルの名前を変更または移動
  • set_app_entry_file — ファイルをアプリのエントリーポイントに設定
共有と公開 URL(9)
  • get_workflow_public_url — ワークフローの共有可能な公開 URL
  • list_shared_results — ワークフローの共有済み実行結果を一覧表示
  • get_shared_result — 出力と入力を含む特定の共有結果を取得
  • get_shared_result_comments — 共有結果に関するコメントを取得
  • create_shared_result — 共有可能なリンクを作成(有効期限は任意)
  • add_workflow_comment — ワークフローにコメント
  • add_shared_result_comment — 共有結果にコメント
  • vote_workflow — ワークフローに賛成票または反対票を投じる
  • vote_shared_result — 共有結果に賛成票または反対票を投じる
入力プリセット(7)
  • list_input_presets — ワークフロー用の事前設定済み入力セットを一覧表示
  • get_input_preset — すべての値を含む特定のプリセットを取得
  • create_input_preset — 共有可能なプリセットを作成
  • update_input_preset — プリセットの説明や値を更新
  • delete_input_preset — プリセットを削除
  • vote_input_preset — プリセットに投票
  • toggle_community_inputs — ワークフローのコミュニティ入力を有効化または無効化
チーム(1)
  • list_user_teams — ユーザーが所属するすべてのチームを一覧表示(役割とメンバー数を含む)
ナレッジベース/RAG(14)
  • list_knowledge_categories — ナレッジベース内のドキュメントカテゴリを一覧表示
  • create_knowledge_category — 名前、説明、色を指定してカテゴリを新規作成
  • update_knowledge_category — カテゴリのプロパティを更新
  • delete_knowledge_category — カテゴリを削除(ドキュメントはカテゴリ未設定になります)
  • list_knowledge_documents — カテゴリ、チーム、ステータスで絞り込んだドキュメントを一覧表示
  • get_knowledge_document — ID またはハッシュでドキュメントの詳細を取得
  • upload_text_document — テキストコンテンツを直接アップロード
  • upload_document_from_url — URL からドキュメントをダウンロードして追加
  • move_document_to_category — ドキュメントを移動、またはカテゴリ未設定にする
  • transfer_document_ownership — 個人用ナレッジベースとチーム用ナレッジベースの間で所有権を移転
  • reprocess_document — 失敗または停止したドキュメントを再処理
  • delete_knowledge_document — ドキュメントを完全に削除
  • query_knowledge_base — セマンティック検索とキーワード検索による RAG 検索
  • get_knowledge_storage — ストレージの使用量と上限を取得
エージェントツールキット(24)

エージェントツールキットを使用すると、AI クライアントは MCP インターフェースを通じて新しいツールを作成できます。これは実質的に MCP の中の MCP です。インストールすると、ツールキットのツールを invoke_toolkit_tool で呼び出せるようになります。

ツールキット管理(12)
  • list_agent_toolkits — 自分のツールキット
  • search_agent_toolkits — 公開ツールキットマーケットプレイスを検索
  • get_agent_toolkit — ツールキットの詳細(ツール、認証情報、メタデータ)
  • get_toolkit_comments — ツールキットへのコメント
  • create_agent_toolkit — 認証情報の要件を指定して新しいツールキットを作成
  • update_agent_toolkit — タイトル、説明、カテゴリ、認証情報を更新
  • delete_agent_toolkit — ツールキットを削除
  • copy_agent_toolkit — 公開ツールキットの非公開コピーを作成
  • toggle_toolkit_visibility — 公開設定を変更(非公開/公開/限定公開)
  • vote_toolkit — ツールキットに投票
  • favorite_toolkit — お気に入りに追加/削除
  • add_toolkit_comment — ツールキットにコメントを追加
ツールキットの使用と呼び出し(12)
  • install_toolkit — アカウントにツールキットをインストール
  • uninstall_toolkit — アンインストール
  • list_installed_toolkits — 認証情報の状態を含むインストール済みツールキット
  • toggle_toolkit_active — インストールを有効化/無効化
  • check_toolkit_credentials — 不足している認証情報を表示
  • update_toolkit_installation — ツールキットの認証情報を自分の API キーにマッピング
  • invoke_toolkit_tool — インストール済みツールキットのツールを実行
  • list_toolkit_tools — ツールキット内のすべてのツール
  • get_toolkit_tool — 入力/出力スキーマを含むツールの詳細
  • create_toolkit_tool — HTTP または Workflow によって実行されるツールをツールキット内に作成
  • update_toolkit_tool — ツールの設定、スキーマ、エンドポイントを更新
  • delete_toolkit_tool — ツールキットからツールを削除

対応する認証情報の種類: api_key、oauth(PKCE、スコープ、リフレッシュトークン対応)、bearer、basic、custom 対応するツールの種類: http(REST API)、workflow(FlowDot ワークフローを呼び出す)

エージェントレシピ(19)

レシピは、複数のステップ種別と永続ストアを備えた再利用可能なエージェント型プログラムです。MCP ではレシピを設計できますが、実行できるのは CLI のみです。

レシピのコア機能(8)
  • list_recipes — レシピを一覧表示(favorites_only フィルター対応)
  • get_recipe — ステップ、ストア、メタデータを含むレシピの詳細
  • get_recipe_definition — レシピ全体を YAML または JSON 形式で取得
  • browse_recipes — ページネーション/並べ替えに対応した公開レシピの閲覧
  • create_recipe — 新しいエージェントレシピを作成
  • update_recipe — メタデータと entry_step_id(実行に不可欠)を更新
  • delete_recipe — レシピを削除
  • fork_recipe — 公開レシピの非公開コピーを作成
ステップ管理(4)
  • list_recipe_steps — 種類、接続、設定を含むすべてのステップ
  • add_recipe_step — ステップを追加(agent、parallel、loop、gate、branch、invoke)
  • update_recipe_step — ステップ名、説明、設定、接続を更新
  • delete_recipe_step — ステップを削除
ストア管理(4)
  • list_recipe_stores — レシピ内のストア(変数)
  • add_recipe_store — ステップ間のデータフロー用ストアを追加
  • update_recipe_store — キー、ラベル、種類、デフォルト値、入出力フラグを更新
  • delete_recipe_store — ストアを削除
エンゲージメント(3)
  • link_recipe — CLI で実行できるよう、エイリアスを指定してレシピをリンク
  • vote_recipe — 公開レシピに投票
  • favorite_recipe — お気に入りに追加/削除

ステップの種類: agent(ツールを使う LLM)、parallel(並行実行)、loop(配列を反復処理)、gate(承認チェックポイント)、branch(条件分岐)、invoke(サブルーチン)、output(色付きメッセージをターミナルに出力)

Output ステップの設定: message — テンプレート文字列({{stores.x}} の補間に対応)、color — green | red | yellow(デフォルトは green)。LLM 呼び出しなしで即座に実行されます。長時間実行されるレシピの進行状況の更新、警告、または最終的な要約の出力に使用してください。

レシピを実行するには、FlowDot CLI を使用してください:

npx @flowdot.ai/cli recipes run <aliasOrHash> --input '{"key":"value"}'
エージェントキャラクター(8)

音声通話用のペルソナです。名前、ペルソナプロンプト、完全なプロバイダースタック(TTS/STT/LLM)が含まれます。Hub のサーバー側では、ランタイムが使用するものと同じ App\Support\AgentCharacterCompleteness ヘルパーで音声設定が完全かどうかを検証するため、キャラクターを読み取るたびに is_complete フラグと missing_fields[] リストが付与されます。プロバイダーごとの設定形式については、learn://characters を参照してください。

  • list_agent_characters — 完全性バッジ付きでキャラクターを一覧表示します
  • get_agent_character — フィールドごとの完全性セクションを含む詳細を表示します
  • create_agent_character — 新しいキャラクターを作成します(必須フィールドが欠けている場合は CHARACTER_VOICE_CONFIG_INCOMPLETE 422 エラーで拒否されます)
  • update_agent_character — 部分更新を行い、マージ後に完全性を検証します
  • delete_agent_character — 完全に削除します(confirm: true が必要です)
  • fork_agent_character — 公開キャラクターをコピーします。LLM の選択はデフォルトにリセットされます
  • duplicate_agent_character — 自分のキャラクターを LLM の選択も含めてコピーします
  • toggle_agent_character_public — 公開/非公開を切り替えます(初回公開時に安定したハッシュを自動生成します)

必須フィールド: voice_provider、voice_id、tts_model、voice_settings、stt_provider、stt_model、llm_provider、llm_model、llm_temperature、personality_prompt。プロバイダーごとの推奨値については、learn://characters を参照してください。

トークンスコープ

FlowDot の設定で MCP トークンを作成するときに、付与するスコープを個別に選択できます。トークンのスコープは、必要最小限に設定してください。

スコープの名前空間対象ツール
workflows:readワークフローの一覧表示、検索、取得、公開ワークフローの表示
workflows:executeワークフローの実行
workflows:manageワークフローグラフの作成、更新、削除、検証、構築
executions:readステータス、履歴、ストリーム
executions:manageキャンセル、再試行
agent:chatエージェントチャット
custom_nodes:readカスタムノードの一覧表示、検索、取得、テンプレートの取得
custom_nodes:manage作成、更新、削除、コピー、表示設定の切り替え、投票、コメント
apps:readアプリとファイルの一覧表示、検索、取得
apps:manageアプリとファイルの作成、更新、削除、公開、コード編集、ファイル管理
recipes:readレシピの一覧表示、取得、閲覧、定義の取得
recipes:manage作成、更新、削除、フォーク、リンク、ステップとストアの管理
agent_characters:readエージェントキャラクターの一覧表示と閲覧(完全性の状態を含む)
agent_characters:manageエージェントキャラクターの作成、編集、削除、フォーク、複製、公開
knowledge:read一覧表示、取得、クエリ
knowledge:manageアップロード、削除、分類、転送、再処理
agent_toolkits:readツールキットとツールの一覧表示、検索、取得
agent_toolkits:manage作成、更新、削除、インストール、呼び出し
sharing:read共有結果と公開 URL の取得
sharing:manage共有結果の作成、投票、コメント
input_presets:readプリセットの一覧表示、取得
input_presets:manage作成、更新、削除
teams:readチームの一覧表示
discovery:read検索、タグ、公開コンテンツの閲覧
analytics:read指標、コメント、履歴

環境変数

変数必須デフォルト説明
FLOWDOT_API_TOKENはい—MCP トークン(fd_mcp_ で始まる必要があります)
FLOWDOT_HUB_URLいいえhttps://flowdot.aiFlowDot Hub の URL(セルフホスト環境では上書きします)
INTERNAL_API_SECRETいいえ—内部 API 呼び出し用の任意の共有シークレット

その他の MCP クライアントの設定

Cursor

Settings > MCP Servers > Add Server:

{
  "flowdot": {
    "command": "npx",
    "args": ["@flowdot.ai/mcp-server"],
    "env": {
      "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
    }
  }
}
Windsurf

Cursor と同じ設定です。MCP 設定ファイルの正確な場所については、Windsurf のドキュメントを参照してください。

Claude Code

Claude Code の MCP 設定に追加します(通常は ~/.config/claude-code/mcp.json)。

{
  "mcpServers": {
    "flowdot": {
      "command": "npx",
      "args": ["@flowdot.ai/mcp-server"],
      "env": { "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here" }
    }
  }
}

開発

# Install dependencies
npm install

# Build
npm run build

# Run locally
FLOWDOT_API_TOKEN=fd_mcp_xxx npm start

# Watch mode
npm run dev

# Run tests
npm test

# Coverage report
npm run test:coverage

# Build the .mcpb Claude Desktop extension bundle
npm run build:mcpb

アーキテクチャ

MCP サーバーは薄いプロトコルアダプターです。FlowDot Hub とのすべての HTTP 通信は、FlowDot CLI とデーモンでも使用されている共通の @flowdot.ai/api パッケージに委譲されます。これにより、すべての FlowDot の環境で、同じクライアントロジック、認証、再試行の動作、ページネーションが適用されます。

ソースの構成
mcp-server/
├── bin/
│   └── flowdot-mcp.js          # Executable wrapper
├── src/
│   ├── index.ts                # Entry point
│   ├── server.ts               # createServer() / startServer()
│   ├── api-client.ts           # FlowDotApiClient re-export
│   ├── tools/
│   │   ├── index.ts            # Central registry (one switch case per tool)
│   │   └── *.ts                # 119 individual tool source files
│   └── utils/
│       └── script-validator.ts # AST-based custom node script validation
├── manifest.json               # MCPB Claude Desktop bundle manifest
├── scripts/
│   └── build-mcpb.js           # Builds the .mcpb extension archive
└── package.json
カスタムノードスクリプトの検証

ユーザーが送信したカスタムノードの JavaScript は、正規表現ではなく**acorn による AST 解析**を使用して検証されます。バリデーターは以下をチェックします。

  • 構文が正しいこと
  • 必須の processData(inputs, properties, llm) 関数が存在すること
  • return 文が存在し、宣言された出力キーと完全に一致すること
  • トップレベルに return 文がないこと
  • セキュリティパターン(eval、process、global、require などを使用していないこと)
  • ベストプラクティス(未使用の入力、未処理のエラー)

スクリプトバリデーターには独自のテストスイートがあり、vitest.config.ts によって 100% のカバレッジしきい値が適用されます。

ライセンス

LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。