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 探测 MCP 服务能力,并创建、更新或打印格式化文件。

主要功能

  1. 01运行 MCP Discovery CLI 命令
  2. 02创建、更新或打印能力信息
  3. 03支持内置及自定义模板
  4. 04连接本地进程或远程服务
  5. 05可指定 CLI 版本

适用场景

  1. 01在仓库中生成 MCP 能力 Markdown 文件
  2. 02更新 README 中指定的内容区域
  3. 03在工作流中检查远程 MCP 服务
  4. 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-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-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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。