GPT Chat MCP

Servidor MCP para a API do OpenAI ChatGPT — chat, visão e embeddings

Documentação

mcp-server-gpt-chat

Um servidor MCP (Model Context Protocol) para a API do OpenAI ChatGPT. Desenvolvido em Rust, expõe conclusões de chat, visão, embeddings e listagem de modelos como ferramentas MCP.

Comunica-se via stdio usando JSON-RPC 2.0, como todos os servidores MCP.

Ferramentas

FerramentaDescrição
chatEnvia uma solicitação de conclusão de chat ao ChatGPT com histórico opcional de múltiplas mensagens, prompt de sistema, saída estruturada (esquema JSON) e seleção de modelo
chat_with_visionAnalisa uma imagem com os recursos de visão do ChatGPT, fornecendo uma URL de imagem e um prompt de texto
embeddingGera embeddings de texto usando o modelo de embedding da OpenAI
list_modelsLista todos os modelos OpenAI disponíveis e seus IDs

chat

Envia uma solicitação de conclusão de chat. Suporta conversas de múltiplas mensagens via um array de histórico de mensagens em JSON, prompts de sistema, saída estruturada via esquema JSON, controle de temperatura e seleção de modelo.

Parâmetros:

NomeTipoObrigatórioDescrição
promptstringsimA mensagem do usuário a ser enviada
modelstringnãoModelo a ser usado (padrão: gpt-4o)
system_promptstringnãoPrompt de sistema para definir contexto
messagesstringnãoHistórico completo da conversa como array JSON de objetos {role, content}
temperaturefloatnãoTemperatura de amostragem (0.0 - 2.0)
max_tokensintegernãoMáximo de tokens a gerar
response_schemastringnãoString de esquema JSON para impor saída estruturada

chat_with_vision

Analisa uma imagem usando os recursos de visão do ChatGPT.

Parâmetros:

NomeTipoObrigatórioDescrição
promptstringsimPrompt de texto descrevendo o que analisar
image_urlstringsimURL da imagem (deve ser http:// ou https://)
modelstringnãoModelo a ser usado (padrão: gpt-4o)
detailstringnãoNível de detalhe da imagem: low ou high (padrão: high)
temperaturefloatnãoTemperatura de amostragem (0.0 - 2.0)
max_tokensintegernãoMáximo de tokens a gerar

embedding

Gera embeddings de texto.

Parâmetros:

NomeTipoObrigatórioDescrição
inputstringsimTexto para incorporar como JSON: uma única string ou array de strings
modelstringnãoModelo de embedding a ser usado (padrão: text-embedding-3-small)

list_models

Lista todos os modelos OpenAI disponíveis. Sem parâmetros.

Pré-requisitos

Configuração

Crie o arquivo de configuração:

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

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

api_key = "sk-..."

Compilação

cargo build --release

Isso produz target/release/gpt-chat.

Para desenvolvimento:

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

Configuração do MCP

Adicione à configuração do seu Claude Desktop (~/.config/Claude/claude_desktop_config.json):

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

Estrutura do Projeto

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

Licença

MIT