MCP服务器

一个用于esa.io的模型上下文协议(MCP)服务器,支持文章、标签和评论的管理操作。

  • by koki-develop
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 koki-develop/esa-mcp-server

使用说明

[!重要] 官方MCP服务器已经发布。请继续使用官方服务器。

esa MCP服务器

一种模型上下文协议(MCP)服务器 esa.io.

目录

用法

先决条件

在使用此MCP服务器之前,您需要从您的esa.io团队生成一个个人访问令牌:

  1. 首选 https://<TEAM_NAME>.esa.io/user/applications
  2. 创建新的个人访问令牌
  3. 复制令牌以进行配置

配置

您可以通过npx或Docker运行服务器。

使用npx

将以下配置添加到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>"
      }
    }
  }
}

替换 <your-team-name> 和 <your-personal-access-token> 带有您的团队名称和个人访问令牌。

使用Docker

如果你更喜欢Docker,请使用以下配置:

{
  "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>"
      }
    }
  }
}

只读模式

要启用只允许读取操作的只读模式,请添加 --readonly 旗帜。

使用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>"
      }
    }
  }
}

使用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>"
      }
    }
  }
}

在只读模式下,只有以下操作可用:

  • get_posts -检索帖子
  • get_post -检索特定帖子
  • get_tags -检索标签
  • get_post_comments -检索帖子评论

写入操作(create_post, update_post, delete_post, create_post_comment, update_comment, delete_comment)被禁用。

MCP工具

帖子

工具 说明
get_posts 从esa团队检索帖子列表。支持搜索查询、过滤、排序和分页。返回帖子元数据,包括标题、内容、标签、类别、作者信息和参与度指标(评论、星星、手表)。可选择使用include参数包含注释和观星者。支持嵌套包含,如“comments,comments.stargazers”。注意:帖子内容(body_md)被截断为300个字符,并使用body_truncated字段指示是否进行截断以减小上下文大小。
get_post 按帖子编号从esa团队检索特定帖子。返回完整的帖子详细信息,包括标题、内容(标记)、标签、类别、作者信息、修订历史和参与度指标。可选择包括评论和观星者。支持嵌套包含,如“comments,comments.stargazers”。
create_post 在esa团队中创建一个新职位。需要一个标题,并可选择接受内容、标签、类别、WIP状态和其他元数据。返回创建的帖子信息,包括分配的帖子编号和URL
update_post 更新esa团队中的现有帖子。需要帖子编号,并可选择接受更新的内容、标签、类别、WIP状态和其他元数据。返回更新的帖子信息,包括修订详细信息。
delete_post 从esa团队中删除现有帖子。需要一个邮政编码。该帖子将被永久删除,无法恢复。删除成功后返回确认消息。

标签

工具 说明
get_tags 获取esa团队中使用的所有标签的列表。返回标签及其名称和附加的帖子数量,按帖子数量降序排列。支持分页。

评论

工具 说明
get_post_comments 从esa团队检索特定帖子的评论列表。需要帖子编号并支持分页。返回评论元数据,包括内容、作者信息、时间戳和参与度指标(星号)。
create_post_comment 在esa团队中的现有帖子上创建新评论。需要一个Markdown格式的帖子编号和评论内容。返回创建的评论信息,包括ID、内容、时间戳和作者详细信息。
update_comment 更新esa团队中某个帖子的现有评论。需要一个注释ID和Markdown格式的新内容。返回更新的评论信息,包括内容、时间戳和作者详细信息。
delete_comment 从esa团队中删除现有评论。需要评论ID。该评论将被永久删除,无法恢复。删除成功后返回确认消息。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

版权所有(c)2025佐藤