Skip to main content
Glama

ChatWithMCP

一个用于 Claude(Anthropic)的命令行聊天客户端,可连接自有及外部 MCP 服务器。聊天直接在终端中进行,工具可自动调用(或经确认后调用),并内置了用于生成和评估提示词变体的系统。

功能特点

  • 终端内交互式聊天(OpenAI 兼容 API,openai SDK 对接 Anthropic 端点)

  • 连接本地 MCP 服务器(mcp-server/)及自有工具

  • 可选连接官方 GitHub MCP 服务器(通过 Docker)

  • 三种工具调用执行模式:auto、approve(需确认)和 plan(仅规划,不执行)

  • 流式响应和扩展思考(可选择性开启)

  • 工具可单独或全部启用/禁用

  • 通过 /attach 将文件加载到聊天上下文中

  • 通过自有 MCP 工具进行提示词生成和评估(参见 PROMPT_EVALUATION.md)

Related MCP server: MCP Chat

前提条件

  • Node.js(ESM/type: module,参见 package.json)

  • 一个 Anthropic API 密钥

  • 可选:Docker(仅用于 GitHub MCP 服务器)以及一个 GitHub 个人访问令牌

  • 可选:一个 Tavily API 密钥(用于 web_search 工具)

安装

npm install

配置

在项目根目录创建 .env 文件(已被 .gitignore 排除):

ANTHROPIC_API_KEY=dein-anthropic-api-key
BASE_URL=https://api.anthropic.com/v1
TAVILY_API_KEY=dein-tavily-api-key
GITHUB_PERSONAL_ACCESS_TOKEN=dein-github-token
  • ANTHROPIC_API_KEY / BASE_URL — 用于聊天客户端和 generate_prompts 工具

  • TAVILY_API_KEY — 仅用于 web_search 工具

  • GITHUB_PERSONAL_ACCESS_TOKEN — 仅在使用 GitHub MCP 服务器(通过 Docker)时需要

常规设置(模型、令牌限制、/attach 的基础目录、GitHub 工具集)位于 config.mjs 中。

使用方法

启动聊天:

npm start

本地 MCP 服务器(mcp-server/server.mjs)会自动作为子进程启动。GitHub MCP 服务器可通过 Docker 可选连接——如果连接失败,聊天仍会在没有 GitHub 工具的情况下继续运行。

MCP 服务器也可以独立启动(例如用于使用 MCP Inspector 进行测试):

npm run mcp-server

聊天命令

常规

  • /system TEXT — 设置系统提示词

  • /nosystem — 移除系统提示词

  • /clear — 清空聊天历史

  • exit — 退出聊天

工具管理

  • /tools — 显示可用工具及其状态

  • /disable-tool <名称> / /enable-tool <名称> — 单独禁用/启用某个工具

  • /disable-all-tools / /enable-all-tools — 禁用/启用所有工具

聊天选项

  • /options — 显示当前设置

  • /enable-streaming / /disable-streaming — 切换流式输出(禁用时会同时禁用所有工具)

  • /enable-thinking / /disable-thinking — 切换扩展思考

执行模式

  • /plan-mode — 模型仅提供计划,不执行工具

  • /auto-mode — 工具无需确认直接执行(默认)

  • /auto-approve — 每次工具调用前需确认

  • /mode — 显示当前模式

文件

  • /attach <路径> — 读取文件并加入聊天上下文(相对路径基于 config.attachBaseDir 解析)

提示词评估

  • /generate-prompts <数量> <提示词> [--style=正式|随意|技术|创意|简洁]

  • /evaluate-prompts

  • /prompts

  • /clear-prompts

详细信息参见 PROMPT_EVALUATION.md。

可用的 MCP 工具

本地 MCP 服务器(mcp-server/tools/)提供以下工具:

工具

描述

get_current_date / get_current_time

返回当前日期或时间

get_weather

天气查询

web_search

网络搜索(需要 TAVILY_API_KEY)

fetch_page

加载网页并将其转换为文本

read_file / save_to_file

读取或写入文件

list_directory

列出目录内容

ssh_execute

通过 SSH 在远程主机上执行命令

get_network_info

显示主机的网络接口、子网和 DNS 服务器

discover_network_hosts

通过 TCP 端口扫描发现本地 IP 网络中的活跃主机

generate_prompts / evaluate_prompts

生成和评估提示词变体

通过可选的 GitHub MCP 服务器,还可使用用于仓库、议题、拉取请求和 Actions 的工具(参见 config.mjs → github.toolsets)。

项目结构

chat.mjs                 CLI-Chat-Client
config.mjs                Konfiguration (Modell, Token-Limits, GitHub-Optionen)
mcp-server/
  server.mjs              MCP-Server (stdio)
  tools/                  Einzelne Tool-Implementierungen
output/                   Ablage für generierte Dateien (z. B. über save_to_file)
PROMPT_EVALUATION.md       Dokumentation des Prompt-Evaluation-Systems

Related MCP Connectors

Related MCP Servers