这是一个用于与 Esa 进行交互的 MCP(Middleware Component Protocol)服务器。它能让你通过命令行或其他工具集成 Esa 的功能,比如创建、更新和删除项目、评论,以及管理团队成员。
你可以按照以下步骤快速启动 esa MCP 服务器:
git clone https://github.com/yourusername/esa-mcp.git
cd esa-mcp
npm install
.env 文件:ESA_TOKEN=your_token_here
ESA_TEAM_ID=your_team_id_here
npm start
该服务器提供了丰富的功能模块,涵盖项目管理、评论管理和团队成员管理等方面:
esa_list_projects - 获取团队中的所有项目。
输入参数:
page (number, 可选):要获取的页码。per_page (number, 可选):每页显示的结果数量(最大值 100)。esa_get_project - 获取特定项目的详细信息。
输入参数:
project_id (string, 必填):要获取的项目 ID。include (string, 可选):指定需要关联的数据(例如:"members"、"comments")。esa_create_project - 创建新项目。
输入参数:
name (string, 必填):项目的名称。description (string, 可选):项目的描述。public (boolean, 可选):是否公开项目,默认为 false。esa_update_project - 更新现有项目的信息。
输入参数:
project_id (string, 必填):要更新的项目 ID。name (string, 可选):新的项目名称。description (string, 可选):新的项目描述。public (boolean, 可选):是否公开项目的标志。esa_delete_project - 删除特定项目。
输入参数:
project_id (string, 必填):要删除的项目 ID。esa_list_comments - 获取项目中的所有评论。
输入参数:
project_id (number, 必填):要获取评论的项目 ID。page (number, 可选):页码。per_page (number, 可选):每页显示的结果数量(最大值 100)。esa_get_comment - 获取特定评论的详细信息。
输入参数:
comment_id (string, 必填):要获取的评论 ID。include (string, 可选):指定需要关联的数据(例如:"project"、"author")。esa_create_comment - 创建新的项目评论。
输入参数:
project_id (number, 必填):要评论的项目 ID。body (string, 必填):评论的内容(支持 Markdown 格式)。author (string, 可选):评论作者的屏幕名称。esa_get_members - 获取团队中的所有成员。
输入参数:
page (number, 可选):页码。per_page (number, 可选):每页显示的结果数量(最大值 100)。esa_get_member - 获取特定团队成员的详细信息。
输入参数:
screen_name_or_email (string, 必填):要获取的成员的屏幕名称或电子邮件地址。# 创建名为 "My New Project" 的公开项目
curl --location 'http://localhost:3000/api/projects' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "My New Project",
"description": "A new project for our team.",
"public": true
}'
# 更新项目 ID 123 的名称和描述
curl --location 'http://localhost:3000/api/projects/123' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Updated Project Name",
"description": "This is an updated description."
}'
# 获取项目 ID 456 的所有评论
curl --location 'http://localhost:3000/api/projects/456/comments' \
--header 'Content-Type: application/json'
# 返回状态码 401 和以下内容:
{
"error": "Unauthorized",
"message": "Invalid token provided."
}
# 返回状态码 404 和以下内容:
{
"error": "Not Found",
"message": "Project with ID 123 not found."
}