Skip to main content
Glama

ChatWithMCP

Claude(Anthropic)용 명령줄 채팅 클라이언트로, 자체 및 외부 MCP 서버를 연결합니다. 채팅은 터미널에서 직접 실행되며, 도구를 자동으로(또는 확인 후) 호출하고 프롬프트 변형을 생성하고 평가하는 내장 시스템을 갖추고 있습니다.

기능

  • 터미널에서의 대화형 채팅(OpenAI 호환 API, Anthropic 엔드포인트용 openai SDK)

  • 자체 도구를 제공하는 로컬 MCP 서버(mcp-server/) 연결

  • Docker를 통한 공식 GitHub MCP 서버 선택적 연결

  • 도구 호출을 위한 세 가지 실행 모드: 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 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 — 확장 사고 전환

실행 모드

  • /plan-mode — 모델이 계획만 제공하고 도구를 실행하지 않음

  • /auto-mode — 도구가 확인 없이 실행됨(기본값)

  • /auto-approve — 각 도구 호출 전에 확인 필요

  • /mode — 현재 모드 표시

파일

  • /attach <pfad> — 파일을 읽어 채팅 기록에 추가(상대 경로는 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/)는 무엇보다 다음 도구를 제공합니다:

Tool

설명

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 서버를 통해 Repos, Issues, Pull Requests 및 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