mcpField
W
Weik.io Integration Expert: MCP Server

Weik.io Integration Expert: MCP Server

ローカル
weikio.com開発ツール187 週間前に更新

Weik.io Integration Expert: MCP Server について

Weik.io Integration Expertは、Weik.ioプラットフォームで連携を開発する開発者向けのMCPサーバーです。連携タイプの確認、フローの初期化とデプロイ、プロファイル管理に加え、Apache CamelコンポーネントとKameletのメタデータを扱えます。

主な機能

  1. 01対応する連携タイプの取得
  2. 02連携フローファイルの初期化
  3. 03Weik.ioへの連携のデプロイ
  4. 04Weik.ioプロファイルの管理
  5. 05CamelコンポーネントとKameletのメタデータ参照

活用シーン

  1. 01ファイル転送とCamel連携の方式選択
  2. 02新しい連携フローの作成と設定
  3. 03準備したフローのWeik.ioへのデプロイ

MCP 対応

MCPサーバーは、AIクライアントにWeik.ioの機能、Apache Camelコンポーネントのメタデータ、Kamelet情報を提供します。実装済みツールには、連携タイプの検索、フロー初期化、デプロイ、プロファイル管理があります。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"weikio": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/weikio/mcp-server:latest"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/weikio/mcp-server:latest

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

パッケージ
ocighcr.io/weikio/mcp-server:latest

ツール

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

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

詳細

Weik.io Integration Expert:MCP サーバー

npm version Docker Image

プロジェクト概要

この Model Context Protocol(MCP)サーバーは、Weik.io Integration Platform 専用に設計されており、計画から実装、テスト、デプロイまで、統合のライフサイクル全体を開発者に案内するインテリジェントなアシスタントを提供します。

Weik.io は、クラウド、オンプレミス、ハイブリッド環境へのデプロイに対応した、エージェントベースのアーキテクチャを備えるオープンソースの統合・自動化プラットフォームです。Apache Camel を基盤として構築されており、Integration Flows、API Management、Managed File Transfers、Event Hub、Entity Store、データベースの変更追跡など、専門的な機能を拡張しています。

MCP サーバーは、AI アシスタントが Weik.io の統合タスクを支援できるよう、ツールとリソースを公開します。これにより、Weik.io の機能、Apache Camel のコンポーネントメタデータ、Kamelet の情報にアクセスできます。

設定

Docker ベースの設定
{
  "mcpServers": {
    "weikio": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--network=host",
        "ghcr.io/weikio/mcp-server:latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
NPX ベースの設定
{
  "mcpServers": {
    "weikio": {
      "command": "npx",
      "args": [
        "-y",
        "@weikio/mcp-server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

MCP ツールの実装

1. 計画ツール
  • get_supported_integration_types:サポートされている統合タイプの情報を取得します(実装済み)
  • analyze_integration_requirements:最適なアプローチとテクノロジーを特定します(予定)
  • suggest_integration_pattern:要件に適したパターンを推奨します(予定)
  • get_best_practices:特定の統合タイプに関連するベストプラクティスを取得します(予定)
2. 実装ツール
  • initialize_integration:指定した名前で新しい統合フローを初期化します(実装済み)
  • generate_camel_integration:Camel YAML フローを生成します(予定)
  • generate_mft_configuration:ファイル操作用の MFT 設定を生成します(予定)
  • create_data_transformation:サンプルデータに基づいて JQ などの変換を構築します(予定)
  • validate_implementation:実装がベストプラクティスに準拠しているか確認します(予定)
  • apply_best_practices:既存の統合を分析し、ベストプラクティスに沿って改善します(予定)
  • get_best_practice:特定のベストプラクティスに関する詳細情報を取得します(予定)
  • check_compliance:統合がベストプラクティスの基準に準拠しているか検証します(予定)
3. テストとデバッグのツール
  • identify_test_parameters:テストに必要なパラメーターを特定します(予定)
  • generate_test_configuration:テスト設定ファイルを作成します(予定)
  • create_test_data:テスト用のモックデータを生成します(予定)
  • debug_transformation:JQ/変換を対話形式でデバッグします(予定)
  • analyze_payload:任意の時点でメッセージ構造を調べます(予定)
  • trace_message_flow:統合内のメッセージ経路を可視化します(予定)
  • diagnose_error:エラーを分析し、解決策を提案します(予定)
4. 外部ツールとの統合
  • setup_ngrok_tunnel:ローカルエンドポイント用の ngrok トンネルを設定して起動します(予定)
  • get_ngrok_url:統合で使用する現在の ngrok 公開 URL を取得します(予定)
  • create_webhook_endpoint:テスト用の新しい webhook.site エンドポイントを生成します(予定)
  • retrieve_webhook_requests:分析用に受信した webhook ペイロードを取得します(予定)
  • run_camel_jbang:簡易テスト用に Camel スクリプトを実行します(予定)
5. ローカル Weik.io の管理
  • get_docker_compose:ローカル Weik.io インスタンスのセットアップ用 Docker Compose ファイルを取得します(実装済み)
  • start_local_weikio:Docker Compose を使用してローカル Weik.io を起動します(予定)
  • stop_local_weikio:実行中の環境を停止します(予定)
  • restart_local_weikio:すばやく更新するために再起動します(予定)
  • get_weikio_status:簡易ヘルスチェックとステータス報告を行います(予定)
  • reset_local_weikio:環境をクリーンな状態に戻します(予定)
6. プロファイル管理
  • list_profiles:すべての Weik.io プロファイルを一覧表示します(実装済み)
  • add_profile:名前、URL、API キーを指定して新しい Weik.io プロファイルを追加します(実装済み)
7. 公開ツール
  • push_integration:Weik.io インスタンスにインテグレーションをプッシュします(実装済み)
  • generate_push_commands:Weik.io にプッシュするためのコマンドを作成します(予定)
  • create_deployment_checklist:デプロイ前の確認手順を生成します(予定)

技術概要

Apache Camel:

  • エンタープライズインテグレーションパターンを実装するオープンソースのインテグレーションフレームワークです
  • ルールベースのルーティングおよびメディエーションエンジンで、300 以上のコンポーネントを備えています
  • 複数の接続プロトコルとデータ形式をサポートしています
  • 最小限のコードで、異なるシステム間の複雑なインテグレーションを実現します
  • 宣言型のインテグレーションフロー定義に YAML DSL を提供します

Weik.io:

  • Apache Camel を基盤とする、オープンソースのインテグレーションおよび自動化プラットフォームです
  • クラウド、オンプレミス、ハイブリッドのデプロイに対応するエージェントベースのアーキテクチャを採用しています
  • Camel を拡張し、次のような専用機能を提供します:
    • インテグレーションフロー(システム間インテグレーション)
    • ゲートウェイを内蔵した API 管理
    • マネージドファイル転送(MFT)
    • CloudEvents をサポートするイベントハブ
    • エンティティストア(変更追跡機能を備えたキーと値のストア)
    • データベースの変更追跡
  • VS Code との連携や CLI を備えた、開発者に使いやすいツールを提供します
  • 監視、可観測性、セキュリティ機能を備え、エンタープライズでの利用に対応しています

現在の状態

MCP サーバーは現在、次の機能を提供しています:

  • Apache Camel コンポーネントのメタデータ
  • Apache Camel Kamelet のメタデータ
  • Weik.io CLI の基本操作
  • インテグレーションタイプの選択支援
  • Weik.io プロファイル管理
  • ローカルの Weik.io インスタンス向け Docker Compose 設定
  • インテグレーションフローの初期化
  • インテグレーションのデプロイ
インテグレーションフローの初期化

サーバーには、新しいインテグレーションフローを作成できる initialize_integration というツールが含まれています:

  • 次の 2 つのパラメーターを受け取ります:
    • name:インテグレーションフローの名前(小文字で指定し、ハイフンを含めることができます)
    • directory:インテグレーションフローを作成するディレクトリ(絶対パス)
  • 指定したディレクトリ内に、指定した名前の新しいフォルダーを作成します
  • フォルダー内に次の 2 つのファイルを生成します:
    • integration.camel.yaml:Apache Camel の YAML フロー定義
    • application.properties:フロー固有のパラメーター/プロパティ/変数の設定

このツールを使うと、AI アシスタントは、ユーザーが希望する場所に新しいインテグレーションフローをすばやく作成してセットアップできるよう支援します。その後、ユーザーの具体的な要件に合わせてインテグレーションフローをカスタマイズできます。

使用例:

// Using the MCP tool
initialize_integration(name: "hello-world", directory: "/path/to/your/project")

// Using the CLI directly
weikio integration init hello-world
インテグレーションのデプロイ

サーバーには、Weik.io インスタンスにインテグレーションをデプロイできる push_integration というツールが含まれています:

  • 次の 2 つのパラメーターを受け取ります:
    • name:プッシュするインテグレーションの名前(フォルダー名)
    • directory:インテグレーションを含むディレクトリ(絶対パス)
  • 現在アクティブな Weik.io プロファイルにインテグレーションをプッシュします
  • インテグレーションが存在し、必要なファイルが含まれていることを検証します

このツールを使うと、インテグレーションフローの作成とカスタマイズ後に、AI アシスタントが Weik.io インスタンスへのデプロイを支援できます。

使用例:

// Using the MCP tool
push_integration(name: "hello-world", directory: "/path/to/your/project")

// Using the CLI directly
weikio integration push hello-world
統合タイプの選択支援

サーバーには、Weik.io でサポートされている統合タイプの詳細情報を提供する get_supported_integration_types というツールが追加されました。

  1. Apache Camel ベースの統合フロー

    • 説明:ルールベースのルーティングと仲介エンジンを備えた、エンタープライズ統合パターンを実装する柔軟な統合フレームワークです。
    • 主なユースケース:システム間統合、API ベースの統合、複雑なデータ変換など。
    • 最適な用途:複雑な統合シナリオ、データ変換が必要な統合、API ベースの統合など。
  2. RCLONE ベースのマネージドファイル転送(MFT)

    • 説明:高度な管理機能を備え、異なるストレージシステム間でファイルを転送するための専用ソリューションです。
    • 主なユースケース:ストレージシステム間のファイル転送、ファイル同期、バックアップとアーカイブなど。
    • 最適な用途:ストレージシステム間の単純なファイル転送、定期的なファイル同期タスク、バックアップとアーカイブのワークフローなど。

このツールを使うことで、AI アシスタントはユーザー固有の要件に基づいて、使用する統合タイプについて適切な推奨を行えます。たとえば:

  • SFTP から Azure Blob ストレージにファイルを同期したい場合、アシスタントは RCLONE ベースの MFT を推奨します。
  • データ変換を伴う CRM と ERP システムの統合が必要な場合、アシスタントは Apache Camel ベースの統合フローを推奨します。

選択ロジックはシンプルなルールに従います。タスクが 2 つのファイルシステム(SMB、SFTP、Azure Blob、S3、ローカルディレクトリなど)間でのファイル転送(コピー、移動、同期)に関するものであれば、MFT を使用します。それ以外の場合は、Apache Camel ベースの統合フローを使用します。

強化の目標

サーバーを、次のことができる包括的な統合エキスパートへと進化させます。

  1. 統合計画をガイドする

    • 適切なパターンとアプローチを推奨する
    • さまざまな統合シナリオに最適なプラクティスを適用する
    • 適切な情報に基づいて技術を選択する(Camel YAML と Weik.io 専用機能のどちらを使うか)
  2. 実装を支援する

    • 正しい Apache Camel YAML 構文を生成する
    • データ変換を作成する(特に JSON 用の JQ を重視)
    • Camel 以外の Weik.io 専用機能をサポートする
  3. テストとデバッグを支援する

    • 統合タイプごとに必要なテストパラメーターを特定する
    • テスト設定とサンプルデータを生成する
    • よくある問題に対応する堅牢なデバッグツールを提供する
    • データ変換のトラブルシューティングを支援する
    • 統合ポイントを通過するメッセージフローを詳細に検査できるようにする
    • 検証手順を案内する
  4. デプロイを効率化する

    • Weik.io へのプッシュに使う正しいコマンドを生成する
    • デプロイの確認方法を案内する

アーキテクチャ

ナレッジ管理システム

この拡張では、構造化されたナレッジシステムを導入します。

  1. YAML DSL ナレッジベース

    • Apache Camel YAML 構文のドキュメント
    • 要素の説明と構文ルール
    • サンプルリポジトリ(基本から高度な例まで)
  2. 統合パターンライブラリ

    • 一般的な EIP の実装
    • ユースケース固有のパターン
    • シナリオ別のベストプラクティス
  3. テンプレートシステム

    • シナリオベースのテンプレート
    • 複雑さを段階的に選択できるオプション
    • カスタマイズ可能なパラメーター
  4. Weik.io 拡張機能ナレッジベース

    • MFT の機能と設定
    • イベントソースのドキュメント
    • 変数のサポート
    • エンティティストアの使用パターン
    • データベース変更の追跡
    • その他の組み込み機能
  5. ベストプラクティスフレームワーク

    • 設計時のベストプラクティス
      • Weik.io Variables を使用したプロパティプレースホルダーの利用
      • 命名規則と構造
      • エラー処理パターン
      • セキュリティ実装ガイドライン
    • 実行時のベストプラクティス
      • Webhook 統合のためのイベントストリーム
      • モニタリングフック
      • ロギング戦略
      • パフォーマンス最適化パターン
    • 運用時のベストプラクティス
      • デプロイ戦略
      • 設定管理
      • バージョニングの手法
  6. デバッグおよびトラブルシューティングシステム

    • データ変換のデバッグツール
    • 実行フローの可視化
    • エラーパターンの認識と解決
    • ペイロードの検査と検証
ファイル構成
weikio-server/
├── data/
│   ├── yaml-dsl/              # Apache Camel YAML DSL knowledge
│   │   ├── examples/          # Categorized examples
│   │   ├── elements/          # DSL element documentation
│   │   └── patterns/          # EIP implementation patterns
│   ├── templates/             # Reusable integration templates
│   │   ├── system-to-system/  # System integration templates
│   │   ├── data-processing/   # Data processing templates
│   │   └── api-based/         # API integration templates
│   ├── best-practices/        # Best practices documentation
│   │   ├── design/            # Design-time best practices
│   │   │   ├── property-placeholders.md
│   │   │   ├── naming-conventions.md
│   │   │   └── error-handling.md
│   │   ├── runtime/           # Runtime best practices
│   │   │   ├── event-streams.md
│   │   │   ├── monitoring.md
│   │   │   └── logging.md
│   │   └── operational/       # Operational best practices
│   │       ├── deployment.md
│   │       ├── configuration.md
│   │       └── versioning.md
│   ├── development-tools/     # External development tools
│   │   ├── ngrok/             # ngrok documentation and scripts
│   │   ├── webhook-site/      # webhook.site integration
│   │   ├── camel-jbang/       # Camel JBang scripts and examples
│   │   └── local-weikio/      # Local Weik.io environment
│   │       └── docker-compose.yml  # Docker Compose configuration
│   └── weikio/                # Weik.io-specific knowledge
│       ├── features/          # Built-in feature documentation
│       │   ├── mft/           # Managed File Transfer
│       │   ├── events/        # Event sources
│       │   ├── variables/     # Variables system
│       │   ├── entity-store/  # Key-value store
│       │   └── db-tracking/   # Database change tracking
│       └── best-practices/    # Weik.io-specific best practices
└── src/
    ├── integration-types-service.ts # Integration types information service
    ├── metadata-service.ts    # Apache Camel metadata service
    ├── yaml-dsl-service.ts    # YAML DSL knowledge service (planned)
    ├── template-service.ts    # Template management service (planned)
    ├── best-practices-service.ts # Best practices enforcement (planned)
    ├── dev-tools-service.ts   # Development tools integration (planned)
    └── local-weikio-service.ts # Local Weik.io management (planned)

実装ロードマップ

フェーズ 1:Apache Camel YAML DSL のサポート
  1. YAML DSL ナレッジベースの作成

    • ドキュメントから DSL 要素を抽出して整理する
    • 構文ルールと制約を文書化する
    • 検索しやすいように要素にメタデータをタグ付けする
  2. サンプルリポジトリの構築

    • 中核となる概念を示す基本的なサンプルを開発する
    • 複雑なパターンを示す高度なサンプルを作成する
    • 効率的に取得できるよう、メタデータを付けてサンプルをインデックス化する
  3. 統合パターンライブラリの実装

    • 一般的なエンタープライズ統合パターンを文書化する
    • 各パターンの YAML 実装を提供する
    • コンテキストに応じたバリエーションを作成する
  4. テンプレートシステムの開発

    • 一般的なシナリオ向けの基盤テンプレートを設計する
    • カスタマイズ用のパラメーター化システムを作成する
    • テンプレート内にドキュメントを含める
  5. 中核となる MCP ツールの追加

    • learn_yaml_example:新しいサンプルを保存してインデックス化する
    • generate_camel_integration:要件に基づいて YAML を作成する
    • validate_yaml:構文とベストプラクティスを検証する
    • get_yaml_element_help:要素のドキュメントを提供する
    • list_integration_patterns:利用可能なパターンを表示する
    • get_template:統合テンプレートを取得する
  6. デバッグ機能の開発

    • データ変換のデバッグツールを作成する
      • 入出力バリデーター
      • 変換ステップの可視化
      • スキーマ準拠チェッカー
    • 一般的なエラーの解決パターンを実装する
    • ペイロード検査ユーティリティを設計する
    • 実行フローのトレース機能を構築する
  7. ベストプラクティスフレームワークの確立

    • 統合設計の主要なベストプラクティスを文書化する
    • Weik.io Variables を使用したプロパティプレースホルダーの標準を作成する
    • Webhook 統合向けのイベントストリームパターンを開発する
    • 生成ツールにベストプラクティスの適用を組み込む
    • 準拠を確認するための検証ルールを作成する
フェーズ 2:Weik.io の機能サポート
  1. Weik.io 機能のナレッジベースを開発する

    • MFT の機能と設定を文書化する
    • その他の Weik.io 機能に関する構造化ドキュメントを作成する
    • 新機能を追加できる拡張可能な形式を確立する
  2. テンプレートシステムを強化する

    • Weik.io 固有のテンプレートを追加する
    • Camel と Weik.io の連携を示すハイブリッドテンプレートを作成する
    • 機能選択のベストプラクティスを含める
  3. Weik.io 固有のツールを実装する

    • generate_mft_configuration:MFT 設定を作成する
    • その他の Weik.io 機能用ツール(拡張可能な設計)
  4. テストとデプロイのサポートを追加する

    • パラメーターの識別をテストする
    • 設定の生成をテストする
    • デプロイの検証ガイダンス

拡張性の仕組み

将来の拡張を可能にするため、実装では拡張性を優先する必要があります。

  1. プラグイン可能なナレッジシステム

    • 新しいナレッジを追加するための構造化ファイル形式
    • 進化する機能に対応するバージョン管理のサポート
  2. 機能ドキュメントの形式

    • Weik.io の機能を文書化するための標準スキーマ
    • 開発に合わせて新機能を簡単に追加できる仕組み
  3. テンプレート拡張 API

    • 新しいテンプレートを追加するための明確な規約
    • パラメーター定義の標準

技術実装ガイドライン

ナレッジベースの設計
  1. ファイル形式

    • 構造化データには JSON/YAML を使用する
    • ナレッジの種類ごとに明確なスキーマを維持する
    • フィルタリングと検索のための豊富なメタデータを含める
  2. サンプルの保存

    • 完全で有効な YAML としてサンプルを保存する
    • 学習に役立つコメントを付ける
    • 関連するコンポーネント、パターン、複雑さをタグ付けする
サービスの実装
  1. YAML DSL サービス

    • インデックス作成と検索機能を提供する
    • DSL ルールに対する検証を実装する
    • 要素に関するコンテキストに応じたヘルプをサポートする
  2. テンプレートサービス

    • パラメーターの置換を可能にする
    • ユースケースと複雑さによるフィルタリングを提供する
    • 複数のテンプレートのマージをサポートする
ベストプラクティスの適用
  1. 構造化ドキュメント形式

    • Markdown ベースのベストプラクティスドキュメント
    • 適用対象を示すメタデータ(連携タイプ、コンポーネント)
    • 正しい実装を示すコード例
    • 避けるべき一般的なアンチパターン
  2. 連携生成のガードレール

    • 生成されるすべてのコードにベストプラクティスをデフォルトで適用する
    • 標準に準拠したテンプレート設定
    • プロパティプレースホルダーを自動的に実装する
    • Webhook シナリオ向けにイベントストリームを生成する
  3. 準拠状況のチェック

    • ベストプラクティスの検証に用いる静的解析ルール
    • カスタマイズ可能な準拠レベル(必須/推奨)
    • 改善提案を含む詳細なレポート
    • 非準拠の実装に対する修正案
  4. 拡張性の仕組み

    • 新しいベストプラクティスを追加するためのシンプルな形式
    • プラクティスの進化に対応するバージョンタグ
    • 古くなったプラクティスを廃止する仕組み
デバッグシステムの設計
  1. データ変換に重点を置く

    • 入出力サンプルを使った JQ テスト環境
    • 変換を段階的に可視化する
    • 一般的なエラーパターンを特定する
    • 想定される形式に対してスキーマを検証する
  2. メッセージフローのデバッグ

    • 連携ポイントを通じたトレースを可能にする
    • 各ステップでペイロードを検査できるようにする
    • ボトルネックや障害発生箇所の候補を特定する
  3. エラー解決パターン

    • 一般的なエラーと解決方法のデータベースを維持する
    • エラー診断にパターンマッチングを使用する
    • エラーシグネチャに基づいた修正案を提示する

ベストプラクティスの例

ベストプラクティスのフレームワークの詳細度を示すため、重要なプラクティスを 2 つ紹介します。

Weik.io 変数を使ったプロパティのプレースホルダー

インテグレーションでは、値をハードコーディングするのではなく、Weik.io の Variable システムを使ってすべての設定を外部化する必要があります。

# ❌ Incorrect: Hardcoded values
- route:
    from:
      uri: "sftp://ftp.example.com:22/incoming"
      parameters:
        username: "ftpuser"
        password: "secret123"
# ✅ Correct: Using Weik.io Variables
- route:
    from:
      uri: "sftp://{{vars.ftp.host}}:{{vars.ftp.port}}/incoming"
      parameters:
        username: "{{vars.ftp.username}}"
        password: "{{vars.ftp.password}}"

メリット:

  • 環境ごとの設定
  • セキュリティの向上(コードにシークレットを含めない)
  • 一元管理
  • 再デプロイせずに実行時に再設定
Webhook インテグレーション向けイベントストリーム

Webhook 形式のインテグレーションでは、再生と検査のためにイベントストリームを実装する必要があります。

# ✅ Recommended Pattern
- route:
    from:
      uri: "webhook://orders"
      steps:
        # Log incoming event to stream
        - to:
            uri: "stream:event"
            parameters:
              streamName: "webhook-orders"
              persistent: true
        # Continue with processing
        - process:
            # ... processing steps

メリット:

  • テスト用にイベントを再生できる
  • デバッグ用にペイロードを検査できる
  • 受信した Webhook の監査証跡
  • 処理に失敗した場合の復旧メカニズム

外部開発ツールとのインテグレーション

MCP サーバーは、広く使われている開発・テストツールとシームレスに連携できます。

ngrok
  • ローカルエンドポイント用のトンネルを自動管理
  • カスタムドメインと認証を設定
  • Webhook テストワークフローと連携
webhook.site
  • エンドポイントの作成と管理を自動化
  • ペイロードの検査と分析
  • 外部システムをシミュレートするレスポンスモック
Camel CLI (JBang)
  • プロジェクトをセットアップせずにコンポーネントをすばやくテスト
  • サンプルデータを使った変換の検証
  • 最小限の設定でルートをテスト

これらのツールは MCP サーバーの機能に直接統合されており、インテグレーションのライフサイクル全体を通して開発者にシームレスな操作環境を提供します。

ローカル Weik.io 環境

MCP サーバーを使うと、ローカルの Weik.io インスタンスを簡単に管理できます。

Docker Compose の設定

MCP サーバーには、ローカルの Weik.io 環境を実行するためのすぐに使える Docker Compose 設定を提供する get_docker_compose というツールが含まれています。この設定には次のものが含まれます。

  • ルーティング用の Traefik(http://weikio.localtest.me:8000 でアクセス可能)
  • メッセージング用の NATS
  • Weik.io Backend(デフォルトの認証情報 [email protected]/password と API キー "api.key" を使用)
  • Weik.io UI
  • Weik.io Agent
  • API Management

この設定を使うには、次の手順を実行します。

  1. get_docker_compose で Docker Compose ファイルを取得します
  2. ファイルに保存します(例:docker-compose.yml)
  3. docker-compose up -d を実行して環境を起動します
  4. プロファイルを追加してローカルインスタンスに接続します。
    weikio profiles add "local" "http://backend.localtest.me:8000" "api.key"
    
  5. weikio agents ls で接続を確認します
インスタンス管理
  • コマンドひとつで Weik.io 環境全体を起動
  • 基本的なステータス報告
  • テスト用に環境をクリーンな状態に戻す簡単なリセット機能
開発との連携
  • インテグレーションをローカルインスタンスに直接デプロイ
  • トンネリング(ngrok)を使って実際のデータでテスト
  • コード変更とテストをすばやく繰り返す

この簡素化されたアプローチでは、インテグレーションの開発とテストに必要な基本的な操作だけを提供し、開発者の生産性を高めることに重点を置いています。

今後の展望

  1. 対話型学習

    • よくあるインテグレーション向けのステップごとのチュートリアル
    • ユーザーが作成したインテグレーションへのフィードバック
  2. パターン検出

    • 既存のインテグレーションを分析してパターンを特定
    • ベストプラクティスに基づく最適化の提案
  3. Weik.io のロードマップとの連携

    • Weik.io の新機能のリリースに合わせたサポート
    • Weik.io 製品の進化との連携

開発アプローチ

このプロジェクトは、反復的なアプローチで実装する必要があります。

  1. 中核となる YAML DSL の知識と簡単な例から始める
  2. インテグレーションのパターンとテンプレートを追加する
  3. 生成と検証のためのツールを構築する
  4. Weik.io 固有の機能を追加する
  5. テストとデプロイのサポートを強化する

各反復では、全体の構想の実現を目指しながら、単独でも価値を提供する必要があります。

Docker コンテナと CI/CD

MCP サーバーは Docker コンテナとして実行でき、GitHub Actions によってビルドを自動化できます。

Docker イメージ

MCP サーバーは Docker を使用してコンテナ化されているため、さまざまな環境で簡単にデプロイして実行できます。Docker イメージは、フットプリントを最小限に抑えるため、Node.js Alpine をベースにしています。

Docker のビルドプロセス:

  1. .NET 8 SDK と Weikio CLI をインストールします
  2. すべてのソースファイルをコンテナにコピーします
  3. すべての依存関係(開発用依存関係を含む)をインストールします
  4. TypeScript プロジェクトをビルドします
  5. 最終イメージを小さくするため、開発用依存関係を削除します
  6. エントリーポイントを設定します

Docker イメージには次のものが含まれます:

  • Node.js 20(Alpine)
  • .NET 8 SDK
  • Weikio CLI(グローバルツール)
Docker コンテナの実行
# Pull the latest image
docker pull ghcr.io/weikio/mcp-server:latest

# Run the container
docker run -it ghcr.io/weikio/mcp-server:latest
ローカルでのビルド

Docker イメージをローカルでビルドして実行することもできます:

# Build the image
docker build -t weikio-server .

# Run the container
docker run -it weikio-server

NPM パッケージ

MCP サーバーは npm パッケージとしても利用でき、npx で簡単に使用できます。main ブランチに変更がプッシュされると、GitHub Actions によってパッケージが自動的に npm に公開されます。

前提条件

npm パッケージを使用する前に、以下がインストールされていることを確認してください:

  1. Node.js(v20 以降)
  2. .NET 8 SDK - インストール手順
  3. Weikio CLI - 次のコマンドでインストールします:
    dotnet tool install weikio-cli --global --prerelease
    

すべてのツールが PATH から利用できることを確認してください。

インストール

インストールせずに、npx でパッケージを直接使用できます:

npx @weikio/mcp-server

または、グローバルにインストールできます:

npm install -g @weikio/mcp-server

その後、次のコマンドで実行します:

weikio-mcp-server

コメント

MCP は初めてですか?

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

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