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
| Ferramenta | Descrição |
|---|---|
chat | Envia 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_vision | Analisa uma imagem com os recursos de visão do ChatGPT, fornecendo uma URL de imagem e um prompt de texto |
embedding | Gera embeddings de texto usando o modelo de embedding da OpenAI |
list_models | Lista 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:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | A mensagem do usuário a ser enviada |
model | string | não | Modelo a ser usado (padrão: gpt-4o) |
system_prompt | string | não | Prompt de sistema para definir contexto |
messages | string | não | Histórico completo da conversa como array JSON de objetos {role, content} |
temperature | float | não | Temperatura de amostragem (0.0 - 2.0) |
max_tokens | integer | não | Máximo de tokens a gerar |
response_schema | string | não | String de esquema JSON para impor saída estruturada |
chat_with_vision
Analisa uma imagem usando os recursos de visão do ChatGPT.
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
prompt | string | sim | Prompt de texto descrevendo o que analisar |
image_url | string | sim | URL da imagem (deve ser http:// ou https://) |
model | string | não | Modelo a ser usado (padrão: gpt-4o) |
detail | string | não | Nível de detalhe da imagem: low ou high (padrão: high) |
temperature | float | não | Temperatura de amostragem (0.0 - 2.0) |
max_tokens | integer | não | Máximo de tokens a gerar |
embedding
Gera embeddings de texto.
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
input | string | sim | Texto para incorporar como JSON: uma única string ou array de strings |
model | string | não | Modelo 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
- Rust (edição 2024)
- Uma chave de API da OpenAI em platform.openai.com
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