OpenAI MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Support for loading environment variables from .env files when configuring the MCP server.

  • Optional dependency that can be specified when starting the MCP server.

  • Integration with OpenAI's API for access to GPT models like gpt-4o.

OpenAI 및 기타 LLM 공급자를 지원하는 MCP 코딩 어시스턴트

향상된 실시간 시각화, 비용 관리 및 모델 컨텍스트 프로토콜(MCP) 서버 기능을 갖춘 Claude Code의 강력한 Python 기반 재현 도구입니다. 이 도구는 여러 LLM 제공업체를 지원하며 소프트웨어 개발 작업을 위한 자연어 인터페이스를 제공합니다.

주요 특징

  • 다중 공급자 지원: OpenAI, Anthropic 및 기타 LLM 공급자와 협력
  • 모델 컨텍스트 프로토콜 통합:
    • Claude Desktop 및 기타 클라이언트와 함께 사용할 MCP 서버로 실행
    • 내장된 MCP 클라이언트를 사용하여 모든 MCP 서버에 연결
    • 복잡한 문제 해결을 위한 다중 에이전트 동기화
  • 실시간 도구 시각화: 도구 실행 진행 상황과 결과를 실시간으로 확인하세요.
  • 비용 관리: 예산 관리를 통해 토큰 사용량 및 비용 추적
  • 포괄적인 도구 모음: 파일 작업, 검색, 명령 실행 등
  • 향상된 UI: 진행률 표시기와 구문 강조 기능이 있는 풍부한 터미널 인터페이스
  • 컨텍스트 최적화: 스마트한 대화 압축 및 메모리 관리
  • 에이전트 조정: 다양한 역할을 가진 전문 에이전트가 작업에 대해 협업할 수 있습니다.

설치

  1. 이 저장소를 복제하세요
  2. 종속성 설치:

지엑스피1

  1. API 키로 .env 파일을 만듭니다.
# Choose one or more providers OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here # Optional model selection OPENAI_MODEL=gpt-4o ANTHROPIC_MODEL=claude-3-opus-20240229

용법

CLI 모드

사용 가능한 API 키에서 결정된 기본 공급자로 CLI를 실행합니다.

python claude.py chat

공급자와 모델을 지정하세요:

python claude.py chat --provider openai --model gpt-4o

비용을 관리하기 위해 예산 한도를 설정하세요.

python claude.py chat --budget 5.00

MCP 서버 모드

모델 컨텍스트 프로토콜 서버로 실행:

python claude.py serve

MCP 검사기를 사용하여 개발 모드를 시작합니다.

python claude.py serve --dev

호스트 및 포트 구성:

python claude.py serve --host 0.0.0.0 --port 8000

추가 종속성을 지정합니다.

python claude.py serve --dependencies pandas numpy

파일에서 환경 변수 로드:

python claude.py serve --env-file .env

MCP 클라이언트 모드

Claude를 추론 엔진으로 사용하여 MCP 서버에 연결합니다.

python claude.py mcp-client path/to/server.py

Claude 모델을 지정하세요:

python claude.py mcp-client path/to/server.py --model claude-3-5-sonnet-20241022

포함된 예제 서버를 사용해 보세요.

# In terminal 1 - start the server python examples/echo_server.py # In terminal 2 - connect with the client python claude.py mcp-client examples/echo_server.py

다중 에이전트 MCP 모드

동기화된 에이전트로 다중 에이전트 클라이언트 실행:

python claude.py mcp-multi-agent path/to/server.py

사용자 정의 에이전트 구성 파일을 사용합니다.

python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json

에코 서버 예시:

# In terminal 1 - start the server python examples/echo_server.py # In terminal 2 - launch the multi-agent client python claude.py mcp-multi-agent examples/echo_server.py --config examples/agents_config.json

사용 가능한 도구

  • 보기: 선택적 줄 제한이 있는 파일 읽기
  • 편집: 정확한 텍스트 교체로 파일 수정
  • 바꾸기: 파일을 만들거나 덮어씁니다.
  • GlobTool: 패턴 매칭으로 파일 찾기
  • GrepTool: 정규식을 사용하여 파일 내용 검색
  • LS: 디렉토리 내용 나열
  • Bash: 셸 명령 실행

채팅 명령

  • /help: 사용 가능한 명령을 표시합니다.
  • /compact: 토큰을 저장하기 위해 대화 기록을 압축합니다.
  • /version: 버전 정보 표시
  • /providers: 사용 가능한 LLM 공급자 나열
  • /cost: 비용 및 사용량 정보 표시
  • /budget [금액]: 예산 한도를 설정합니다.
  • /quit, /exit: 애플리케이션 종료

건축학

Claude Code Python Edition은 모듈식 아키텍처로 구축되었습니다.

/claude_code/ /lib/ /providers/ # LLM provider implementations /tools/ # Tool implementations /context/ # Context management /ui/ # UI components /monitoring/ # Cost tracking & metrics /commands/ # CLI commands /config/ # Configuration management /util/ # Utility functions claude.py # Main CLI entry point mcp_server.py # Model Context Protocol server

모델 컨텍스트 프로토콜과 함께 사용

Claude Code를 MCP 서버로 사용

MCP 서버가 실행되면 Claude Desktop이나 다른 MCP 호환 클라이언트에서 연결할 수 있습니다.

  1. MCP 서버를 설치하고 실행합니다.
    python claude.py serve
  2. 브라우저에서 구성 페이지를 엽니다.
    http://localhost:8000
  3. Claude Desktop을 구성하려면 다음 지침을 따르세요.
    • JSON 구성을 복사합니다
    • 자동 구성된 JSON 파일을 다운로드하세요
    • 단계별 설정 지침

Claude Code를 MCP 클라이언트로 사용

Claude Code를 사용하여 MCP 서버에 연결하려면:

  1. 환경 또는 .env 파일에 Anthropic API 키가 있는지 확인하세요.
  2. 연결하려는 MCP 서버를 시작합니다.
  3. MCP 클라이언트를 사용하여 연결:
    python claude.py mcp-client path/to/server.py
  4. 대화형 채팅 인터페이스에 쿼리를 입력하세요

다중 에이전트 모드 사용

복잡한 작업의 경우 다중 에이전트 모드를 사용하면 여러 전문 에이전트가 협업할 수 있습니다.

  1. 에이전트 구성 파일을 생성하거나 제공된 예를 사용하세요.
  2. MCP 서버를 시작하세요
  3. 멀티 에이전트 클라이언트를 시작합니다.
    python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json
  4. 여러 에이전트와 상호 작용하려면 명령 인터페이스를 사용하세요.
    • 모든 에이전트에게 브로드캐스트할 메시지를 입력하세요
    • 직접 통신하려면 /talk Agent_Name message 사용하세요.
    • 사용 가능한 모든 에이전트를 보려면 /agents 사용하세요.
    • 대화 기록을 보려면 /history 사용하세요.

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치 생성
  3. 테스트를 통해 변경 사항을 구현하세요
  4. 풀 리퀘스트 제출

특허

MIT

감사의 말

이 프로젝트는 Anthropic의 Claude Code CLI 도구에서 영감을 받아 향상된 가시성, 비용 관리 및 MCP 서버 기능을 위한 추가 기능을 Python으로 다시 구현했습니다.# OpenAI Code Assistant

함수 호출 및 스트리밍 기능을 갖춘 OpenAI API를 사용하는 강력한 명령줄 및 API 기반 코딩 어시스턴트입니다.

특징

  • 코딩 지원을 위한 대화형 CLI
  • 다른 애플리케이션과의 통합을 위한 웹 API
  • 모델 컨텍스트 프로토콜(MCP) 서버 구현
  • 고가용성을 위한 복제 지원
  • 확장성을 위한 도구 기반 아키텍처
  • 도구 최적화를 위한 강화 학습
  • 브라우저 기반 상호작용을 위한 웹 클라이언트

설치

  1. 저장소를 복제합니다
  2. 종속성 설치:
    pip install -r requirements.txt
  3. OpenAI API 키를 설정하세요:
    export OPENAI_API_KEY=your_api_key

용법

CLI 모드

대화형 CLI 모드에서 어시스턴트를 실행합니다.

python cli.py

옵션:

  • --model , -m : 사용할 모델을 지정합니다(기본값: gpt-4o)
  • --temperature , -t : 응답 생성을 위한 온도 설정(기본값: 0)
  • --verbose , -v : 추가 정보와 함께 자세한 출력을 활성화합니다.
  • --enable-rl/--disable-rl : 도구 최적화를 위한 강화 학습 활성화/비활성화
  • --rl-update : RL 모델 업데이트를 수동으로 트리거합니다.

API 서버 모드

API 서버로 어시스턴트 실행:

python cli.py serve

옵션:

  • --host : 바인딩할 호스트 주소(기본값: 127.0.0.1)
  • --port , -p : 수신할 포트(기본값: 8000)
  • --workers , -w : 작업자 프로세스 수(기본값: 1)
  • --enable-replication : 인스턴스 간 복제를 활성화합니다.
  • --primary/--secondary : 이것이 기본 인스턴스인지 보조 인스턴스인지
  • --peer : 복제할 피어 인스턴스(호스트:포트), 여러 번 지정할 수 있습니다.

MCP 서버 모드

MCP(Model Context Protocol) 서버로 어시스턴트를 실행합니다.

python cli.py mcp-serve

옵션:

  • --host : 바인딩할 호스트 주소(기본값: 127.0.0.1)
  • --port , -p : 수신할 포트(기본값: 8000)
  • --dev : 추가 로깅을 통해 개발 모드를 활성화합니다.
  • --dependencies : 설치할 추가 Python 종속성
  • --env-file : 환경 변수가 포함된 .env 파일의 경로

MCP 클라이언트 모드

추론 엔진으로 어시스턴트를 사용하여 MCP 서버에 연결합니다.

python cli.py mcp-client path/to/server.py

옵션:

  • --model , -m : 추론에 사용할 모델(기본값: gpt-4o)
  • --host : MCP 서버의 호스트 주소(기본값: 127.0.0.1)
  • --port , -p : MCP 서버의 포트(기본값: 8000)

배포 스크립트

보다 쉽게 배포하려면 제공된 스크립트를 사용하세요.

./deploy.sh --host 0.0.0.0 --port 8000 --workers 4

복제를 활성화하려면:

# Primary instance ./deploy.sh --enable-replication --port 8000 # Secondary instance ./deploy.sh --enable-replication --secondary --port 8001 --peer 127.0.0.1:8000

웹 클라이언트

웹 클라이언트를 사용하려면 브라우저에서 web-client.html 여세요. API 서버가 실행 중인지 확인하세요.

API 엔드포인트

표준 API 엔드포인트

  • POST /conversation : 새로운 대화를 만듭니다
  • POST /conversation/{conversation_id}/message : 대화에 메시지를 보냅니다.
  • POST /conversation/{conversation_id}/message/stream : 메시지 응답을 스트리밍합니다.
  • GET /conversation/{conversation_id} : 대화 세부 정보 가져오기
  • DELETE /conversation/{conversation_id} : 대화 삭제
  • GET /health : 상태 확인 엔드포인트

MCP 프로토콜 엔드포인트

  • GET / : 상태 점검(MCP 프로토콜)
  • POST /context : 프롬프트 템플릿에 대한 컨텍스트를 가져옵니다.
  • GET /prompts : 사용 가능한 프롬프트 템플릿 나열
  • GET /prompts/{prompt_id} : 특정 프롬프트 템플릿 가져오기
  • POST /prompts : 새로운 프롬프트 템플릿을 만듭니다.
  • PUT /prompts/{prompt_id} : 기존 프롬프트 템플릿을 업데이트합니다.
  • DELETE /prompts/{prompt_id} : 프롬프트 템플릿 삭제

복제

복제 시스템을 사용하면 동기화된 상태로 여러 어시스턴트 인스턴스를 실행할 수 있습니다. 이를 통해 다음이 제공됩니다.

  • 고가용성
  • 부하 분산
  • 내결함성

복제를 설정하려면:

  1. --enable-replication 사용하여 기본 인스턴스를 시작합니다.
  2. --enable-replication --secondary --peer [primary-host:port] 사용하여 보조 인스턴스를 시작합니다.

도구

이 도우미에는 다양한 도구가 포함되어 있습니다.

  • 날씨: 해당 지역의 현재 날씨를 확인하세요
  • 보기: 파일 시스템에서 파일 읽기
  • 편집: 파일 편집
  • 바꾸기: 파일 쓰기
  • Bash: Bash 명령 실행
  • GlobTool: 파일 패턴 매칭
  • GrepTool: 콘텐츠 검색
  • LS: 디렉토리 내용 나열
  • JinaSearch: Jina.ai를 이용한 웹 검색
  • JinaFactCheck: Jina.ai를 활용한 사실 확인
  • JinaReadURL: 웹페이지 읽기 및 요약

CLI 명령

  • /help : 도움말 메시지를 표시합니다
  • /compact : 토큰 사용량을 줄이기 위해 대화를 압축합니다.
  • /status : 토큰 사용량 및 세션 정보 표시
  • /config : 현재 구성 설정을 표시합니다.
  • /rl-status : RL 도구 최적화 상태 표시(활성화된 경우)
  • /rl-update : RL 모델을 수동으로 업데이트합니다(활성화된 경우)
  • /rl-stats : 도구 사용 통계 표시(활성화된 경우)
ID: o0r4qq1gpp