Token导航 LogoToken导航TokenDH.com
ophis (Njayp) logo
开发工具未说明官方级别未说明来源级核验

ophis (Njayp)

MCP Server

Ophis是一个将Cobra CLI命令转换为MCP工具的服务,支持与Claude Desktop、VSCode和Cursor集成,提供命令行工具和HTTP流式传输功能。

工具数

0

提示词数

0

GitHub Stars

85

资源数

0
命令行工具集成工具GoClaude开发工具Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

njayp

提供方

njayp

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Project Logo

将任何Cobra CLI转换为MCP服务器

Ophis会自动将Cobra命令转换为MCP工具,并提供CLI命令以与Claude Desktop、VSCode和Cursor集成。

快速开始

安装

go get github.com/njayp/ophis

添加到CLI

package main

import (
    "os"
    "github.com/njayp/ophis"
)

func main() {
    rootCmd := createMyRootCommand()
    rootCmd.AddCommand(ophis.Command(nil))

    if err := rootCmd.Execute(); err != nil {
        os.Exit(1)
    }
}

在克劳德桌面、VSCode或光标中启用

# Claude Desktop
./my-cli mcp claude enable
# Restart Claude Desktop

# VSCode (requires Copilot in Agent Mode)
./my-cli mcp vscode enable

# Cursor
./my-cli mcp cursor enable

您的CLI命令现在可以作为MCP工具使用!

通过HTTP流式传输

通过HTTP公开您的MCP服务器以进行远程访问:

./my-cli mcp stream --host localhost --port 8080

命令

ophis.Command(nil) 将这些子命令添加到CLI中(默认命令名为 mcp,可通过以下方式配置 Config.CommandName):

mcp
├── start            # Start MCP server on stdio
├── stream           # Stream MCP server over HTTP
├── tools            # Export available MCP tools as JSON
├── claude
│   ├── enable       # Add server to Claude Desktop config
│   ├── disable      # Remove server from Claude Desktop config
│   └── list         # List Claude Desktop MCP servers
├── vscode
│   ├── enable       # Add server to VSCode config
│   ├── disable      # Remove server from VSCode config
│   └── list         # List VSCode MCP servers
└── cursor
    ├── enable       # Add server to Cursor config
    ├── disable      # Remove server from Cursor config
    └── list         # List Cursor MCP servers

配置

使用选择器控制哪些命令和标志作为MCP工具公开。默认情况下,所有命令和标志都是公开的(隐藏/弃用除外)。

config := &ophis.Config{
    Selectors: []ophis.Selector{
        {
            CmdSelector: ophis.AllowCmdsContaining("get", "list"),
            LocalFlagSelector: ophis.ExcludeFlags("token", "secret"),
            InheritedFlagSelector: ophis.NoFlags,  // Exclude persistent flags

            // Middleware wraps command execution
            Middleware: func(ctx context.Context, req *mcp.CallToolRequest, in ophis.ToolInput, next func(context.Context, *mcp.CallToolRequest, ophis.ToolInput) (*mcp.CallToolResult, ophis.ToolOutput, error)) (*mcp.CallToolResult, ophis.ToolOutput, error) {
                ctx, cancel := context.WithTimeout(ctx, time.Minute)
                defer cancel()
                return next(ctx, req, in)
            },
        },
    },
}

rootCmd.AddCommand(ophis.Command(config))

自定义命令名称

默认情况下,ophis命令命名为 mcp。如果您的CLI已经使用 mcp 对于其他内容,set CommandName 为了避免碰撞:

config := &ophis.Config{
    CommandName: "agent",
}

rootCmd.AddCommand(ophis.Command(config))

命令树、编辑器配置(enable/disable),内部过滤器都会自动使用配置的名称。

默认环境变量

编辑器在最小的环境中启动MCP服务器子流程。在macOS上,这意味着PATH仅为 /usr/bin:/bin:/usr/sbin:/sbin,所以工具像 helm, kubectl,或 docker 找不到通过mise/homebrew/nix安装的程序。使用 DefaultEnv 在以下位置捕获当前PATH(或任何其他变量) enable 时间:

config := &ophis.Config{
    DefaultEnv: map[string]string{
        "PATH": os.Getenv("PATH"),
    },
}

rootCmd.AddCommand(ophis.Command(config))

这些被合并到由编写的编辑器配置中 enable.用户提供 --env 价值观优先于冲突。

docs/config.md 了解详细的配置选项。

运作原理

Ophis桥接Cobra命令和模型上下文协议:

  1. 命令发现:递归地遍历Cobra命令树
  2. 模式生成:从命令标志和参数创建JSON模式(docs/schema.md)
  3. 工具执行:将CLI作为子流程生成并捕获输出(docs/execution.md)

贡献

欢迎投稿!看 贡献.md.

目录标签

目录标签

命令行工具集成工具GoClaude开发工具CLI工具本地部署MCP服务

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP