mcp-cli目录
在您的计算机上发布CLI工具的MCP服务器。编码代理已经具有shell访问权限,并且擅长使用管道和过滤器生成复杂的命令。这只是告诉他们什么是可用的,这样他们就可以更有效地使用MCP工具。
为什么
- LLM编码代理可以有效地将shell命令与管道链接起来,以过滤和重塑复杂的数据。
- 将CLI工具声明为MCP工具使LLM可以发现它们。
运作原理
- 此服务器将您的CLI工具作为MCP工具定义公开,以便LLM知道可用的内容。
- 目录中定义的MCP工具仅指示LLM使用外壳;他们自己不执行任何工具。
- 代理需要Shell访问权限才能实际运行命令。
安装
将服务器添加到MCP配置中(例如用于Claude Code):
{
"mcpServers": {
"cli-catalog": {
"command": "npx",
"args": ["mcp-cli-catalog"]
}
}
}或者使用自定义目录路径:
{
"mcpServers": {
"cli-catalog": {
"command": "npx",
"args": ["mcp-cli-catalog", "--config", "./tools.json"]
}
}
}配置工具
添加JSON目录文件(默认值: ~/.mcp-cli-catalog.json)使用您想要发现的CLI工具:
{
// JSON Comments are allowed.
"tools": [
{
"name": "knowledge-base-search",
"description": "Search full text across the knowledge base",
"usage": "knowledge-base-search 'pattern' | head"
},
{
"name": "knowledge-base-get",
"description": "Get a knowledge base file",
"usage": "knowledge-base-get path/to/file.md | sed -n '100,200p'\nknowledge-base-get path/to/file.md | rg 'TODO'"
}
]
}name和description是必需的。usage(可选)在响应中显示为提示。command(可选)是要运行的确切字符串。如果你跳过它,工具name使用。- 指向另一个目录 `--config
或 MCP_CLI_CATALOG_FILE= `.
测试
使用MCP检查器测试您的服务器设置:
npx @modelcontextprotocol/inspector npx mcp-cli-catalog或者使用自定义目录:
npx @modelcontextprotocol/inspector npx mcp-cli-catalog --config ./tools.json发展
npm run dev:直接从运行src/index.jsnpm run build:编译为dist/index.js并修复权限npm start:从以下位置运行构建的服务器dist/index.js
替代方法
Cloudflare的“代码模式”1 Anthropic的代码执行与MCP帖子2 探索解决MCP工具挑战的不同方法。他们的方法通过SDK向LLM提供MCP工具,LLM编写代码来调用和处理这些工具。这个项目采取了一条更简单的路径:构建CLI工具,并通过MCP工具目录使其可被发现。
______________________________________________________________________
- Cloudflare,“代码模式”,2025年。
- Anthropic,“使用MCP执行代码”,2025年。
