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
Related MCP server: MCP Simple OpenAI Assistant
Instalación
Clonar este repositorio
Instalar dependencias:
pip install -r requirements.txtCrea un archivo
.envcon 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-20240229Uso
Modo CLI
Ejecute la CLI con el proveedor predeterminado (determinado a partir de las claves API disponibles):
python claude.py chatEspecifique un proveedor y un modelo:
python claude.py chat --provider openai --model gpt-4oEstablezca un límite de presupuesto para administrar los costos:
python claude.py chat --budget 5.00Modo de servidor MCP
Ejecutar como un servidor de protocolo de contexto de modelo:
python claude.py serveComience en modo de desarrollo con el Inspector MCP:
python claude.py serve --devConfigurar el host y el puerto:
python claude.py serve --host 0.0.0.0 --port 8000Especifique dependencias adicionales:
python claude.py serve --dependencies pandas numpyCargar variables de entorno desde el archivo:
python claude.py serve --env-file .envModo cliente MCP
Conéctese a un servidor MCP usando a Claude como motor de razonamiento:
python claude.py mcp-client path/to/server.pyEspecifique un modelo de Claude:
python claude.py mcp-client path/to/server.py --model claude-3-5-sonnet-20241022Pruebe 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.pyModo MCP multiagente
Inicie un cliente multiagente con agentes sincronizados:
python claude.py mcp-multi-agent path/to/server.pyUtilice un archivo de configuración de agente personalizado:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.jsonEjemplo 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.jsonHerramientas 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 serverUso 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:
Instalar y ejecutar el servidor MCP:
python claude.py serveAbra la página de configuración en su navegador:
http://localhost:8000Siga 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:
Asegúrese de tener su clave API de Anthropic en el entorno o archivo .env
Inicie el servidor MCP al que desea conectarse
Conectarse usando el cliente MCP:
python claude.py mcp-client path/to/server.pyEscriba consultas en la interfaz de chat interactiva
Uso del modo multiagente
Para tareas complejas, el modo multiagente permite que varios agentes especializados colaboren:
Cree un archivo de configuración del agente o utilice el ejemplo proporcionado
Inicie su servidor MCP
Inicie el cliente multiagente:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.jsonUtilice la interfaz de comando para interactuar con múltiples agentes:
Escriba un mensaje para transmitir a todos los agentes
Utilice
/talk Agent_Name messagepara comunicación directaUtilice
/agentspara ver todos los agentes disponiblesUtilice
/historypara ver el historial de conversaciones
Contribuyendo
Bifurcar el repositorio
Crear una rama de características
Implementa tus cambios con pruebas
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
Clonar el repositorio
Instalar dependencias:
pip install -r requirements.txtEstablezca su clave API de OpenAI:
export OPENAI_API_KEY=your_api_key
Uso
Modo CLI
Ejecute el asistente en modo CLI interactivo:
python cli.pyOpciones:
--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 serveOpciones:
--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-serveOpciones:
--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.pyOpciones:
--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 4Para 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:8000Cliente 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ónPOST /conversation/{conversation_id}/message: Enviar un mensaje a una conversaciónPOST /conversation/{conversation_id}/message/stream: Transmitir una respuesta de mensajeGET /conversation/{conversation_id}: Obtener detalles de la conversaciónDELETE /conversation/{conversation_id}: Eliminar una conversaciónGET /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 solicitudGET /prompts: Lista de plantillas de indicaciones disponiblesGET /prompts/{prompt_id}: Obtener una plantilla de mensaje específicaPOST /prompts: Crea una nueva plantilla de mensajePUT /prompts/{prompt_id}: Actualizar una plantilla de mensaje existenteDELETE /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:
Inicie una instancia principal con
--enable-replicationInicie 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)