使用说明
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 <name>- 从配置中移除服务器connect <name>- 连接到已配置的服务器disconnect <name>- 从服务器断开连接
MCP运营(或:MCP操作)
list-tools <server>- 列出服务器上所有可用的工具list-resources <server>- 列出服务器上所有可用的资源list-prompts <server>- 列出服务器上所有可用的提示call-tool <server>- 在服务器上交互式地调用工具read-resource <server>- 从服务器读取资源get-prompt <server>- 从服务器获取提示
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,互联网服务中心)
做出贡献
欢迎贡献!请随时提交问题或拉取请求。
