mcp-openai-server
The OpenAI MCP Server is designed to standardize interactions with OpenAI's language models through the Model Context Protocol (MCP). It provides secure key management, support for chat completions, model listing, and embedding generation using the official MCP SDK.
OpenAI MCP Server
A Model Context Protocol (MCP) server implementation for the OpenAI API. This server provides a standardized interface between Augment and OpenAI's language models using the official MCP SDK.
What is MCP?
The Model Context Protocol (MCP) is a standardized API specification that provides a unified way to interact with various large language models (LLMs). It allows applications like Augment to work with different LLM providers through a consistent interface.
MCP acts as a "universal adapter" for LLMs - it translates application requests into the specific format each LLM provider requires.
Features
- 🔄 Uses the official MCP SDK for compatibility
- Secure API key management
- 📊 Support for chat completions
- 📋 Model listing
- 🧠 Embedding generation
- ⚠️ Proper error handling and logging
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
- OpenAI API key
Installation
- Clone this repository or copy the files to your project directory
- Install dependencies:
npm install
- Create a
.env
file based on the.env.example
provided:
cp .env.example .env
- Add your OpenAI API key to the
.env
file:
OPENAI_API_KEY=your_openai_api_key_here
Running the Server
Start the server with:
npm start
For development with auto-restart on file changes:
npm run dev
Using with Augment
To use this MCP server with Augment, add the following to your Augment settings.json file:
"augment.advanced": {
"mcpServers": [
{
"name": "openai-mcp",
"command": "node",
"args": ["/path/to/openai-mcp-server.js"],
"env": {
"OPENAI_API_KEY": "your_openai_api_key_here",
"DEBUG": "true"
}
}
]
}
Replace /path/to/openai-mcp-server.js
with the actual path to the server file on your system.
Available Tools
This MCP server provides the following tools to Augment:
1. List Models
Lists all available OpenAI models.
2. Chat Completion
Generates responses using OpenAI's chat completion API. Supports parameters like:
model
: The model to use (e.g., gpt-3.5-turbo, gpt-4)messages
: Array of conversation messagestemperature
: Controls randomness (0-1)max_tokens
: Maximum number of tokens to generate
3. Create Embedding
Generates embeddings for text using OpenAI's embedding API. Supports parameters like:
model
: The model to use (e.g., text-embedding-ada-002)input
: The text to embed (string or array of strings)
Testing
A sample client is provided in client-example.js
to test your MCP server. Run it with:
node client-example.js
Understanding the Code
The server consists of several key components:
- MCP SDK Integration: Uses the official MCP SDK for standardized communication
- Tool Handlers: Implements handlers for each supported tool
- OpenAI API Integration: Communicates with OpenAI's API
- Error Handling: Provides consistent error responses
- Logging: Logs operations for debugging
Potential Improvements
See mcp-server-improvement-suggestions.md
for a list of potential improvements that could be made to this implementation.
License
MIT