MCP CLI 翻译为中文是“MCP 命令行界面”
一个用于与MCP(模型上下文协议)服务器交互的命令行界面。这个读取-求值-打印循环(REPL)允许您连接到多个MCP服务器,探索它们的功能,并与它们的工具、资源和提示进行交互。
特点/特性
- 🤖 表示机器人。 AI聊天模式 - 与能够使用您的MCP工具的Claude AI聊天
- 🔌 同时连接到多个MCP服务器
- 🔄 支持stdio和HTTP传输方式
- 🛠️ 交互式工具调用
- 📚 资源阅读
- 💬 提示管理
- 📝 配置持久化
- 🎨 色彩丰富,用户友好的界面
安装
npm install
npm run build使用方法/用法
开发模式
在开发模式下运行CLI并启用热重载:
npm run dev生产模式
构建并运行编译后的版本:
npm run build
npm start直接执行
构建完成后,您也可以运行:
node dist/index.js配置
CLI(命令行界面)使用一个 mcp-config.json 用于存储服务器配置的文件。您可以手动创建此文件或使用交互式方式 add-server 命令。
示例配置
{
"servers": [
{
"name": "my-stdio-server",
"transport": "stdio",
"command": "node",
"args": ["path/to/server.js"]
},
{
"name": "my-http-server",
"transport": "http",
"url": "http://localhost:3000/mcp"
}
]
}可用命令
服务器管理
list-servers或者ls- 列出所有已配置的服务器及其连接状态add-server- 交互式地添加新的服务器配置remove-server- 从配置中移除服务器connect- 连接到已配置的服务器disconnect- 从服务器断开连接
MCP运营(或:MCP操作)
list-tools- 列出服务器上所有可用的工具list-resources- 列出服务器上所有可用的资源list-prompts- 列出服务器上所有可用的提示call-tool- 在服务器上交互式地调用工具read-resource- 从服务器读取资源get-prompt- 从服务器获取提示
AI聊天
chat- 启动带有工具访问权限的AI聊天模式/exit-chat- 退出聊天模式(当处于聊天时)/clear-history- 清除聊天历史记录(在聊天时)
要求: 设置 ANTHROPIC_API_KEY 环境变量
export ANTHROPIC_API_KEY=your-api-key-here见 AI_CHAT_GUIDE.md 翻译为中文是:“AI聊天指南.md” 请参阅详细的使用说明。
将军
help- 显示帮助信息,列出所有可用命令exit或者quit- 退出REPL(交互式解释器)
示例工作流程
工作流程1:AI聊天模式
- 设置您的API密钥:
export ANTHROPIC_API_KEY=your-api-key-here- 启动命令行界面(CLI):
npm run dev- 进入聊天模式:
mcp> chat- 自然聊天:
chat> Can you create a note titled "Ideas" with content "Build a mobile app"?
🤔 Thinking...
🔧 Using tool: memory__create-note
✓ Tool executed successfully
🤖 Assistant:
I've created a note titled "Ideas" with the content "Build a mobile app".- 退出聊天:
chat> /exit-chat工作流2:直接使用工具
- 启动REPL:
npm run dev- 添加服务器:
mcp> add-server
Server name: my-server
Transport (stdio/http): stdio
Command: node
Arguments (space-separated, optional): server.js
Connect now? (y/n): y- 列出可用工具:
mcp> list-tools my-server- 调用一个工具:
mcp> call-tool my-server
Tool name: add
Arguments (JSON): {"a": 5, "b": 3}- 列出资源:
mcp> list-resources my-server- 阅读一篇资源文章:
mcp> read-resource my-server
Resource URI: config://app创建您自己的MCP服务器
要测试这个命令行界面(CLI),你可以创建一个简单的MCP服务器。以下是一个最小示例:
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { z } from 'zod';
const server = new McpServer({
name: 'example-server',
version: '1.0.0'
});
server.registerTool(
'add',
{
title: 'Add Numbers',
description: 'Add two numbers together',
inputSchema: { a: z.number(), b: z.number() },
outputSchema: { result: z.number() }
},
async ({ a, b }) => {
const output = { result: a + b };
return {
content: [{ type: 'text', text: JSON.stringify(output) }],
structuredContent: output
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);将此保存为 example-server.ts 并使用以下命令运行它:
npx tsx example-server.ts然后在MCP CLI中进行配置:
{
"servers": [
{
"name": "example",
"transport": "stdio",
"command": "npx",
"args": ["tsx", "example-server.ts"]
}
]
}建筑
该项目的结构如下:
src/index.ts- 入口点src/repl.ts- REPL接口和命令处理src/server-manager.ts- MCP服务器连接管理src/config.ts- 配置文件管理src/types.ts- TypeScript 类型定义
依赖项
@modelcontextprotocol/sdk- 官方MCP TypeScript SDKchalk- 终端样式readline- 交互式命令行界面zod- 模式验证
许可证
ISC(Internet Service Center,互联网服务中心)
做出贡献
欢迎贡献!请随时提交问题或拉取请求。
