mcpField
G
gpt-chat

gpt-chat

Local
github.com/codeChapAI & Agents0Updated 9w ago

About gpt-chat

gpt-chat is a Rust MCP server that exposes OpenAI's ChatGPT API to MCP clients. Its tools cover chat, image analysis, embeddings, and model discovery, with options for structured JSON output and conversation history.

Key features

  1. 01Chat with conversation history and system prompts
  2. 02Constrain responses with a JSON schema
  3. 03Analyze images from a URL
  4. 04Generate text embeddings
  5. 05List available OpenAI models

Use cases

  1. 01Use ChatGPT from an MCP client
  2. 02Request schema-constrained JSON responses
  3. 03Generate embeddings for text input
  4. 04Analyze an image using a prompt

MCP support

Exposes chat, vision, embedding, and model-listing tools to MCP clients over stdio. It uses the OpenAI API and requires an API key.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcp-server-gpt-chat

An MCP (Model Context Protocol) server for the OpenAI ChatGPT API. Built in Rust, exposes chat completions, vision, embeddings, and model listing as MCP tools.

Communicates via stdio using JSON-RPC 2.0, like all MCP servers.

Tools

ToolDescription
chatSend a chat completion request to ChatGPT with optional multi-turn history, system prompt, structured output (JSON schema), and model selection
chat_with_visionAnalyse an image with ChatGPT's vision capabilities given an image URL and text prompt
embeddingGenerate text embeddings using OpenAI's embedding model
list_modelsList all available OpenAI models and their IDs
chat

Send a chat completion request. Supports multi-turn conversations via a JSON message history array, system prompts, structured output via JSON schema, temperature control, and model selection.

Parameters:

NameTypeRequiredDescription
promptstringyesThe user message to send
modelstringnoModel to use (default: gpt-4o)
system_promptstringnoSystem prompt to set context
messagesstringnoFull conversation history as JSON array of {role, content} objects
temperaturefloatnoSampling temperature (0.0 - 2.0)
max_tokensintegernoMaximum tokens to generate
response_schemastringnoJSON schema string to enforce structured output
chat_with_vision

Analyse an image using ChatGPT's vision capabilities.

Parameters:

NameTypeRequiredDescription
promptstringyesText prompt describing what to analyse
image_urlstringyesURL of the image (must be http:// or https://)
modelstringnoModel to use (default: gpt-4o)
detailstringnoImage detail level: low or high (default: high)
temperaturefloatnoSampling temperature (0.0 - 2.0)
max_tokensintegernoMaximum tokens to generate
embedding

Generate text embeddings.

Parameters:

NameTypeRequiredDescription
inputstringyesText to embed as JSON: a single string or array of strings
modelstringnoEmbedding model to use (default: text-embedding-3-small)
list_models

List all available OpenAI models. No parameters.

Prerequisites

Setup

Create the config file:

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

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

api_key = "sk-..."

Build

cargo build --release

This produces target/release/gpt-chat.

For development:

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

MCP Configuration

Add to your Claude Desktop config (~/.config/Claude/claude_desktop_config.json):

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

Project Structure

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

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.