返回市场
麦普聊天

麦普聊天

作者:Flux159128 星标更新:2025-09-12

项目介绍

【技术文档摘要】

mcp-chat

<div align="right"> <details> <summary>🌐 语言</summary> <div> <div align="center"> <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=en">英语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=zh-CN">简体中文</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=zh-TW">繁體中文</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=ja">日语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=ko">韩语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=hi">印地语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=th">泰语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=fr">法语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=de">德语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=es">西班牙语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=it">意大利语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=ru">俄语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=pt">葡萄牙语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=nl">荷兰语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=pl">波兰语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=ar">阿拉伯语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=fa">波斯语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=tr">土耳其语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=vi">越南语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=id">印尼语</a> | <a href="https://openaitx.github.io/view.html?user=Flux159&project=mcp-chat&lang=as">阿萨姆语</a> </div> </div> </details> </div>

开源通用MCP客户端,用于测试和评估MCP服务器和代理。

<p align="center"> <img width="600" src="https://raw.githubusercontent.com/Flux159/mcp-chat/refs/heads/main/mcpchat.svg"> </p>

快速开始

确保在环境变量或项目根目录下的.env文件中导出ANTHROPIC_API_KEY。您可以通过在Anthropic控制台密钥页面注册来获取API密钥。

简单的用例,从命令行启动与文件系统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"

网页模式

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

您还可以通过指定--web标志以网页模式运行mcp-chat(确保在环境中导出ANTHROPIC_API_KEY):

npx mcp-chat --web

在网页模式下,您可以通过UI启动新的聊天、向模型发送消息,并动态配置MCP服务器——无需在命令行上指定。此外,通过Web UI创建的聊天会话将保存到~/.mcpchats/chats,就像通过CLI创建的一样。

功能

  • 通过CLI在交互模式下运行或直接传递提示-p
  • 通过网页界面与模型聊天的网页模式--web
  • 连接到任何MCP服务器(JS、Python、Docker),无论是在生产还是开发期间
  • 通过-m选择模型
  • 使用--system自定义系统提示
  • 将聊天历史记录保存到~/.mcpchat/chats,包括网页聊天
  • ~/.mcpchat/history中保存和恢复命令
  • 直接在聊天中查看工具调用输出和参数,帮助调试MCP服务器

CLI使用

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

npx mcp-chat --server "npx mcp-server-kubernetes" -p "列出默认命名空间中的pod"

这将运行提示与kubenertes mcp-server,并在收到stdout响应后退出。

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

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

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

自定义系统提示:

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

npx mcp-chat --system "用海盗的语言向用户解释输出。" --server "npx mcp-server-kubernetes" -p "列出默认命名空间中的pod"

环境变量

Mcp-chat支持将环境变量传递给mcp服务器。然而,这在mcp规范中并未标准化,其他客户端可能不会使用动态环境变量值——更多详情请参阅这里关于标准stdio mcp客户端的内容。

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

对于mcp-server开发者

您可以传入一个本地构建的python或node mcp-server来使用mcp-chat进行测试:

Node JS:

# 直接执行构建脚本
npx mcp-chat --server "/path/to/mcp-server-kubernetes/dist/index.js"
# 使用node / bun
npx mcp-chat --server "node /path/to/mcp-server-kubernetes/dist/index.js"

Python:

# Python:使用uv
npx mcp-chat --server "uv --directory /path/to/mcp-server-weather/ run weather.py"
# 使用python / python3 - 确保在虚拟环境中运行或全局安装依赖项
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-server的同时开发mcp-chat,构建并使用服务器标志运行CLI:

npm run build && node dist/index.js --server "npx mcp-server-kubernetes" -p "列出默认命名空间中的pod"

测试:

bun run test

构建:

bun run build

发布:

bun run publish

发布Docker:

bun run dockerbuild

项目结构

├── src/
│   ├── index.ts            # 主客户端实现及CLI参数
│   ├── constants.ts        # 默认常量
│   ├── interactive.ts      # 交互式聊天提示处理及逻辑
├── test/                   # 测试文件
│   ├── cli.test.ts         # 测试CLI参数
│   ├── config.test.ts      # 测试配置文件解析

发布新版本

前往发行版页面,点击“草稿新发行版”,点击“选择标签”并创建一个新标签,通过键入新的版本号使用“v{major}.{minor}.{patch}”语义化版本格式。然后,写一个发行标题“Release v{major}.{minor}.{patch}”以及必要的描述/变更日志,最后点击“发布发行版”。

这将创建一个新的标签,从而触发cd.yml工作流的新发行版构建。一旦成功,新版本将发布到npm。请注意,无需手动更新package.json中的版本号,因为工作流将自动更新package.json中的版本号并提交到main分支。

许可证

MIT许可证