mcp-discovery-action

mcp
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Pass
  • Code scan — Scanned 3 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

GitHub Action for the mcp-discovery CLI

README.md

MCP Discovery Action

A GitHub Action to run the MCP Discovery CLI for creating, updating or printing MCP server capability details in a Markdown or other formatted file.

💡 Check out the rust-mcp-filesystem capabilities page for sample output and an example workflow: mcp-discovery.yml.

Overview

This action runs the MCP Discovery CLI to discover MCP server capabilities and create/update a file with MCP server details (create or update commands). It supports all CLI options, including built-in templates (md, md-plain, html, txt), custom Handlebars template files, or template strings.

The action downloads the latest version of the CLI binary by default, but you can specify a specific version using the action's version input.

Inputs

Input Description Required Default
command CLI command to run (create, update or print). Yes -
mcp-launch-command Command and arguments to launch the MCP server (e.g., java -jar mcp.jar). Mutually exclusive with url. No -
url URL of a remote streamable HTTP MCP server. Mutually exclusive with mcp-launch-command. No -
header Static HTTP header(s) for the streamable HTTP transport, one Name: Value per line (repeatable). No -
client-id Pre-registered OAuth client id (omit to use dynamic client registration). No -
client-secret Pre-registered OAuth client secret. No -
scope OAuth scope(s) to request. No -
redirect-uri Redirect URI used by the authorization-code grant. No -
grant OAuth grant type (client-credentials or authorization-code). No client-credentials
filename Output file path for create/update commands (e.g., docs/mcp-details.md). No mcp-discovery.md
template Built-in template for output (md, md-plain, html, txt). No -
template-file Path to a custom Handlebars template file or folder in the repository. No -
template-string Custom Handlebars template content as a string. No -
template-url Remote Handlebars template URL (.hbs, .zip, or .tar.gz). No -
cache-dir Cache directory for templates fetched with template-url. No -
log-level Specifies the logging level for the CLI. No info
token Optional GitHub token with content write permission. No ${{ github.token }}
version Version of the mcp-discovery CLI to use (e.g., v0.1.2). Use latest for the latest release. No latest

💡 For more information and command examples, refer to the MCP Discovery documentation.

Usage

Example 1: Create a Markdown File

Create mcp-discovery.md with MCP server capabilities and commit it if changed.

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'

Example 2: Update a designated section of the README.md file

💡 For more information about update command and template markers, visit MCP Discovery documentation.

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'

Example 3: Discover a remote streamable HTTP MCP server

Connect to a remote server over the Streamable HTTP transport instead of launching a local process. Use url in place of mcp-launch-command.

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'

Example 4: OAuth-protected server (client credentials)

      - 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'

Example 5: Custom template from a remote 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'

Contributing

Contributions are welcome! Please open an issue or pull request in the mcp-discovery-action repository.

License

MIT License. See LICENSE for details.

Reviews (0)

No results found