OpenAI

Uma ponte para as APIs de Chat Completion e Assistants da OpenAI.

Documentação

Servidor MCP para OpenAI

Este projeto fornece um servidor compatível com o Protocolo de Comunicação Máquina a Máquina (MCP) que atua como uma ponte para várias funcionalidades da API da OpenAI. Ele permite que clientes MCP interajam com as APIs de Conclusão de Chat e Assistentes da OpenAI por meio de um conjunto padronizado de ferramentas.

Recursos

O servidor expõe várias ferramentas para interagir com a API da OpenAI:

  • Conclusão de Chat: Faça uma pergunta direta a um modelo especificado (gpt-4, gpt-3.5-turbo).
  • Gerenciamento de Assistentes: Crie, liste, recupere, atualize e exclua assistentes.
  • Gerenciamento de Arquivos: Envie, liste e exclua arquivos associados aos assistentes.
  • Gerenciamento de Ferramentas: Ative ou desative ferramentas para assistentes, como file_search.

Instalação

Para instalar as dependências necessárias, navegue até a raiz do projeto e execute:

pip install .

Isso instalará todos os pacotes definidos em pyproject.toml, incluindo mcp, openai e click.

Uso

Para iniciar o servidor, você precisa fornecer sua chave de API da OpenAI. Você pode fazer isso definindo uma variável de ambiente ou passando-a como um argumento de linha de comando.

Usando uma variável de ambiente:

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

Usando um argumento de linha de comando:

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

O servidor iniciará e escutará mensagens MCP via stdio.

Uso no Cursor

Para configurar este servidor em um cliente MCP como o Cursor, use a seguinte configuração. Substitua "LOCAL PATH" pelo caminho absoluto para o diretório deste projeto e "OPENAI API KEY" pela sua chave real.

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

Ferramentas Disponíveis

Aqui está uma lista detalhada das ferramentas expostas pelo servidor:

FerramentaDescriçãoParâmetros
ask-openaiFaça uma pergunta direta.query (string), model (enum: gpt-4.1, gpt-4.1-mini, gpt-4o, etc.), temperature (number), max_tokens (integer)
list-assistantsListe todos os assistentes disponíveis.Nenhum
retrieve-assistantRecupere um assistente pelo seu ID.assistant_id (string)
create-assistantCrie um novo assistente.name (string), instructions (string), model (string), temperature (number), file_ids (array of strings), enable_file_search (boolean)
update-assistantAtualize um assistente existente.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-assistantExclua um assistente pelo seu ID.assistant_id (string)
upload-fileEnvie um arquivo para uso com assistentes.file_path (string)
list-filesListe todos os arquivos disponíveis para assistentes.Nenhum
delete-fileExclua um arquivo pelo seu ID.file_id (string)

Preços dos Modelos

Abaixo está uma tabela de preços estimada para alguns dos modelos disponíveis através deste servidor. Os preços são por 1 milhão de tokens. Verifique os preços mais recentes na página oficial de preços da OpenAI, pois eles podem mudar.

ModeloPreço de Entrada / 1M tokensPreço de Saída / 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

Desenvolvimento

Para contribuir com este projeto, clone o repositório e instale-o em modo editável:

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

Testes

O projeto inclui um arquivo de teste básico para verificar a conexão com a API da OpenAI. Para executar os testes, use pytest:

pytest

Certifique-se de ter sua variável de ambiente OPENAI_API_KEY definida.

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.