OpenAI MCP Server

by arthurcolle

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 : 도구 사용 통계 표시(활성화된 경우)
-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

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

CLI 상호작용, 웹 API 통합, 도구 기반 아키텍처와 같은 기능을 통해 코딩 지원을 위해 OpenAI API와 MCP 클라이언트 간의 연결을 가능하게 하는 모델 컨텍스트 프로토콜 서버 구현입니다.

  1. Key Features
    1. Installation
      1. Usage
        1. CLI Mode
        2. MCP Server Mode
        3. MCP Client Mode
        4. Multi-Agent MCP Mode
      2. Available Tools
        1. Chat Commands
          1. Architecture
            1. Using with Model Context Protocol
              1. Using Claude Code as an MCP Server
              2. Using Claude Code as an MCP Client
              3. Using Multi-Agent Mode
            2. Contributing
              1. License
                1. Acknowledgments
                  1. Features
                    1. Installation
                      1. Usage
                        1. CLI Mode
                        2. API Server Mode
                        3. MCP Server Mode
                        4. MCP Client Mode
                        5. Deployment Script
                        6. Web Client
                      2. API Endpoints
                        1. Standard API Endpoints
                        2. MCP Protocol Endpoints
                      3. Replication
                        1. Tools
                          1. CLI Commands
                            ID: o0r4qq1gpp