Skip to main content
Glama

ChatWithMCP

Claude(Anthropic)用のコマンドライン・チャットクライアントで、独自および外部のMCPサーバーに接続できます。チャットはターミナル上で直接動作し、ツールを自動的に(または確認後に)呼び出し、プロンプトのバリエーションを生成・評価するための組み込みシステムを備えています。

機能

  • ターミナルでの対話型チャット(OpenAI互換API、openai SDKをAnthropicエンドポイントに対して使用)

  • 独自ツールを備えたローカルMCPサーバー(mcp-server/)への接続

  • 公式のGitHub MCP ServerをDocker経由でオプション接続

  • ツール呼び出しの3つの実行モード:auto、approve(確認)、plan(プランのみ、実行なし)

  • ストリーミング応答とExtended Thinking(オプションで有効化可能)

  • ツールを個別または一括で有効化・無効化

  • /attachでファイルをチャットコンテキストに読み込み

  • 独自のMCPツールによるプロンプト生成と評価(PROMPT_EVALUATION.mdを参照)

Related MCP server: MCP Chat

前提条件

  • Node.js(ESM/type: module、package.jsonを参照)

  • Anthropic APIキー

  • オプション:Docker(GitHub MCPサーバーのみ)とGitHub Personal Access Token

  • オプション: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インスペクターでのテスト用):

npm run mcp-server

チャット内コマンド

一般

  • /system TEXT — システムプロンプトを設定

  • /nosystem — システムプロンプトを削除

  • /clear — チャット履歴を削除

  • exit — チャットを終了

ツール管理

  • /tools — 利用可能なツールとそのステータスを表示

  • /disable-tool <name> / /enable-tool <name> — 個別のツールを無効化・有効化

  • /disable-all-tools / /enable-all-tools — すべてのツールを無効化・有効化

チャットオプション

  • /options — 現在の設定を表示

  • /enable-streaming / /disable-streaming — ストリーミングを切り替え(その間、すべてのツールが無効化されます)

  • /enable-thinking / /disable-thinking — Extended Thinkingを切り替え

実行モード

  • /plan-mode — モデルはプランのみを提供し、ツールを実行しない

  • /auto-mode — ツールは確認なしで実行(デフォルト)

  • /auto-approve — 各ツール呼び出しの前に確認が必要

  • /mode — 現在のモードを表示

ファイル

  • /attach <path> — ファイルを読み込んでチャット履歴に追加(相対パスはconfig.attachBaseDirに対して解決されます)

プロンプト評価

  • /generate-prompts <count> <prompt> [--style=formal|casual|technical|creative|concise]

  • /evaluate-prompts

  • /prompts

  • /clear-prompts

詳細はPROMPT_EVALUATION.mdを参照してください。

利用可能なMCPツール

ローカルMCPサーバー(mcp-server/tools/)は、とりわけ以下のツールを提供します:

ツール

説明

get_current_date / get_current_time

現在の日付または現在の時刻を返す

get_weather

天気の問い合わせ

web_search

Web検索(TAVILY_API_KEYが必要)

fetch_page

Webページを読み込んでテキストに変換

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サーバー経由で、リポジトリ、Issue、プルリクエスト、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