Skip to main content
Glama
snilld-ai
by snilld-ai

MCP Server for OpenAI

This project provides a server compliant with the Machine-to-Machine Communications Protocol (MCP) that acts as a bridge to various OpenAI API functionalities. It allows MCP clients to interact with OpenAI's Chat Completion and Assistants APIs through a standardized set of tools.

Features

The server exposes several tools to interact with the OpenAI API:

  • Chat Completion: Ask a direct question to a specified model (gpt-4, gpt-3.5-turbo).

  • Assistant Management: Create, list, retrieve, update, and delete assistants.

  • File Management: Upload, list, and delete files associated with assistants.

  • Tool Management: Enable or disable tools for assistants, such as file_search.

Installation

To install the necessary dependencies, navigate to the project root and run:

pip install .

This will install all the packages defined in pyproject.toml, including mcp, openai, and click.

Usage

To start the server, you need to provide your OpenAI API key. You can do this by setting an environment variable or by passing it as a command-line argument.

Using an environment variable:

export OPENAI_API_KEY='your-api-key-here' mcp-server-openai

Using a command-line argument:

mcp-server-openai --openai-api-key 'your-api-key-here'

The server will start and listen for MCP messages over stdio.

Usage in Cursor

To configure this server in an MCP client like Cursor, use the following configuration. Replace "LOCAL PATH" with the absolute path to this project's directory and "OPENAI API KEY" with your actual key.

{ "mcpServers": { "openai-server": { "command": "mcp-server-openai", "args": [], "env": { "PYTHONPATH": "LOCAL PATH", "OPENAI_API_KEY": "OPENAI API KEY" } } } }

Available Tools

Here is a detailed list of the tools exposed by the server:

Tool

Description

Parameters

ask-openai

Ask a direct question.

query

(string),

model

(enum:

gpt-4.1

,

gpt-4.1-mini

,

gpt-4o

, etc.),

temperature

(number),

max_tokens

(integer)

list-assistants

List all available assistants.

None

retrieve-assistant

Retrieve an assistant by its ID.

assistant_id

(string)

create-assistant

Create a new assistant.

name

(string),

instructions

(string),

model

(string),

temperature

(number),

file_ids

(array of strings),

enable_file_search

(boolean)

update-assistant

Update an existing assistant.

assistant_id

(string),

name

(string, optional),

instructions

(string, optional),

model

(string, optional),

temperature

(number, optional),

file_ids

(array of strings, optional),

enable_file_search

(boolean, optional)

delete-assistant

Delete an assistant by its ID.

assistant_id

(string)

upload-file

Upload a file for use with assistants.

file_path

(string)

list-files

List all files available for assistants.

None

delete-file

Delete a file by its ID.

file_id

(string)

Model Pricing

Below is an estimated pricing table for some of the models available through this server. Prices are per 1 million tokens. Please verify the latest prices on the official OpenAI pricing page, as they can change.

Model

Input Price / 1M tokens

Output Price / 1M tokens

gpt-4o

$5.00

$15.00

gpt-4o-mini

$0.15

$0.60

gpt-4-turbo

$10.00

$30.00

gpt-3.5-turbo

$0.50

$1.50

Development

To contribute to this project, clone the repository and install it in editable mode:

git clone https://github.com/snilld-ai/openai-assistant-mcp cd openai-assistant-mcp pip install -e .

Testing

The project includes a basic test file to verify the connection to the OpenAI API. To run the tests, use pytest:

pytest

Make sure you have your OPENAI_API_KEY environment variable set.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/snilld-ai/openai-assistant-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server