ClawHub Skills MCP 服务器 CLI 工具(Mcporter)技能使用参考手册

2026-03-04 16:35 更新

一、工具简介

mcporter 是一款命令行(CLI)工具,可直接列出、配置、认证并调用 MCP 服务器/工具(支持 HTTP 或标准输入输出 stdio 方式),涵盖临时服务器管理、配置编辑、CLI/类型生成等核心能力。 官方主页:http://mcporter.dev

👤 作者:Peter Steinberger
👉 Skills 下载地址:mcporter-1.0.0.zip

二、快速开始

基础命令示例

## 列出所有可用的 MCP 服务器/工具(基础用法)
mcporter list


## 列出指定服务器,并输出其 Schema 信息(用于了解接口结构)
mcporter list <服务器名称> --schema


## 调用指定服务器的工具,传入键值对参数
mcporter call <服务器.工具名> key=value

三、调用 MCP 工具的多种方式

1. 选择器语法(基础键值对)

## 示例:调用 linear 服务器的 list_issues 工具,查询 ENG 团队的 5 条工单
## 注释:team=ENG 指定团队,limit:5 限制返回结果数量(冒号/等号均可作为参数分隔)
mcporter call linear.list_issues team=ENG limit:5

2. 函数语法(支持复杂参数)

## 示例:调用 linear 服务器的 create_issue 工具,创建标题为“Bug”的新工单
## 注释:使用双引号包裹函数式参数,适配带空格/特殊字符的参数值(如标题含空格)
mcporter call "linear.create_issue(title: \"Bug\")"

3. 完整 URL 调用(直接指定远程 MCP 服务地址)

## 示例:调用远程 MCP 服务的 fetch 工具,抓取指定 URL 内容
## 注释:直接通过 HTTPS URL 定位 MCP 服务,url 参数指定要抓取的目标地址
mcporter call https://api.example.com/mcp.fetch url:https://example.com

4. 标准输入输出(stdio)方式(对接本地脚本)

## 示例:通过 stdio 调用本地 bun 脚本启动的 MCP 服务器,执行 scrape 工具抓取 URL
## 注释:--stdio 指定使用标准输入输出模式,后跟启动本地 MCP 服务器的脚本命令
## scrape 为自定义工具名,url 参数指定抓取目标
mcporter call --stdio "bun run ./server.ts" scrape url=https://example.com

5. JSON 载荷传参(适配复杂结构化参数)

## 示例:通过 JSON 字符串传入复杂参数(如嵌套结构、多值列表)
## 注释:--args 指定 JSON 格式参数,适合参数结构复杂的场景(如多条件过滤、嵌套对象)
mcporter call <服务器.工具名> --args '{"limit":5, "filters": {"status": "open"}}'

四、认证与配置管理

1. OAuth 认证(对接第三方 MCP 服务)

## 示例:为指定服务器/URL 完成 OAuth 认证(首次认证)
## 注释:--reset 可选参数,用于重置已保存的认证信息(如令牌过期时)
mcporter auth <服务器名称 | 服务URL> [--reset]

2. 配置管理(增删改查/导入导出/登录登出)

## 列出所有已配置的 MCP 服务信息
mcporter config list


## 获取指定配置项的值(如服务器地址、认证令牌)
mcporter config get <配置项名称>


## 添加新配置项(如自定义服务器地址)
mcporter config add <配置项名称> <配置值>


## 移除无用的配置项
mcporter config remove <配置项名称>


## 导入/导出配置(批量迁移配置)
mcporter config import <配置文件路径>
mcporter config export > ./mcporter_backup.json


## 登录/登出指定 MCP 服务(对接账号体系)
mcporter config login <服务器名称>
mcporter config logout <服务器名称>

配置文件示例(带中文注释)

默认配置文件路径:./config/mcporter.json,可通过 --config 参数覆盖。

{
  // 配置文件版本(适配 mcporter 解析规则)
  "version": "1.0.0",
  // 已认证的 MCP 服务器列表
  "servers": {
    "linear": {
      // 服务器地址
      "url": "https://api.linear.app/mcp",
      // OAuth 认证令牌(通过 mcporter auth linear 获取)
      "token": "xxx-xxx-xxx",
      // 默认参数(调用该服务器工具时自动携带)
      "defaultArgs": {
        "team": "ENG"
      }
    }
  },
  // 全局默认配置
  "defaults": {
    // 输出格式默认化为 JSON(便于机器解析)
    "output": "json"
  }
}

五、守护进程(Daemon)管理

用于将 mcporter 以后台进程形式运行,持续提供 MCP 服务:

## 启动守护进程
mcporter daemon start


## 查看守护进程运行状态
mcporter daemon status


## 停止守护进程
mcporter daemon stop


## 重启守护进程(配置修改后生效)
mcporter daemon restart

六、代码生成(CLI/TypeScript 类型)

1. 生成自定义 CLI 工具

## 示例1:基于指定服务器生成专属 CLI 工具
## 注释:--server 指定源 MCP 服务器,生成后可直接使用该自定义 CLI 调用服务
mcporter generate-cli --server <服务器名称>


## 示例2:基于远程 MCP 服务 URL 生成 CLI 命令
mcporter generate-cli --command <服务URL>

2. 检查生成的 CLI 工具

## 检查指定路径下的 CLI 工具信息(人类可读格式)
mcporter inspect-cli <文件路径>


## 以 JSON 格式输出 CLI 工具信息(便于机器解析)
mcporter inspect-cli <文件路径> --json

3. 生成 TypeScript 类型/客户端代码

## 示例:为指定服务器生成 TS 代码(支持 client/type 两种模式)
## 注释:--mode client 生成可直接调用的客户端代码;--mode types 仅生成类型定义文件
mcporter emit-ts <服务器名称> --mode client
mcporter emit-ts <服务器名称> --mode types

七、核心注意事项

  1. 配置文件默认路径:./config/mcporter.json,可通过 --config <自定义路径> 参数覆盖;
  2. 如需机器可读的输出结果,建议添加 --output json 参数(所有命令通用);
  3. 参数分隔符支持等号(=)或冒号(:),可根据场景灵活选择;
  4. 带特殊字符的参数(如空格、引号)需用双引号包裹,避免解析错误。

八、完整实战示例(带中文注释)

场景:配置 linear 服务器并调用工单相关工具

步骤1:认证 linear 服务器

## 完成 linear 服务器的 OAuth 认证(自动跳转授权页面,完成后保存令牌)
mcporter auth linear

步骤2:修改配置文件(添加默认参数)

编辑 ./config/mcporter.json

{
  "version": "1.0.0",
  "servers": {
    "linear": {
      "url": "https://api.linear.app/mcp",
      "token": "your-auth-token-here", // 替换为认证后获取的令牌
      "defaultArgs": {
        "team": "ENG", // 默认查询 ENG 团队
        "limit": 10    // 默认返回 10 条结果
      }
    }
  },
  "defaults": {
    "output": "json"
  }
}

步骤3:调用工具并解析结果

## 调用 linear.list_issues,使用配置中的默认参数
mcporter call linear.list_issues


## 输出结果示例(JSON 格式):
## [
##   {
##     "id": "ISSUE-1",
##     "title": "修复登录页样式问题",
##     "team": "ENG",
##     "status": "open"
##   },
##   ...
## ]


## 结合 jq 工具解析 JSON 结果(提取所有工单标题)
## 注释:jq '.[] | .title' 用于过滤 JSON 数组,仅输出每个元素的 title 字段
mcporter call linear.list_issues --output json | jq '.[] | .title'
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号