mcpField
W
Workflows MCP Server

Workflows MCP Server

ローカル
github.com/popand地図・旅行084 週間前に更新

Workflows MCP Server について

Workflows MCP Serverは、都市の天気を調べるワークフローをツールとして提供し、直接利用できるREST APIも備えています。READMEではMCP実装に互換性の問題があり得るため、簡易APIの利用を推奨しています。

主な機能

  1. 01`get-weather`による都市の天気取得
  2. 02`check-weather`プロンプトテンプレート
  3. 03LLMによる天気データの解釈
  4. 04直接利用できるREST天気エンドポイント

活用シーン

  1. 01都市の現在の天気の確認
  2. 02天気情報の自然言語での要約
  3. 03REST経由での天気JSON取得

MCP 対応

MCP実装はHTTP/SSEを使用し、`get-weather`ツールと`check-weather`プロンプトを公開します。READMEでは互換性の問題があり得るとされています。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Workflows MCP サーバー

これは、シンプルな API を通じて都市の天気情報を提供する Model Context Protocol(MCP)サーバーです。

機能

  • エージェントが利用できるツールとしてワークフローを公開します。この場合、天気ワークフローは一連のツールとして公開されます。
    • あらゆる都市の天気データを取得する get-weather ツールを公開します
    • LLM と簡単に連携できる check-weather プロンプトテンプレートを提供します
    • クライアントとの通信に HTTP/SSE トランスポートを使用します

ワークフローのアーキテクチャ

天気ワークフロー

get-weather ツールが呼び出されると、次のワークフローが実行されます。

  1. 都市名を入力として受け取ります
  2. OpenWeatherMap サービスに問い合わせ、その場所の現在の天気データを取得します
  3. 生の天気データを解釈のため LLM に渡します
  4. 現在の天候を、親しみやすく自然な言葉で説明して返します

このアーキテクチャにより、正確な天気データの取得と高度な処理の両方が可能になり、より会話的でわかりやすい形式で天気情報を提供できます。

現在の実装に関する注意

MCP プロトコルの実装に技術的な課題があるため、2 つの方法を用意しています。

  1. オリジナルの MCP サーバー - src ディレクトリ内の TypeScript 実装です。現在の SDK バージョンとの互換性に問題が生じる場合があります。

  2. 簡易版の直接 API - ルートディレクトリにあるプレーンな JavaScript 実装(direct-server.js と direct-client.js)です。MCP プロトコルを使用せず、シンプルな RESTful エンドポイントを提供します。

すぐに利用する場合は、簡易版の直接 API を使用することをおすすめします。

前提条件

  • Node.js 18 以降
  • npm または yarn

インストール

  1. このリポジトリをクローンします
  2. 依存関係をインストールします。
    npm install
    

使い方 - 簡易版 API

  1. サーバーを起動します。

    node direct-server.js
    
  2. サーバーはポート 3000 で起動し、次のエンドポイントを提供します。

    • 天気 API:http://localhost:3000/api/weather?city=New%20York
    • ヘルスチェック:http://localhost:3000/health
  3. クライアントの実行例を実行します。

    node direct-client.js
    

使い方 - MCP 方式

この方式では TypeScript コードのビルドが必要で、互換性に問題が生じる場合があります。

  1. プロジェクトをビルドします。

    npm run build
    
  2. サーバーを起動します。

    npm start
    
  3. サーバーはポート 3000 で起動します。

    • SSE エンドポイント:http://localhost:3000/sse
    • メッセージエンドポイント:http://localhost:3000/messages?connectionId=YOUR_CONNECTION_ID
    • ヘルスチェック:http://localhost:3000/health
接続 ID について

接続 ID は、SSE エンドポイントへの接続時に各クライアントセッションへ割り当てられる一意の識別子です。双方向通信を維持するための重要な仕組みとして機能します。

  • クライアントが /sse エンドポイントに接続すると、サーバーは一意の接続 ID を生成します
  • この ID は最初の SSE レスポンスでクライアントに返されます
  • クライアントは、以降のすべての /messages エンドポイントへのリクエストに、この ID をクエリパラメーターとして含める必要があります
  • これにより、サーバーは適切なクライアントの SSE 接続へレスポンスを振り分けられます

たとえば、接続 ID が 1742761520489 の場合、次のようにツールを呼び出します。

http://localhost:3000/messages?connectionId=1742761520489

API リファレンス

直接 API
GET /api/weather

指定した都市の天気情報を取得します。

パラメーター:

  • city(string):天気を取得する都市の名前です。

戻り値:

  • 天気情報を含む JSON レスポンスです。
MCP ツール
get-weather

指定した都市の天気情報を取得します。

パラメーター:

  • city(string):天気を取得する都市の名前です。

戻り値:

  • テキスト形式の天気情報です。
MCP プロンプト
check-weather

LLM に天気情報の確認と要約を依頼するためのプロンプトテンプレートです。

パラメーター:

  • city(string):天気を確認する都市の名前です。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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