CLI适配工具

mcp2cli是一个通用的命令行界面适配工具,能够将MCP服务器、OpenAPI规范和GraphQL API转换为交互式命令行工具。

  • by christopher-kapic
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 christopher-kapic/mcp2cli-rs

使用说明

mcp2cli

通用CLI适配器 主控程序 服务器、OpenAPI规范和GraphQL API转换为交互式命令行工具。

受...启发 mcp2cli(Python) --这是一个具有扩展协议支持的全新Rust重写。

安装

预编译二进制文件(推荐)

curl -fsSL https://raw.githubusercontent.com/christopher-kapic/mcp2cli-rs/master/scripts/install.sh | bash

这将安装最新版本到 /usr/local/bin。随时再次运行以进行更新。

要安装特定版本或安装到自定义目录,请执行以下操作:

# Specific version
curl -fsSL https://raw.githubusercontent.com/christopher-kapic/mcp2cli-rs/master/scripts/install.sh | bash -s v0.2.0

# Custom directory
curl -fsSL https://raw.githubusercontent.com/christopher-kapic/mcp2cli-rs/master/scripts/install.sh | INSTALL_DIR=~/.local/bin bash

来源

cargo install --git https://github.com/christopher-kapic/mcp2cli-rs.git

快速开始

主控程序

# HTTP / SSE server
mcp2cli --mcp http://localhost:3000 --list
mcp2cli --mcp http://localhost:3000 get-user --id 42

# Stdio server
mcp2cli --mcp-stdio "npx -y @modelcontextprotocol/server-filesystem /" --list

开放API

mcp2cli --spec https://petstore3.swagger.io/api/v3/openapi.json --list
mcp2cli --spec ./openapi.yaml findPetsByStatus --status available --pretty

图查询语言

mcp2cli --graphql https://countries.trevorblades.com --list
mcp2cli --graphql https://countries.trevorblades.com country --code US --pretty

特性

  • 三个协议 --MCP(HTTP、SSE、stdio)、OpenAPI和GraphQL通过一个二进制文件
  • 认证 --静态标头(--auth-header)或OAuth 2.0(PKCE和客户端凭据流)
  • 会话 --用于长期MCP连接的持久后台守护进程
  • 烘焙 --将CLI配置保存和调用为命名配置文件,可作为shell命令安装
  • 输出 --漂亮的印刷,原始的, --jq 过滤器, --toon 格式化, --head 限制数组
  • 缓存 --具有可配置TTL的基于文件的响应缓存
  • 过滤 — --search 全球地; --include / --exclude 地球模式和 --methods 在烘焙配置中

认证

# Static header
mcp2cli --spec api.yaml --auth-header "Authorization:Bearer $TOKEN" list-items

# OAuth 2.0 PKCE (opens browser)
mcp2cli --spec api.yaml --oauth https://auth.example.com --oauth-client-id my-app list-items

# OAuth 2.0 client credentials
mcp2cli --spec api.yaml --oauth https://auth.example.com \
  --oauth-client-id my-app --oauth-client-secret $SECRET list-items

会话

在调用之间保持MCP连接活动:

mcp2cli --mcp http://localhost:3000 --session-start my-session
mcp2cli --session my-session get-user --id 42
mcp2cli --session my-session --session-stop my-session
mcp2cli --session-list

烘焙(保存的配置)

# Save a configuration
mcp2cli bake create petstore --spec https://petstore3.swagger.io/api/v3/openapi.json --pretty

# Use it
mcp2cli @petstore --list
mcp2cli @petstore findPetsByStatus --status available

# Install as a standalone shell command
mcp2cli bake install petstore
petstore findPetsByStatus --status available

输出格式化

mcp2cli --spec api.yaml list-items --pretty          # Pretty-print JSON
mcp2cli --spec api.yaml list-items --jq '.[0].name'  # jq filter
mcp2cli --spec api.yaml list-items --head 5           # First 5 items
mcp2cli --spec api.yaml list-items --raw              # Raw text

需求

  • 锈蚀1.80+

许可证

麻省理工学院