GPT Chat MCP

Servidor MCP para la API de OpenAI ChatGPT: chat, visión y embeddings

Documentación

mcp-server-gpt-chat

Un servidor MCP (Model Context Protocol) para la API de OpenAI ChatGPT. Construido en Rust, expone completaciones de chat, visión, embeddings y listado de modelos como herramientas MCP.

Se comunica mediante stdio usando JSON-RPC 2.0, como todos los servidores MCP.

Herramientas

HerramientaDescripción
chatEnvía una solicitud de completación de chat a ChatGPT con historial multi-turno opcional, prompt de sistema, salida estructurada (esquema JSON) y selección de modelo
chat_with_visionAnaliza una imagen con las capacidades de visión de ChatGPT dado un URL de imagen y un prompt de texto
embeddingGenera embeddings de texto usando el modelo de embedding de OpenAI
list_modelsLista todos los modelos de OpenAI disponibles y sus IDs

chat

Envía una solicitud de completación de chat. Soporta conversaciones multi-turno mediante un arreglo JSON de historial de mensajes, prompts de sistema, salida estructurada mediante esquema JSON, control de temperatura y selección de modelo.

Parámetros:

NombreTipoRequeridoDescripción
promptstringEl mensaje del usuario a enviar
modelstringnoModelo a usar (predeterminado: gpt-4o)
system_promptstringnoPrompt de sistema para establecer contexto
messagesstringnoHistorial completo de conversación como arreglo JSON de objetos {role, content}
temperaturefloatnoTemperatura de muestreo (0.0 - 2.0)
max_tokensintegernoMáximo de tokens a generar
response_schemastringnoCadena de esquema JSON para forzar salida estructurada

chat_with_vision

Analiza una imagen usando las capacidades de visión de ChatGPT.

Parámetros:

NombreTipoRequeridoDescripción
promptstringPrompt de texto que describe qué analizar
image_urlstringURL de la imagen (debe ser http:// o https://)
modelstringnoModelo a usar (predeterminado: gpt-4o)
detailstringnoNivel de detalle de la imagen: low o high (predeterminado: high)
temperaturefloatnoTemperatura de muestreo (0.0 - 2.0)
max_tokensintegernoMáximo de tokens a generar

embedding

Genera embeddings de texto.

Parámetros:

NombreTipoRequeridoDescripción
inputstringTexto a embeber como JSON: una sola cadena o un arreglo de cadenas
modelstringnoModelo de embedding a usar (predeterminado: text-embedding-3-small)

list_models

Lista todos los modelos de OpenAI disponibles. Sin parámetros.

Requisitos previos

Configuración

Crea el archivo de configuración:

mkdir -p ~/.config/mcp-server-gpt-chat

Crea ~/.config/mcp-server-gpt-chat/config.toml:

api_key = "sk-..."

Compilación

cargo build --release

Esto produce target/release/gpt-chat.

Para desarrollo:

cargo build              # debug build
cargo run                # run in dev mode
RUST_LOG=debug cargo run # run with debug logging

Configuración de MCP

Agrega a tu configuración de Claude Desktop (~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "gpt-chat": {
      "command": "/path/to/gpt-chat"
    }
  }
}

Estructura del Proyecto

src/
  main.rs    - entry point, config loading, stdio transport setup
  server.rs  - MCP tool definitions (chat, chat_with_vision, embedding, list_models)
  api.rs     - OpenAI HTTP client, request/response types, response formatters
  params.rs  - tool parameter types with serde and JSON Schema derives
  config.rs  - TOML config loading

Licencia

MIT