mcpField
M
mcp-chat

mcp-chat

本地服务
npmjs.comAI 与智能体1372 天前更新

关于 mcp-chat

mcp-chat 是用于测试和评估 MCP 服务及 Agent 的开源客户端,支持命令行交互和 Web 聊天。它可显示工具调用参数与结果,便于调试服务。

主要功能

  1. 01交互式命令行聊天
  2. 02Web 界面聊天
  3. 03连接本地或远程 MCP 服务
  4. 04选择模型并自定义系统提示词
  5. 05保存聊天记录和命令历史
  6. 06查看工具调用参数与输出

适用场景

  1. 01开发中测试本地 MCP 服务
  2. 02检查 MCP 工具调用结果
  3. 03通过 Web 界面配置服务并聊天

MCP 相关

作为 MCP 客户端,它连接本地命令启动的服务或 Streamable HTTP 端点,也可读取 Claude Desktop 配置。它在聊天中呈现工具调用参数和结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chat": {
"command": "npx",
"args": [
"-y",
"mcp-chat"
]
}
}
}
启动命令npx -y mcp-chat

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-chat

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-chat

用于测试和评估 MCP 服务及 Agent 的开源通用 MCP 客户端

README 配图

快速开始

确保已在环境中导出 ANTHROPIC_API_KEY,或将其放在项目根目录的 .env 文件中。可在 Anthropic 控制台密钥页面 注册并获取 API 密钥。

一个简单的用例:通过 CLI 启动交互式聊天提示词,并运行文件系统 MCP 服务:

npx mcp-chat --server "npx -y @modelcontextprotocol/server-filesystem /Users/$USER/Desktop"

这将打开一个聊天提示词,你可以用它与服务交互并和大模型聊天。

配置

你也可以直接指定 claude_desktop_config.json(Mac):

npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"

或(Windows):

npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"

Web 模式

https://github.com/user-attachments/assets/b7e8a648-8084-4955-8cdf-fc6eb141572e

你也可以通过指定 --web 标志以 Web 模式运行 mcp-chat(确保已在环境中导出 ANTHROPIC_API_KEY):

npx mcp-chat --web

在 Web 模式下,你可以开始新的聊天、向模型发送消息,并通过 UI 动态配置 MCP 服务——无需在命令行中指定。此外,通过 Web UI 创建的聊天会像通过 CLI 创建的聊天一样,保存在 ~/.mcpchats/chats 中。

功能

  • 通过 CLI 以交互模式运行,或使用 -p 直接传入提示词
  • 使用 --web 通过 Web 界面与模型聊天
  • 在生产环境或开发期间连接到任意 MCP 服务(JS、Python、Docker)
  • 使用 -m 选择模型
  • 使用 --system 自定义系统提示词
  • 将聊天记录及设置保存到 ~/.mcpchat/chats,包括 Web 聊天记录
  • 在 ~/.mcpchat/history 中保存和恢复命令
  • 在聊天中直接查看工具调用输出和参数,帮助调试 MCP 服务

CLI 用法

使用 -p 标志通过 CLI 运行提示词:

npx mcp-chat --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"

这会使用 kubenertes MCP 服务运行提示词,并在收到响应后将其输出到 stdout,然后退出。

使用 -m 标志通过 CLI 选择要聊天的模型:

npx mcp-chat --server "npx mcp-server-kubernetes" -m "claude-3.5"

使用模型 claude-3.5 进行聊天。请注意,目前仅支持 Anthropic 模型。

自定义系统提示词:

可使用 --system 标志指定系统提示词:

npx mcp-chat --system "Explain the output to the user in pirate speak." --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"

远程 MCP 服务

将 Streamable HTTP 端点 URL 传给 --server,以替代本地命令:

npx mcp-chat --server "https://example.com/mcp" -p "What tools do you have available?"

任何 http:// 或 https:// 服务字符串都会被视为 Streamable HTTP 端点,CLI 和 Web 模式的聊天设置均如此。目前不支持旧版 SSE 端点和需要身份验证的服务。

环境变量

Mcp-chat 支持将环境变量传递给 MCP 服务。不过,MCP 规范并未对此作出标准化,其他客户端可能不会传递动态环境变量值。关于标准 stdio MCP 客户端的更多信息,请参阅此处。

KUBECONFIG="~/.kube/config" npx mcp-chat --server "npx mcp-server-kubernetes"

面向 MCP 服务开发者

你可以传入本地构建的 Python 或 Node MCP 服务,使用 mcp-chat 进行测试:

Node JS:

# Directly executing built script
npx mcp-chat --server "/path/to/mcp-server-kubernetes/dist/index.js"
# Using node / bun
npx mcp-chat --server "node /path/to/mcp-server-kubernetes/dist/index.js"

Python:

# Python: Using uv
npx mcp-chat --server "uv --directory /path/to/mcp-server-weather/ run weather.py"
# Using python / python3 - make sure to run in venv or install deps globally
npx mcp-chat --server "/path/to/mcp-server-weather/weather.py"

开发

安装依赖并运行 CLI:

git clone https://github.com/Flux159/mcp-chat
bun install
bun run dev

开发 mcp-chat 时,如果要连接 MCP 服务,请先构建,然后使用服务标志运行 CLI:

npm run build && node dist/index.js --server "npx mcp-server-kubernetes" -p "List the pods in the default namespace"

测试:

bun run test

构建:

bun run build

发布:

bun run publish

发布 Docker:

bun run dockerbuild
项目结构
├── src/
│   ├── index.ts            # Main client implementation & CLI params
│   ├── constants.ts        # Default constants
│   ├── interactive.ts      # Interactive chat prompt handling & logic
├── test/                   # Test files
│   ├── cli.test.ts         # Test CLI params
│   ├── config.test.ts      # Test config file parsing

发布新版本

前往 releases 页面,点击 “Draft New Release”,再点击 “Choose a tag”,然后输入遵循 “v{major}.{minor}.{patch}” semver 格式的新版本号来创建新标签。接着填写发布标题 “Release v{major}.{minor}.{patch}”,并在必要时填写说明/更新日志,最后点击 “Publish Release”。

这将创建一个新标签,并通过 cd.yml 工作流触发新的发布构建。构建成功后,新版本将发布到 npm。请注意,无需手动更新 package.json 中的版本,因为工作流会自动更新 package.json 文件中的版本号,并将提交推送到 main。

许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。