关于 MCP Discovery Action
MCP Discovery Action 是用于 GitHub Actions 的工作流组件,通过 MCP Discovery CLI 探测 MCP 服务能力,并创建、更新或打印格式化文件。
主要功能
- 01运行 MCP Discovery CLI 命令
- 02创建、更新或打印能力信息
- 03支持内置及自定义模板
- 04连接本地进程或远程服务
- 05可指定 CLI 版本
适用场景
- 01在仓库中生成 MCP 能力 Markdown 文件
- 02更新 README 中指定的内容区域
- 03在工作流中检查远程 MCP 服务
- 04使用自定义模板生成能力报告
MCP 相关
它运行 MCP Discovery CLI,可通过启动命令连接本地 MCP 服务,也可连接 Streamable HTTP 远程服务,并生成其能力详情文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Discovery Action
一个 GitHub Action,用于运行 MCP Discovery CLI,以 Markdown 或其他格式的文件创建、更新或打印 MCP 服务的能力详情。
💡 查看 rust-mcp-filesystem 的能力页面,了解示例输出和工作流示例:mcp-discovery.yml。
概述
此 Action 运行 MCP Discovery CLI,以发现 MCP 服务的能力,并创建或更新包含 MCP 服务详情的文件(create 或 update 命令)。它支持所有 CLI 选项,包括内置模板(md、md-plain、html、txt)、自定义 Handlebars 模板文件或模板字符串。
默认情况下,此 Action 会下载最新版本的 CLI 二进制文件,但你可以通过 Action 的版本输入指定特定版本。
输入
| 输入 | 说明 | 必填 | 默认值 |
|---|---|---|---|
command | 要运行的 CLI 命令(create、update 或 print)。 | 是 | - |
mcp-launch-command | 用于启动 MCP 服务的命令和参数(例如,java -jar mcp.jar)。不能与 url 同时使用。 | 否 | - |
url | 远程可流式传输的 HTTP MCP 服务的 URL。不能与 mcp-launch-command 同时使用。 | 否 | - |
header | 用于可流式传输的 HTTP 传输的静态 HTTP 标头,每行一个 Name: Value(可重复)。 | 否 | - |
client-id | 预先注册的 OAuth 客户端 ID(省略则使用动态客户端注册)。 | 否 | - |
client-secret | 预先注册的 OAuth 客户端密钥。 | 否 | - |
scope | 要请求的 OAuth 范围。 | 否 | - |
redirect-uri | authorization-code 授权类型使用的重定向 URI。 | 否 | - |
grant | OAuth 授权类型(client-credentials 或 authorization-code)。 | 否 | client-credentials |
filename | create/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-dir | 使用 template-url 获取的模板的缓存目录。 | 否 | - |
log-level | 指定 CLI 的日志级别。 | 否 | 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 服务
通过 Streamable HTTP 传输连接到远程服务,而不是启动本地进程。使用 url 替代 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'
示例 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 仓库中提交 issue 或 pull request。
许可证
MIT 许可证。详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。