mcpField
M
MCP Discovery Action

MCP Discovery Action

Local
github.com/rust-mcp-stackDeveloper Tools5Updated 8w ago

About MCP Discovery Action

MCP Discovery Action is a GitHub Actions component that runs the MCP Discovery CLI to discover server capabilities and create, update, or print formatted files.

Key features

  1. 01Run MCP Discovery CLI commands
  2. 02Create, update, or print capability details
  3. 03Use built-in or custom templates
  4. 04Connect to local or remote servers
  5. 05Select a CLI version

Use cases

  1. 01Generate an MCP capability Markdown file in a repository
  2. 02Update a designated section of a README
  3. 03Check a remote MCP server in a workflow
  4. 04Produce capability reports with custom templates

MCP support

It runs MCP Discovery CLI against an MCP server launched by command or reached over Streamable HTTP, then writes files describing the server's capabilities.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

InputDescriptionRequiredDefault
commandCLI command to run (create, update or print).Yes-
mcp-launch-commandCommand and arguments to launch the MCP server (e.g., java -jar mcp.jar). Mutually exclusive with url.No-
urlURL of a remote streamable HTTP MCP server. Mutually exclusive with mcp-launch-command.No-
headerStatic HTTP header(s) for the streamable HTTP transport, one Name: Value per line (repeatable).No-
client-idPre-registered OAuth client id (omit to use dynamic client registration).No-
client-secretPre-registered OAuth client secret.No-
scopeOAuth scope(s) to request.No-
redirect-uriRedirect URI used by the authorization-code grant.No-
grantOAuth grant type (client-credentials or authorization-code).Noclient-credentials
filenameOutput file path for create/update commands (e.g., docs/mcp-details.md).Nomcp-discovery.md
templateBuilt-in template for output (md, md-plain, html, txt).No-
template-filePath to a custom Handlebars template file or folder in the repository.No-
template-stringCustom Handlebars template content as a string.No-
template-urlRemote Handlebars template URL (.hbs, .zip, or .tar.gz).No-
cache-dirCache directory for templates fetched with template-url.No-
log-levelSpecifies the logging level for the CLI.Noinfo
tokenOptional GitHub token with content write permission.No${{ github.token }}
versionVersion of the mcp-discovery CLI to use (e.g., v0.1.2). Use latest for the latest release.Nolatest

💡 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.