mcpField
M
MCP Discovery Action

MCP Discovery Action

ローカル
github.com/rust-mcp-stack開発ツール58 週間前に更新

MCP Discovery Action について

MCP Discovery Actionは、GitHub ActionsでMCP Discovery CLIを実行するコンポーネントです。サーバーの機能を検出し、形式化したファイルの作成、更新、出力を行います。

主な機能

  1. 01MCP Discovery CLIコマンドを実行
  2. 02機能情報ファイルの作成・更新・出力
  3. 03組み込みテンプレートとカスタムテンプレート
  4. 04ローカルまたはリモートのサーバーに接続
  5. 05CLIバージョンを指定

活用シーン

  1. 01リポジトリにMCP機能のMarkdownを生成
  2. 02READMEの指定範囲を更新
  3. 03ワークフローでリモートMCPサーバーを確認
  4. 04カスタムテンプレートで機能レポートを作成

MCP 対応

起動コマンドまたはStreamable HTTP経由でMCPサーバーに接続してMCP Discovery CLIを実行し、サーバーの機能を記したファイルを出力します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP Discovery アクション

MCP サーバーの機能の詳細を Markdown 形式またはその他の形式のファイルに作成、更新、または出力するための MCP Discovery CLI を実行する GitHub Action です。

💡 サンプル出力とワークフローの例については、rust-mcp-filesystem の 機能 ページをご覧ください:mcp-discovery.yml。

概要

このアクションは MCP Discovery CLI を実行し、MCP サーバーの機能を検出して、MCP サーバーの詳細を記載したファイルを作成または更新します(create または update コマンド)。組み込みテンプレート(md、md-plain、html、txt)、カスタム Handlebars テンプレートファイル、テンプレート文字列など、すべての CLI オプションに対応しています。

このアクションはデフォルトで CLI バイナリの最新バージョンをダウンロードしますが、アクションのバージョン入力を使用して特定のバージョンを指定できます。

入力

Input説明必須デフォルト
command実行する CLI コマンド(create、update、または print)。はい-
mcp-launch-commandMCP サーバーを起動するコマンドと引数(例:java -jar mcp.jar)。url とは相互に排他的です。いいえ-
urlリモートのストリーマブル HTTP MCP サーバーの URL。mcp-launch-command とは相互に排他的です。いいえ-
headerストリーマブル HTTP トランスポート用の静的 HTTP ヘッダー(1 行につき Name: Value を指定。複数回指定できます)。いいえ-
client-id事前登録済みの OAuth クライアント ID(動的クライアント登録を使用する場合は省略します)。いいえ-
client-secret事前登録済みの OAuth クライアントシークレット。いいえ-
scope要求する OAuth スコープ。いいえ-
redirect-uriauthorization-code グラントで使用するリダイレクト URI。いいえ-
grantOAuth グラントタイプ(client-credentials または authorization-code)。いいえclient-credentials
filenamecreate/update コマンドの出力ファイルパス(例:docs/mcp-details.md)。いいえmcp-discovery.md
template出力用の組み込みテンプレート(md、md-plain、html、txt)。いいえ-
template-fileリポジトリ内のカスタム Handlebars テンプレートファイルまたはフォルダーのパス。いいえ-
template-string文字列として指定するカスタム Handlebars テンプレートの内容。いいえ-
template-urlリモート Handlebars テンプレートの URL(.hbs、.zip、または .tar.gz)。いいえ-
cache-dirtemplate-url で取得したテンプレートのキャッシュディレクトリ。いいえ-
log-levelCLI のログレベルを指定します。いいえinfo
tokenコンテンツの書き込み権限を持つ任意の GitHub トークン。いいえ${{ github.token }}
version使用する mcp-discovery CLI のバージョン(例:v0.1.2)。最新リリースを使用するには latest を指定します。いいえlatest

💡 詳細とコマンド例については、MCP Discovery のドキュメントを参照してください。

使用方法

例 1:Markdown ファイルを作成する

MCP サーバーの機能を記載した mcp-discovery.md を作成し、変更があった場合はコミットします。

name: MCP Discovery (create)
on:
  push:
    branches:
      - main
permissions:
  contents: write
jobs:
  generate-md:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

      - uses: rust-mcp-stack/mcp-discovery-action@v1
        with:
          version: 'latest'
          command: 'create'
          mcp-launch-command: '[THE COMMAND YOU USE TO START YOUR MCP SERVER]'
          filename: 'mcp-discovery.md'
例 2:README.md ファイルの指定セクションを更新する

💡 update コマンドとテンプレートマーカーの詳細については、MCP Discovery のドキュメントを参照してください。

name: MCP Discovery (update)
on:
  push:
    branches:
      - main
permissions:
  contents: write
jobs:
  generate-md:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

      - uses: rust-mcp-stack/mcp-discovery-action@v1
        with:
          version: 'latest'
          command: 'update'
          mcp-launch-command: '[THE COMMAND YOU USE TO START YOUR MCP SERVER]'
          filename: 'README.md'
例 3:リモートのストリーマブル HTTP MCP サーバーを検出する

ローカルプロセスを起動する代わりに、ストリーマブル HTTP トランスポート経由でリモートサーバーに接続します。mcp-launch-command の代わりに url を使用してください。

name: MCP Discovery (streamable HTTP)
on:
  workflow_dispatch:
permissions:
  contents: write
jobs:
  generate-md:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

      - uses: rust-mcp-stack/mcp-discovery-action@v1
        with:
          version: 'latest'
          command: 'create'
          url: 'https://mcp.example.com/mcp'
          header: |
            Authorization: Bearer ${{ secrets.MCP_TOKEN }}
          filename: 'mcp-discovery.md'
例 4:OAuth で保護されたサーバー(クライアントクレデンシャル)
      - uses: rust-mcp-stack/mcp-discovery-action@v1
        with:
          version: 'latest'
          command: 'create'
          url: 'https://mcp.example.com/mcp'
          grant: 'client-credentials'
          client-id: ${{ secrets.MCP_CLIENT_ID }}
          client-secret: ${{ secrets.MCP_CLIENT_SECRET }}
          scope: 'mcp tools'
          filename: 'mcp-discovery.md'
例 5:リモート URL からカスタムテンプレートを使用する
      - uses: rust-mcp-stack/mcp-discovery-action@v1
        with:
          version: 'latest'
          command: 'create'
          mcp-launch-command: '[THE COMMAND YOU USE TO START YOUR MCP SERVER]'
          template-url: 'https://example.com/templates/report.hbs'
          cache-dir: '/tmp/mcp-template-cache'
          filename: 'mcp-discovery.md'

コントリビューション

コントリビューションを歓迎します!mcp-discovery-action repositoryで issue またはプルリクエストを作成してください。

ライセンス

MIT ライセンスです。詳細はLICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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