MCP-2 命令行接口(或 MCP-2 CLI)
转换一个 模型上下文协议(MCP) 将服务器连接到CLI(命令行界面)应用程序。
如果你想在MCP客户端之外使用MCP服务器的工具、资源和提示,这会非常有用 mcp-2-cli 该库作为MCP(可能是指某种管理或控制协议)客户端,使用CLI(命令行界面)作为接口。
你可能想在(某个环境中)使用MCP服务器的工具 代理技能 或者在程序脚本中。
特点/特性
- 根据MCP服务器功能自动生成CLI命令
- 支持MCP(MCP可能代表某种特定的协议、标准或系统,具体含义需根据上下文确定) 提示, 资源,以及 工具
- 工具参数的JSON Schema验证
- 优雅的错误处理,支持JSONRPC错误
支持的服务器类型
目前, mcp-2-cli 仅支持stdio MCP服务器。
支持Streamable HTTP服务器的功能即将推出!
配置
您必须首先创建一个符合以下模式的JSON配置文件:
{
"command": "", // Required
"args": ["--additional", "args"] // Optional
"transport": "stdio" // Required. currently only "stdio" supported
"cliName": "" // Optional. defaults to "mcp-cli"
}例如:
{
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
"transport": "stdio",
"cliName": "fs-cli"
}mcp-2-cli 将首先在环境变量中查找此文件 MCP_2_CLI_CONFIG_PATH。 如果未提供环境变量, mcp-2-cli 会寻找一个 名为(的文件) mcp-2-cli.config.json 在当前目录中。
要运行MCP CLI,您可以使用 npx:
MCP_2_CLI_CONFIG_PATH="path/to/config.json" npx mcp-2-cli CLI 命令
一 mcp-2-cli CLI(命令行界面)自动获取所有可用提示、资源和工具的命令。
生成的命令行界面(CLI)遵循了CLI的最佳实践,支持嵌套操作,并且 --help 命令。
CLI 命令采用以下模式:
mcp-cli --arg1 val1 --arg2 val2 ... server-filesystem tools read_text_file --path path/to/file.ext如果某个提示、资源或工具动作类别下没有任何可用动作,那么该动作类别将不会被列出。例如,如果您的服务器仅支持工具,而不支持提示和资源,那么将只列出工具动作类别 mcp-cli tools 将是一个有效的命令。
提示
# List all available prompts
mcp-cli prompts -help
# Get a specific prompt
mcp-cli prompts
# Get help with specific prompt
mcp-cli prompts
--help资源
# List all available resources
mcp-cli resources -help
# Get a specific resource
mcp-cli resources
# Get help with a specific resource
mcp-cli resources --help工具
# List all available tools
mcp-cli tools --help
# Call a tool (with optional arguments as JSON)
mcp-cli tools
# Get help with a specific tool
mcp-cli tools --help作为库使用
安装
npm install mcp-2-cli基本示例
import { createMcpCli } from 'mcp-2-cli';
const config = {
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'],
transport: 'stdio',
name: "filesystem-cli"
};
const cli = await createMcpCli(config);
await cli.parseAsync();