Esa MCP Server
Um servidor MCP para o serviço de compartilhamento de documentos esa.io.
Documentação
[!IMPORTANT] Um servidor MCP oficial foi lançado. Por favor, use o servidor oficial daqui em diante.
esa MCP Server
Um servidor Model Context Protocol (MCP) para esa.io.
Sumário
Uso
Pré-requisitos
Antes de usar este servidor MCP, você precisa gerar um token de acesso pessoal do seu time esa.io:
- Vá para
https://<TEAM_NAME>.esa.io/user/applications - Crie um novo token de acesso pessoal
- Copie o token para configuração
Configuração
Você pode executar o servidor via npx ou Docker.
Usando npx
Adicione a seguinte configuração ao seu cliente MCP:
{
"mcpServers": {
"esa": {
"command": "npx",
"args": [
"-y",
"@koki-develop/esa-mcp-server@latest"
],
"env": {
"ESA_TEAM": "<your-team-name>",
"ESA_ACCESS_TOKEN": "<your-personal-access-token>"
}
}
}
}
Substitua <your-team-name> e <your-personal-access-token> pelo nome do seu time e token de acesso pessoal.
Usando Docker
Se você preferir Docker, use a seguinte configuração:
{
"mcpServers": {
"esa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ESA_TEAM",
"-e",
"ESA_ACCESS_TOKEN",
"ghcr.io/koki-develop/esa-mcp-server:latest"
],
"env": {
"ESA_TEAM": "<your-team-name>",
"ESA_ACCESS_TOKEN": "<your-personal-access-token>"
}
}
}
}
Modo somente leitura
Para habilitar o modo somente leitura que permite apenas operações de leitura, adicione a flag --readonly.
Usando npx:
{
"mcpServers": {
"esa": {
"command": "npx",
"args": [
"-y",
"@koki-develop/esa-mcp-server@latest",
"--readonly"
],
"env": {
"ESA_TEAM": "<your-team-name>",
"ESA_ACCESS_TOKEN": "<your-personal-access-token>"
}
}
}
}
Usando Docker:
{
"mcpServers": {
"esa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ESA_TEAM",
"-e",
"ESA_ACCESS_TOKEN",
"ghcr.io/koki-develop/esa-mcp-server:latest",
"--readonly"
],
"env": {
"ESA_TEAM": "<your-team-name>",
"ESA_ACCESS_TOKEN": "<your-personal-access-token>"
}
}
}
}
No modo somente leitura, apenas as seguintes operações estão disponíveis:
get_posts- recuperar postsget_post- recuperar um post específicoget_tags- recuperar tagsget_post_comments- recuperar comentários de posts
Operações de escrita (create_post, update_post, delete_post, create_post_comment, update_comment, delete_comment) estão desabilitadas.
Ferramentas MCP
Posts
| Ferramenta | Descrição |
|---|---|
get_posts | Recupera uma lista de posts do time esa. Suporta consultas de busca, filtragem, ordenação e paginação. Retorna metadados do post incluindo título, conteúdo, tags, categorias, informações do autor e métricas de engajamento (comentários, estrelas, observações). Opcionalmente inclui comentários e stargazers com o parâmetro include. Suporta inclusão aninhada como 'comments,comments.stargazers'. Nota: O conteúdo do post (body_md) é truncado para 300 caracteres com um campo body_truncated indicando se a truncagem ocorreu para reduzir o tamanho do contexto. |
get_post | Recupera um post específico do time esa pelo número do post. Retorna detalhes completos do post incluindo título, conteúdo (markdown), tags, categoria, informações do autor, histórico de revisões e métricas de engajamento. Opcionalmente inclui comentários e stargazers. Suporta inclusão aninhada como 'comments,comments.stargazers'. |
create_post | Cria um novo post no time esa. Requer um título e opcionalmente aceita conteúdo, tags, categoria, status WIP e outros metadados. Retorna as informações do post criado incluindo o número do post atribuído e a URL. |
update_post | Atualiza um post existente no time esa. Requer um número de post e opcionalmente aceita conteúdo atualizado, tags, categoria, status WIP e outros metadados. Retorna as informações do post atualizado incluindo detalhes da revisão. |
delete_post | Exclui um post existente do time esa. Requer um número de post. O post será excluído permanentemente e não poderá ser recuperado. Retorna uma mensagem de confirmação após a exclusão bem-sucedida. |
Tags
| Ferramenta | Descrição |
|---|---|
get_tags | Obtém uma lista de todas as tags usadas no time esa. Retorna tags com seus nomes e o número de posts aos quais estão anexadas, ordenados pela contagem de posts em ordem decrescente. Suporta paginação. |
Comentários
| Ferramenta | Descrição |
|---|---|
get_post_comments | Recupera uma lista de comentários para um post específico do time esa. Requer um número de post e suporta paginação. Retorna metadados do comentário incluindo conteúdo, informações do autor, carimbos de data/hora e métricas de engajamento (estrelas). |
create_post_comment | Cria um novo comentário em um post existente no time esa. Requer um número de post e conteúdo do comentário em formato Markdown. Retorna as informações do comentário criado incluindo ID, conteúdo, carimbos de data/hora e detalhes do autor. |
update_comment | Atualiza um comentário existente em um post no time esa. Requer um ID de comentário e novo conteúdo em formato Markdown. Retorna as informações do comentário atualizado incluindo conteúdo, carimbos de data/hora e detalhes do autor. |
delete_comment | Exclui um comentário existente do time esa. Requer um ID de comentário. O comentário será excluído permanentemente e não poderá ser recuperado. Retorna uma mensagem de confirmação após a exclusão bem-sucedida. |
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Copyright (c) 2025 Koki Sato