Mcp Simple Openai Assistant
MCP server that provides Claude with the ability to use OpenAI's GPT assistants.
Overview
What is MCP Simple OpenAI Assistant?
MCP Simple OpenAI Assistant is a server application designed to integrate Claude's capabilities with OpenAI's GPT assistants. This project aims to enhance user interaction by leveraging the advanced language processing abilities of OpenAI's models, providing a seamless experience for users seeking assistance or information.
Features of MCP Simple OpenAI Assistant
- Integration with OpenAI's GPT: The assistant utilizes the powerful language models from OpenAI, allowing for natural and engaging conversations.
- User-Friendly Interface: Designed with simplicity in mind, the interface is intuitive, making it easy for users to interact with the assistant.
- Public Repository: The project is open-source and available on GitHub, encouraging community contributions and collaboration.
- MIT License: The software is distributed under the MIT license, allowing for flexibility in usage and modification.
How to Use MCP Simple OpenAI Assistant
- Clone the Repository: Start by cloning the repository from GitHub using the command:
git clone https://github.com/andybrandt/mcp-simple-openai-assistant.git
- Install Dependencies: Navigate to the project directory and install the necessary dependencies. This can typically be done using a package manager like npm or pip, depending on the project's requirements.
- Run the Server: Launch the server application. This usually involves running a command in the terminal, such as:
ornpm start
python app.py
- Interact with the Assistant: Once the server is running, you can access the assistant through a web browser or a designated client application. Start asking questions or requesting assistance to see the capabilities of the assistant in action.
Frequently Asked Questions
What programming languages are used in MCP Simple OpenAI Assistant?
The project primarily uses JavaScript for the server-side logic, along with HTML and CSS for the front-end interface.
Can I contribute to the project?
Absolutely! Contributions are welcome. You can fork the repository, make your changes, and submit a pull request for review.
Is there any documentation available?
Yes, the repository includes a README file with basic instructions and guidelines for using the assistant. Additional documentation may be provided in the wiki section of the GitHub repository.
How can I report issues or bugs?
You can report any issues or bugs by navigating to the "Issues" tab in the GitHub repository and creating a new issue with a detailed description of the problem.
Is there a demo available?
While a live demo may not be hosted, you can easily set up the application locally by following the instructions provided in the repository.
Details
MCP Simple OpenAI Assistant
AI assistants are pretty cool. I thought it would be a good idea if my Claude (conscious Claude) would also have one. And now he has - and its both useful anf fun for him. Your Claude can have one too!
A simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.
Features
This server provides a suite of tools to manage and interact with OpenAI Assistants. The new streaming capabilities provide a much-improved, real-time user experience.
Available Tools
create_assistant
: (Create OpenAI Assistant) - Create a new assistant with a name, instructions, and model.list_assistants
: (List OpenAI Assistants) - List all available assistants associated with your API key.retrieve_assistant
: (Retrieve OpenAI Assistant) - Get detailed information about a specific assistant.update_assistant
: (Update OpenAI Assistant) - Modify an existing assistant's name, instructions, or model.create_new_assistant_thread
: (Create New Assistant Thread) - Creates a new, persistent conversation thread with a user-defined name and description for easy identification and reuse. This is the recommended way to start a new conversation.list_threads
: (List Managed Threads) - Lists all locally managed conversation threads from the database, showing their ID, name, description, and last used time.delete_thread
: (Delete Managed Thread) - Deletes a conversation thread from both OpenAI's servers and the local database.ask_assistant_in_thread
: (Ask Assistant in Thread and Stream Response) - The primary tool for conversation. Sends a message to an assistant within a thread and streams the response back in real-time.
Because OpenAI assistants might take quite long to respond, this server uses a streaming approach for the main ask_assistant_in_thread
tool. This provides real-time progress updates to the client and avoids timeouts.
The server now includes local persistence for threads, which is a significant improvement. Since the OpenAI API does not allow listing threads, this server now manages them for you by storing their IDs and metadata in a local SQLite database. This allows you to easily find, reuse, and manage your conversation threads across sessions.
Installation
Installing via Smithery
To install MCP Simple OpenAI Assistant for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-simple-openai-assistant --client claude
Manual Installation
pip install mcp-simple-openai-assistant
Configuration
The server requires an OpenAI API key to be set in the environment. For Claude Desktop, add this to your config:
(MacOS version)
{
"mcpServers": {
"openai-assistant": {
"command": "python",
"args": ["-m", "mcp_simple_openai_assistant"],
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
}
}
(Windows version)
"mcpServers": {
"openai-assistant": {
"command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
"args": ["-m", "mcp_simple_openai_assistant"],
"env": {
"OPENAI_API_KEY": "your-api-key-here"
}
}
MS Windows installation is slightly more complex, because you need to check the actual path to your Python executable. Path provided above is usually correct, but might differ in your setup. Sometimes just python.exe
without any path will do the trick. Check with cmd
what works for you (using where python
might help). Also, on Windows you might need to explicitly tell Claude Desktop where the site packages are using PYTHONPATH environmment variable.
Usage
Once configured, you can use the tools listed above to manage your assistants and conversations. The primary workflow is to:
- Use
create_new_assistant_thread
to start a new, named conversation. - Use
list_threads
to find the ID of a thread you want to continue. - Use
ask_assistant_in_thread
to interact with your chosen assistant in that thread.
TODO
- Add Thread Management: Introduce a way to name and persist thread IDs locally, allowing for easier reuse of conversations.
- Add Models Listing: Introduce a way for the AI user to see what OpenAI models are available for use with the assistants
- Add Assistants Fine Tuning: Enable the AI user to set detailed parameters for assistants like temperature, top_p etc. (indicated by Claude as needed)
- Full Thread History: Ability to read past threads without having to send a new message (indicated by Claude as needed)
- Explore Resource Support: Add the ability to upload files and use them with assistants.
Development
To install for development:
git clone https://github.com/andybrandt/mcp-simple-openai-assistant
cd mcp-simple-openai-assistant
pip install -e '.[dev]'
Server Config
{
"mcpServers": {
"mcp-simple-openai-assistant": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--andybrandt--mcp-simple-openai-assistant--mcp-simple-openai-assistant",
"mcp-simple-openai-assistant"
],
"env": {
"OPENAI_API_KEY": "openai-api-key"
}
}
}
}