返回 MCP 目录
public公开dns本地运行

modern-cli-mcp

一个提供107个现代命令行工具的MCP服务器,为AI/LLM代理提供文件系统、Git平台、容器、Kubernetes和数据转换等工具的JSON-RPC结构化访问。

article

README

🚀 现代CLI MCP服务器

现代CLI MCP服务器向AI/LLM代理公开了107种现代CLI工具。它提供了对文件系统、Git托管平台、容器、Kubernetes和数据转换工具的结构化JSON - RPC访问,所有输出均为JSON格式,便于AI处理。

🚀 快速开始

Claude桌面版 / Claude代码版

将以下内容添加到您的MCP配置中:

选项1:Nix(推荐)

{
  "mcpServers": {
    "modern-cli": {
      "command": "nix",
      "args": ["run", "github:NacoSolutions/modern-cli-mcp", "--"]
    }
  }
}

选项2:Docker

{
  "mcpServers": {
    "modern-cli": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/nacosolutions/modern-cli-mcp"]
    }
  }
}

选项3:二进制文件

{
  "mcpServers": {
    "modern-cli": {
      "command": "/path/to/modern-cli-mcp"
    }
  }
}

✨ 主要特性

  • 15个组中的107种工具:涵盖文件系统、搜索、Git(GitHub/GitLab)、容器、Kubernetes和数据处理等方面。
  • AI优化输出:默认输出JSON格式,便于结构化解析。
  • 访问控制:使用.agentignore文件控制AI代理可以访问的文件。
  • 零配置:Nix捆绑了所有依赖项,无需手动安装工具。

📦 安装指南

使用Flakes的Nix(推荐)

Determinate Nix中,Flakes默认启用。对于标准Nix,可使用--experimental-features 'nix-command flakes'启用,或添加到~/.config/nix/nix.conf中:

experimental-features = nix-command flakes

直接运行(无需安装):

nix run github:NacoSolutions/modern-cli-mcp

安装到配置文件:

nix profile install github:NacoSolutions/modern-cli-mcp

添加到flake.nix:

{
  inputs.modern-cli-mcp.url = "github:NacoSolutions/modern-cli-mcp";

  # 在输出中使用
  outputs = { self, nixpkgs, modern-cli-mcp }: {
    # 添加到包、开发环境等
  };
}

使用FlakeHub的Nix

FlakeHub提供了带有语义版本控制的版本化flake引用。

通过CLI添加到flake.nix:

fh add NacoSolutions/modern-cli-mcp

或手动添加:

{
  inputs.modern-cli-mcp.url = "https://flakehub.com/f/NacoSolutions/modern-cli-mcp/*.tar.gz";
}

运行特定版本:

nix run "https://flakehub.com/f/NacoSolutions/modern-cli-mcp/0.2.tar.gz"

不使用Flakes的Nix(经典方式)

对于未启用flakes的Nix安装,该仓库通过flake - compat包含了一个default.nix

从tarball构建:

nix-build https://github.com/NacoSolutions/modern-cli-mcp/archive/main.tar.gz -A defaultNix.default
./result/bin/modern-cli-mcp

或克隆并在本地构建:

git clone https://github.com/NacoSolutions/modern-cli-mcp
cd modern-cli-mcp
nix-build
./result/bin/modern-cli-mcp

安装到配置文件:

nix-env -if https://github.com/NacoSolutions/modern-cli-mcp/archive/main.tar.gz -A defaultNix.default

Docker

docker pull ghcr.io/nacosolutions/modern-cli-mcp
docker run --rm -i ghcr.io/nacosolutions/modern-cli-mcp

从源代码(Cargo)安装

需要将CLI工具分别安装到PATH中:

cargo install --git https://github.com/NacoSolutions/modern-cli-mcp

💻 使用示例

可用工具(70 +)

文件系统

| 工具 | 描述 | |------|-------------| | eza | 带有图标和Git集成的现代ls命令 | | bat | 带有语法高亮的cat命令 | | fd | 快速查找的替代工具 | | duf | 磁盘使用情况查看器(JSON格式) | | dust | 目录大小分析器 | | trash_* | 安全的文件删除工具 |

搜索

| 工具 | 描述 | |------|-------------| | rg | 用于快速内容搜索的Ripgrep(JSON格式) | | fzf_filter | 模糊过滤工具 | | ast_grep | 基于AST的代码搜索工具(JSON格式) | | web_search | DuckDuckGo网络搜索工具(JSON格式) |

Git托管平台

| 工具 | 描述 | |------|-------------| | gh_repo | GitHub仓库操作工具(JSON格式) | | gh_issue | GitHub问题处理工具(JSON格式) | | gh_pr | GitHub拉取请求处理工具(JSON格式) | | gh_search | 搜索仓库、问题、拉取请求和代码(JSON格式) | | gh_release | GitHub版本发布工具(JSON格式) | | gh_workflow | GitHub Actions工作流工具(JSON格式) | | gh_run | GitHub Actions运行工具(JSON格式) | | gh_api | 直接访问GitHub API(JSON格式) | | glab_issue | GitLab问题处理工具(JSON格式) | | glab_mr | GitLab合并请求处理工具(JSON格式) | | glab_pipeline | GitLab CI/CD管道工具(JSON格式) |

容器

| 工具 | 描述 | |------|-------------| | podman | 容器操作工具(JSON格式) | | dive | 镜像层分析工具 | | skopeo | 镜像仓库操作工具(JSON格式) | | crane | 底层镜像仓库工具(JSON格式) | | trivy | 安全漏洞扫描工具(JSON格式) |

Kubernetes

| 工具 | 描述 | |------|-------------| | kubectl_get | 获取资源(JSON格式) | | kubectl_describe | 描述资源 | | kubectl_logs | Pod日志查看工具 | | kubectl_apply | 应用清单文件 | | kubectl_delete | 删除资源 | | kubectl_exec | 在Pod中执行命令 | | stern | 多Pod日志聚合工具(JSON格式) | | helm | 图表管理工具(JSON格式) | | kustomize | 清单文件构建工具 |

数据转换

| 工具 | 描述 | |------|-------------| | jq | JSON处理器 | | yq | YAML/JSON/XML处理器 | | gron | 将JSON转换为可搜索格式 | | htmlq | 用于HTML的jq工具 | | pup | HTML解析器(JSON格式) | | miller | 多格式处理器 | | dasel | 通用数据选择器 |

网络

| 工具 | 描述 | |------|-------------| | http | HTTP请求工具(xh) | | dns | DNS查询工具(doggo) | | usql | 通用SQL客户端 |

系统

| 工具 | 描述 | |------|-------------| | procs | 进程查看器(JSON格式) | | tokei | 代码统计工具(JSON格式) | | hyperfine | 基准测试工具(JSON格式) |

差异/Git

| 工具 | 描述 | |------|-------------| | delta | 带有语法高亮的差异查看器 | | difft | 结构化差异查看器 | | git_diff | 带有高亮的Git差异查看器 |

实用工具

| 工具 | 描述 | |------|-------------| | tldr | 命令速查表工具 | | grex | 正则表达式生成器 | | ouch_* | 归档处理工具 | | pueue_* | 任务队列工具 |

🔧 技术细节

架构

src/
├── main.rs           # 入口点,MCP服务器设置
└── tools/
    ├── mod.rs        # 工具注册和路由
    └── executor.rs   # 工具执行逻辑

服务器使用结构化的JSON输入/输出包装CLI工具。每个工具:

  1. 通过JSON Schema验证参数
  2. 构建适当的命令
  3. 执行并捕获输出
  4. 返回结构化结果

配置

Nix包捆绑了所有CLI工具。通过cargo运行时,确保工具在PATH中。

环境变量

  • RUST_LOG - 日志级别(默认:info

.agentignore

使用.agentignore文件控制AI代理可以访问的文件。使用gitignore语法,但独立操作 - 工具仅遵循.agentignore,而不是.gitignore

模式来源(按优先级排序):

  1. ~/.config/agent/ignore - 所有项目的全局模式
  2. .agentignore - 每个目录的模式(从工作目录向上查找)

示例.agentignore

# 秘密和凭证
*.secret
.env*
secrets/
credentials.json

# 大型生成文件
node_modules/
target/
*.min.js

# 敏感数据
*.pem
*.key

行为:

  • 被阻止的路径返回错误:Path is blocked by .agentignore: /path/to/file
  • 搜索工具(fd、rg、ast - grep)自动应用忽略模式
  • 子目录中的模式扩展(而不是替换)父目录的模式

📄 许可证

本项目采用MIT许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端