- MCP Discovery Action
MCP Discovery Action
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). | Yes | - |
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 in the repository. | No | - |
template-string | Custom Handlebars template content as a string. | 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'
Contributing
Contributions are welcome! Please open an issue or pull request in the mcp-discovery-action repository.
License
MIT License. See LICENSE for details.