Esa.io

Acesse a API do esa.io para gerenciar a base de conhecimento da sua equipe.

Documentação

mcp-esa-server-python

Model Context Protocol Server (mcp server) para integração com a API do esa.io. Implementado em Python.

Funcionalidades

Atualmente, oferece os seguintes recursos:

  • Obter informações do usuário (user_get_info)
  • Obter lista de artigos (posts_get_list)
  • Obter detalhes do artigo (posts_get_detail)
  • Criar artigo (posts_create)
  • Atualizar artigo (posts_update)
  • Excluir artigo (posts_delete)

Procedimento de configuração

Pré-requisitos

  • Ter um token de API do esa.io emitido

  • Ter o uv disponível

  • Conexão com a internet

  • Como emitir um token de API do esa.io

    • Acesse a página da sua equipe no esa.io (exemplo: https://<your-team-name>.esa.io/).
    • Clique em SETTINGS na coluna esquerda e selecione "Configurações do usuário" > "Integração de aplicativos externos".
    • Na seção "Personal access tokens", clique em "Generate new token".
    • Insira o nome do token (exemplo: mcp-server) e selecione os escopos de permissão necessários. Este servidor MCP requer pelo menos as seguintes permissões:
      • read (leitura de artigos)
      • write (criação, atualização e exclusão de artigos)
      • read_user (obtenção de informações do usuário) (este item é ativado automaticamente, portanto pode não ser exibido)
    • Clique em "Save".
    • Certifique-se de copiar o token exibido e guardá-lo em um local seguro. Este token é exibido apenas uma vez.
    • Cole o token copiado como o valor de ESA_TOKEN no arquivo .env descrito abaixo.
  • O esa.io oferece um período de teste gratuito de 2 meses após o cadastro. Você pode usar esse período para obter um nome de equipe e token de API de teste.

  • Por segurança, evite expor o token publicamente.

Inicialização do projeto

uv sync

Desenvolvimento (uso local)

Para participar do desenvolvimento ou usar o MCPInspector, configure o ambiente seguindo os passos abaixo.

  1. Configuração das variáveis de ambiente Com base em .env.example, crie o .env no diretório onde deseja executar o servidor (no mesmo local que .env.example).

    ESA_TEAM_NAME="YOUR_ESA_TEAM_NAME" # Replace with your esa.io team name (e.g., "myteam")
    ESA_TOKEN="YOUR_ESA_API_TOKEN"     # Replace with your esa.io API access token
    
  2. Método de execução Após executar o comando abaixo, abra o navegador a partir da URL indicada para usar o MCP Inspector e executar cada comando (como criação de artigo, etc.).

    uv run mcp run main.py
    

Como usar como servidor MCP no editor Cursor

  1. Exemplo de criação do mcp.json

Prepare um arquivo de configuração como o seguinte na raiz do projeto ou em ~/.cursor/mcp.json.

{
  "mcpServers": {
    "mcp-esa-server": {
      "command": "uv",
      "args": [
        "--directory",
        "<プロジェクトの絶対パス>",
        "run",
        "main.py"
      ],
      "env": {
        "ESA_TEAM_NAME": "<your-team-name>",
        "ESA_TOKEN": "<your-esa-token>"
      }
    }
  }
}
  • Substitua <your-team-name> e <your-esa-token> pelo nome da sua equipe e token de API do esa.io.
  • env: define as variáveis de ambiente diretamente. Ao usar este método, evite absolutamente o commit de .cursor/mcp.json.
  1. Iniciar o servidor MCP no editor Cursor
  • No editor Cursor, use a paleta de comandos ou a interface para "Iniciar servidor MCP" ou "Ativar ferramentas de IA".
  • De acordo com a configuração do mcp.json, o servidor será iniciado com uv run main.py.
  • O arquivo .env e as variáveis de ambiente também são carregados automaticamente.
  1. Chamar a API pelo chat de IA ou painel de ferramentas
  • Chamando ferramentas MCP como user_get_info ou posts_get_list no chat de IA, é possível realizar operações integradas com a API do esa.io.
  • Você pode usá-las escrevendo mcp-esa-serverを使って記事の作成をお願いします no chat.

Licença (License)

Este projeto é publicado sob a MIT License.

Código externo utilizado / Dependencies

Parte deste projeto faz referência ao código publicado sob a seguinte licença MIT:

Outros (Misc)

Gerado por (Generated by)

generated by Cursor (gemini-2.5-pro-exp-03-25)