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.

Asistente de codificación MCP compatible con OpenAI y otros proveedores de LLM

Una potente recreación en Python de Claude Code con visualización mejorada en tiempo real, gestión de costes y funciones de servidor del Protocolo de Contexto de Modelo (MCP). Esta herramienta proporciona una interfaz de lenguaje natural para tareas de desarrollo de software compatible con múltiples proveedores de LLM.

Características principales

  • Compatibilidad con múltiples proveedores: funciona con OpenAI, Anthropic y otros proveedores de LLM
  • Integración del protocolo de contexto del modelo:
    • Ejecútelo como servidor MCP para usar con Claude Desktop y otros clientes
    • Conéctese a cualquier servidor MCP con el cliente MCP integrado
    • Sincronización multiagente para la resolución de problemas complejos
  • Visualización de herramientas en tiempo real: vea el progreso de la ejecución de la herramienta y los resultados en tiempo real
  • Gestión de costos: Realice un seguimiento del uso de tokens y los gastos con controles presupuestarios
  • Conjunto completo de herramientas: operaciones con archivos, búsqueda, ejecución de comandos y mucho más
  • Interfaz de usuario mejorada: interfaz de terminal enriquecida con indicadores de progreso y resaltado de sintaxis
  • Optimización del contexto: compactación inteligente de conversaciones y gestión de memoria
  • Coordinación de agentes: agentes especializados con diferentes roles pueden colaborar en tareas

Instalación

  1. Clonar este repositorio
  2. Instalar dependencias:
pip install -r requirements.txt
  1. Crea un archivo .env con tus claves API:
# 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

Uso

Modo CLI

Ejecute la CLI con el proveedor predeterminado (determinado a partir de las claves API disponibles):

python claude.py chat

Especifique un proveedor y un modelo:

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

Establezca un límite de presupuesto para administrar los costos:

python claude.py chat --budget 5.00

Modo de servidor MCP

Ejecutar como un servidor de protocolo de contexto de modelo:

python claude.py serve

Comience en modo de desarrollo con el Inspector MCP:

python claude.py serve --dev

Configurar el host y el puerto:

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

Especifique dependencias adicionales:

python claude.py serve --dependencies pandas numpy

Cargar variables de entorno desde el archivo:

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

Modo cliente MCP

Conéctese a un servidor MCP usando a Claude como motor de razonamiento:

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

Especifique un modelo de Claude:

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

Pruebe el servidor de ejemplo incluido:

# 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

Modo MCP multiagente

Inicie un cliente multiagente con agentes sincronizados:

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

Utilice un archivo de configuración de agente personalizado:

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

Ejemplo con el servidor de eco:

# 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

Herramientas disponibles

  • Ver: Leer archivos con límites de línea opcionales
  • Editar: modificar archivos con reemplazo de texto preciso
  • Reemplazar: crear o sobrescribir archivos
  • GlobTool: Buscar archivos por coincidencia de patrones
  • GrepTool: busca el contenido de archivos mediante expresiones regulares
  • LS: Listar el contenido del directorio
  • Bash: Ejecutar comandos de shell

Comandos de chat

  • /help: Mostrar comandos disponibles
  • /compact: comprime el historial de conversaciones para ahorrar tokens
  • /versión: Mostrar información de la versión
  • /proveedores: Lista de proveedores de LLM disponibles
  • /costo: Muestra información de costo y uso
  • /presupuesto [cantidad]: establecer un límite de presupuesto
  • /quit, /exit: Salir de la aplicación

Arquitectura

Claude Code Python Edition está construido con una arquitectura modular:

/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

Uso del protocolo de contexto de modelo

Usando Claude Code como servidor MCP

Una vez que el servidor MCP esté en funcionamiento, puedes conectarte a él desde Claude Desktop u otros clientes compatibles con MCP:

  1. Instalar y ejecutar el servidor MCP:
    python claude.py serve
  2. Abra la página de configuración en su navegador:
    http://localhost:8000
  3. Siga las instrucciones para configurar Claude Desktop, que incluyen:
    • Copiar la configuración JSON
    • Descargue el archivo JSON autoconfigurado
    • Instrucciones de configuración paso a paso

Uso de Claude Code como cliente MCP

Para conectarse a cualquier servidor MCP usando Claude Code:

  1. Asegúrese de tener su clave API de Anthropic en el entorno o archivo .env
  2. Inicie el servidor MCP al que desea conectarse
  3. Conectarse usando el cliente MCP:
    python claude.py mcp-client path/to/server.py
  4. Escriba consultas en la interfaz de chat interactiva

Uso del modo multiagente

Para tareas complejas, el modo multiagente permite que varios agentes especializados colaboren:

  1. Cree un archivo de configuración del agente o utilice el ejemplo proporcionado
  2. Inicie su servidor MCP
  3. Inicie el cliente multiagente:
    python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.json
  4. Utilice la interfaz de comando para interactuar con múltiples agentes:
    • Escriba un mensaje para transmitir a todos los agentes
    • Utilice /talk Agent_Name message para comunicación directa
    • Utilice /agents para ver todos los agentes disponibles
    • Utilice /history para ver el historial de conversaciones

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Implementa tus cambios con pruebas
  4. Enviar una solicitud de extracción

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Expresiones de gratitud

Este proyecto está inspirado en la herramienta Claude Code CLI de Anthropic, reimplementada en Python con características adicionales para una mejor visibilidad, gestión de costos y capacidades de servidor MCP.# OpenAI Code Assistant

Un potente asistente de codificación basado en API y línea de comandos que utiliza API de OpenAI con llamada y transmisión de funciones.

Características

  • CLI interactiva para asistencia en la codificación
  • API web para integración con otras aplicaciones
  • Implementación del servidor del Protocolo de Contexto de Modelo (MCP)
  • Soporte de replicación para alta disponibilidad
  • Arquitectura basada en herramientas para extensibilidad
  • Aprendizaje por refuerzo para la optimización de herramientas
  • Cliente web para interacción basada en navegador

Instalación

  1. Clonar el repositorio
  2. Instalar dependencias:
    pip install -r requirements.txt
  3. Establezca su clave API de OpenAI:
    export OPENAI_API_KEY=your_api_key

Uso

Modo CLI

Ejecute el asistente en modo CLI interactivo:

python cli.py

Opciones:

  • --model , -m : especifica el modelo a utilizar (predeterminado: gpt-4o)
  • --temperature , -t : establece la temperatura para la generación de la respuesta (valor predeterminado: 0)
  • --verbose , -v : Habilita la salida detallada con información adicional
  • --enable-rl/--disable-rl : Habilitar o deshabilitar el aprendizaje de refuerzo para la optimización de herramientas
  • --rl-update : activa manualmente una actualización del modelo RL

Modo de servidor API

Ejecute el asistente como un servidor API:

python cli.py serve

Opciones:

  • --host : Dirección de host a la que vincularse (predeterminado: 127.0.0.1)
  • --port , -p : Puerto para escuchar (predeterminado: 8000)
  • --workers , -w : Número de procesos de trabajo (predeterminado: 1)
  • --enable-replication : Habilitar la replicación entre instancias
  • --primary/--secondary : si se trata de una instancia primaria o secundaria
  • --peer : Instancias de pares con las que replicar (host:puerto), se pueden especificar varias veces

Modo de servidor MCP

Ejecute el asistente como un servidor de Protocolo de contexto de modelo (MCP):

python cli.py mcp-serve

Opciones:

  • --host : Dirección de host a la que vincularse (predeterminado: 127.0.0.1)
  • --port , -p : Puerto para escuchar (predeterminado: 8000)
  • --dev : Habilitar el modo de desarrollo con registro adicional
  • --dependencies : Dependencias de Python adicionales para instalar
  • --env-file : Ruta al archivo .env con variables de entorno

Modo cliente MCP

Conectarse a un servidor MCP utilizando el asistente como motor de razonamiento:

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

Opciones:

  • --model , -m : Modelo a utilizar para el razonamiento (predeterminado: gpt-4o)
  • --host : Dirección de host del servidor MCP (predeterminado: 127.0.0.1)
  • --port , -p : Puerto para el servidor MCP (predeterminado: 8000)

Script de implementación

Para una implementación más sencilla, utilice el script proporcionado:

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

Para habilitar la replicación:

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

Cliente web

Para usar el cliente web, abra web-client.html en su navegador. Asegúrese de que el servidor API esté en ejecución.

Puntos finales de API

Puntos finales de API estándar

  • POST /conversation : Crea una nueva conversación
  • POST /conversation/{conversation_id}/message : Enviar un mensaje a una conversación
  • POST /conversation/{conversation_id}/message/stream : Transmitir una respuesta de mensaje
  • GET /conversation/{conversation_id} : Obtener detalles de la conversación
  • DELETE /conversation/{conversation_id} : Eliminar una conversación
  • GET /health : Punto final de comprobación de estado

Puntos finales del protocolo MCP

  • GET / : Comprobación del estado de salud (protocolo MCP)
  • POST /context : Obtener el contexto para una plantilla de solicitud
  • GET /prompts : Lista de plantillas de indicaciones disponibles
  • GET /prompts/{prompt_id} : Obtener una plantilla de mensaje específica
  • POST /prompts : Crea una nueva plantilla de mensaje
  • PUT /prompts/{prompt_id} : Actualizar una plantilla de mensaje existente
  • DELETE /prompts/{prompt_id} : Eliminar una plantilla de mensaje

Replicación

El sistema de replicación permite ejecutar múltiples instancias del asistente con estado sincronizado. Esto proporciona:

  • Alta disponibilidad
  • Equilibrio de carga
  • Tolerancia a fallos

Para configurar la replicación:

  1. Inicie una instancia principal con --enable-replication
  2. Inicie instancias secundarias con --enable-replication --secondary --peer [primary-host:port]

Herramientas

El asistente incluye varias herramientas:

  • Clima: obtenga el clima actual para una ubicación
  • Ver: Leer archivos del sistema de archivos
  • Editar: Editar archivos
  • Reemplazar: Escribir archivos
  • Bash: Ejecutar comandos bash
  • GlobTool: Coincidencia de patrones de archivos
  • GrepTool: Búsqueda de contenido
  • LS: Listar el contenido del directorio
  • JinaSearch: búsqueda web utilizando Jina.ai
  • JinaFactCheck: Verificación de datos con Jina.ai
  • JinaReadURL: Leer y resumir páginas web

Comandos CLI

  • /help : Mostrar mensaje de ayuda
  • /compact : Compacta la conversación para reducir el uso de tokens
  • /status : Muestra el uso del token y la información de la sesión
  • /config : Mostrar la configuración actual
  • /rl-status : Mostrar el estado del optimizador de la herramienta RL (si está habilitado)
  • /rl-update : Actualiza el modelo RL manualmente (si está habilitado)
  • /rl-stats : Mostrar estadísticas de uso de la herramienta (si está habilitada)
-
security - not tested
F
license - not found
-
quality - not tested

Una implementación de servidor de protocolo de contexto de modelo que permite la conexión entre las API de OpenAI y los clientes MCP para brindar asistencia de codificación con funciones como interacción CLI, integración de API web y arquitectura basada en herramientas.

  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