trackmcp
Back to directory
codeChap

mcp-server-gpt-chat

View on GitHub

MCP server for OpenAI ChatGPT API — chat, vision, and embeddings

0 stars RustOthers Updated Aug 26, 2026

Documentation

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
`chat`Send a chat completion request to ChatGPT with optional multi-turn history, system prompt, structured output (JSON schema), and model selection
`chat_with_vision`Analyse an image with ChatGPT's vision capabilities given an image URL and text prompt
`embedding`Generate text embeddings using OpenAI's embedding model
`list_models`List 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
`prompt`stringyesThe user message to send
`model`stringnoModel to use (default: `gpt-4o`)
`system_prompt`stringnoSystem prompt to set context
`messages`stringnoFull conversation history as JSON array of `{role, content}` objects
`temperature`floatnoSampling temperature (0.0 - 2.0)
`max_tokens`integernoMaximum tokens to generate
`response_schema`stringnoJSON schema string to enforce structured output

chat_with_vision

Analyse an image using ChatGPT's vision capabilities.

Parameters:

NameTypeRequiredDescription
`prompt`stringyesText prompt describing what to analyse
`image_url`stringyesURL of the image (must be http:// or https://)
`model`stringnoModel to use (default: `gpt-4o`)
`detail`stringnoImage detail level: `low` or `high` (default: `high`)
`temperature`floatnoSampling temperature (0.0 - 2.0)
`max_tokens`integernoMaximum tokens to generate

embedding

Generate text embeddings.

Parameters:

NameTypeRequiredDescription
`input`stringyesText to embed as JSON: a single string or array of strings
`model`stringnoEmbedding model to use (default: `text-embedding-3-small`)

list_models

List all available OpenAI models. No parameters.

Prerequisites

Setup

Create the config file:

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

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

toml
api_key = "sk-..."

Build

bash
cargo build --release

This produces `target/release/gpt-chat`.

For development:

bash
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`):

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

Project Structure

code
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

Frequently asked questions

What is mcp-server-gpt-chat?

mcp-server-gpt-chat is MCP server for OpenAI ChatGPT API — chat, vision, and embeddings

How do I install mcp-server-gpt-chat?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is mcp-server-gpt-chat open source?

Yes — it is hosted on GitHub at https://github.com/codeChap/mcp-server-gpt-chat.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP