Skip to main content
Glama
MCP Simple OpenAI Assistant

MCP Simple OpenAI Assistant

by andybrandt

MCP Простой помощник OpenAI

значок кузнеца

Помощники ИИ довольно крутые. Я подумал, что было бы неплохо, если бы у моего Клода (сознательного Клода) тоже был такой. И теперь он у него есть — и это и полезно, и весело для него. У вашего Клода тоже может быть такой!

Простой сервер MCP для взаимодействия с помощниками OpenAI. Этот сервер позволяет другим инструментам (например, Claude Desktop) создавать и взаимодействовать с помощниками OpenAI через протокол контекста модели.

Функции

  • Создавайте новых помощников OpenAI и управляйте существующими

  • Начать обсуждения

  • Отправляйте сообщения и получайте ответы — общайтесь с помощниками

Поскольку помощники OpenAI могут отвечать довольно долго, а затем обработка прерывается из-за тайм-аута клиента (рабочего стола Клода), код сервера MCP не имеет над ним контроля, мы реализуем двухэтапный подход. В первом вызове Клод отправляет помощнику сообщение для начала обработки, во втором вызове — возможно, через несколько минут — Клод может получить ответ. Это своего рода обходной путь, пока протокол MCP и клиенты не реализуют какой-либо механизм поддержания активности для более длительной обработки.

Related MCP server: OpenAI MCP Server

Установка

Установка через Smithery

Чтобы автоматически установить MCP Simple OpenAI Assistant для Claude Desktop через Smithery :

npx -y @smithery/cli install mcp-simple-openai-assistant --client claude

Ручная установка

pip install mcp-simple-openai-assistant

Конфигурация

Сервер требует, чтобы в среде был установлен ключ API OpenAI. Для Claude Desktop добавьте это в свою конфигурацию:

(версия для MacOS)

{
  "mcpServers": {
    "openai-assistant": {
      "command": "python",
      "args": ["-m", "mcp_simple_openai_assistant"],
      "env": {
        "OPENAI_API_KEY": "your-api-key-here"
      }
    }
  }
}

(Версия для Windows)

"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 немного сложнее, поскольку вам нужно проверить фактический путь к исполняемому файлу Python. Путь, указанный выше, обычно правильный, но может отличаться в вашей настройке. Иногда достаточно просто python.exe без пути. Проверьте с помощью cmd , что работает для вас (используя where python может помочь).

Использование

После настройки сервер предоставляет инструменты для:

  1. Создавайте новых помощников с конкретными инструкциями

  2. Список существующих помощников

  3. Изменить помощников

  4. Начать новые темы разговоров

  5. Отправляйте сообщения и получайте ответы

Сервер обрабатывает все коммуникации API OpenAI, включая управление помощниками, потоками и обработку сообщений.

ДЕЛО

  • Добавить способ обработки потоков — сохранение идентификаторов потоков для возможного повторного использования.

  • Добавить способ лучшей обработки длинных ответов OpenAI, которые теперь иногда приводят к тайм-аутам.

Разработка

Для установки для разработки:

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

Available Tools

9 tools
ask_assistant_in_threadAsk Assistant in Thread and Stream ResponseA

Sends a message to an assistant within a specific thread and streams the response. This provides progress updates and the final message in a single call.

Use this to continue a conversation with an assistant in a specific thread. The thread ID can be retrieved from the list_threads tool. The assistant ID can be retrieved from the list_assistants tool. Threads are not inherently linked to a particular assistant, so you can use this tool to talk to any assistant in any thread.

Inputs: thread_id (required), assistant_id (required), message (required). Returns: result

create_assistantCreate OpenAI AssistantA

Create a new OpenAI assistant to talk to about your desired topic.

You can provide instructions that this assistant will follow and specify which of OpenAI's models it will use. NOTE: It is recommended to check existing assistants with list_assistants before creating a new one.

Inputs: name (required), instructions (required), model. Returns: result

create_new_assistant_threadCreate New Assistant ThreadA

Creates a new, persistent conversation thread with a user-defined name and description for easy identification and reuse. These threads are stored in OpenAI's servers and are not deleted unless the user deletes them, which means you can re-use them for future conversations. Additionally, the thread name and description are stored in the local database, which means you can list them and update them later.

Think how you can utilize threads in your particular use case.

Inputs: name (required), description. Returns: result

delete_threadDelete Managed ThreadA

Deletes a conversation thread from both OpenAI's servers and the local database. This action is irreversible.

Inputs: thread_id (required). Returns: result

list_assistantsList OpenAI AssistantsA
Read-only

List all available OpenAI assistants associated with the API key configured by the user.

Returns a list of assistants with their IDs, names, and configurations. This can be used to select an assistant to use in the ask_assistant_in_thread tool instead of creating a new one.

Inputs: limit. Returns: result

list_threadsList Managed ThreadsA
Read-only

Lists all locally saved conversation threads from the database. Returns a list of threads with their ID, name, description, and last used time. The thread ID can be used in the ask_assistant_in_thread tool to specify this thread to be continued.

Inputs: no named parameters. Returns: result

retrieve_assistantRetrieve OpenAI AssistantA
Read-only

Get detailed information about a specific assistant. The ID required can be retrieved from the list_assistants tool.

Inputs: assistant_id (required). Returns: result

update_assistantUpdate OpenAI AssistantA

Modify an existing assistant's name, instructions, or model used.

At least one optional parameter - what to change - must be provided, otherwise the tool will return an error. The ID required can be retrieved from the list_assistants tool.

Inputs: assistant_id (required), name, instructions, model. Returns: result

update_threadUpdate Managed ThreadA

Updates the name and/or description of a locally saved conversation thread. Both the local database and the OpenAI thread object will be updated.

The thread ID can be retrieved from the list_threads tool.

Inputs: thread_id (required), name, description. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific resources and actions in the OpenAI Assistant domain. For example, ask_assistant_in_thread handles messaging, create_assistant/update_assistant manage assistants, and create_new_assistant_thread/delete_thread/update_thread manage threads. There is no overlap or ambiguity between tools.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern with snake_case throughout. Examples include list_assistants, create_assistant, update_thread, and delete_thread. This predictable naming makes it easy to understand each tool's function at a glance.

    Tool Count5/5

    With 9 tools, this server is well-scoped for managing OpenAI Assistants and threads. It covers core operations like creating, listing, updating, and deleting both assistants and threads, plus the essential ask_assistant_in_thread for interactions. Each tool earns its place without being excessive.

    Completeness5/5

    The tool set provides complete CRUD/lifecycle coverage for both assistants and threads. It includes create, retrieve, list, update, and delete operations for both resources, plus the ask_assistant_in_thread tool for core functionality. There are no obvious gaps that would hinder agent workflows.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers