使用说明
项目简介
esa-mcp Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它作为 LLM 应用的后端,提供了访问和操作 Esa.io 知识库的桥梁。通过该服务器,LLM 客户端可以利用标准化的 MCP 协议,安全、便捷地检索、读取、创建、更新和删除 Esa.io 上的文章和评论,从而扩展 LLM 在知识管理和团队协作场景下的应用能力。
主要功能点
- 文章检索: 支持在指定的 Esa.io 团队中,根据关键词、排序方式和分页参数检索文章。
- 文章读取: 允许通过文章编号读取 Esa.io 中的单篇文章或多篇文章的详细内容。
- 文章创建: 支持在 Esa.io 中创建新的文章,可设置文章标题、内容、标签、分类、WIP 状态和消息。
- 文章更新: 允许更新 Esa.io 中已存在的文章,可修改文章标题、内容、标签、分类、WIP 状态和消息。
- 文章删除: 支持删除 Esa.io 中指定的文章。
- 评论获取: 可以获取 Esa.io 团队的所有评论或指定文章的评论。
安装步骤
- 安装 Node.js 和 pnpm: 确保你的开发环境中已安装 Node.js 和 pnpm 包管理器。你可以访问 Node.js 官网 和 pnpm 官网 获取安装指南。
- 构建项目: 克隆该 GitHub 仓库到本地后,在项目根目录下运行以下命令安装依赖并构建项目:
构建成功后,会在 'dist' 目录下生成服务器的 JavaScript 代码 'index.js'。pnpm build
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令及其参数,以便建立连接。以下是 'esa-mcp-server' 的配置信息示例,请根据你的实际环境进行调整。
{ "mcpServers": { "esa-mcp-server": { "command": "/path/to/node", // Node.js 可执行文件的绝对路径,例如 /usr/bin/node 或使用 mise 等工具管理的 node 路径 "args": ["/path/to/esa-mcp/dist/index.js"], // 'index.js' 文件绝对路径,请替换为你的实际路径 "env": { "ESA_API_KEY": "YOUR_ESA_API_TOKEN", // 你的 Esa.io API Token,**必填**,请替换为你的实际 Token "DEFAULT_ESA_TEAM": "YOUR_ESA_TEAM_NAME" // 默认的 Esa.io 团队名称,**必填**,请替换为你的实际团队名称 } } } }
配置参数说明:
- 'server name': 服务器名称,例如 "esa-mcp-server",客户端用此名称引用该服务器。
- 'command': 启动服务器的命令,这里是 Node.js 的可执行文件路径。
- 'args': 传递给 'command' 的参数,这里是 'index.js' 文件的路径,指向构建后的服务器代码。
- 'env': 环境变量配置,用于服务器运行时读取必要的配置信息。
- 'ESA_API_KEY': 必须配置,你的 Esa.io API 访问令牌,用于服务器认证并访问 Esa.io API。你需要在 Esa.io 后台获取 API Token。
- 'DEFAULT_ESA_TEAM': 必须配置,默认使用的 Esa.io 团队名称。如果工具调用时没有显式指定团队名称,则默认使用此配置。
注意:
- 请将 '/path/to/node' 替换为你的 Node.js 可执行文件的实际路径。可以使用 'which node' 命令查找。
- 请将 '/path/to/esa-mcp/dist/index.js' 替换为 'index.js' 文件在你本地文件系统中的绝对路径。
- 请将 'YOUR_ESA_API_TOKEN' 和 'YOUR_ESA_TEAM_NAME' 替换为你自己的 Esa.io API Token 和团队名称。
基本使用方法
- 启动 MCP 服务器: MCP 客户端根据上述配置,通过 'command' 和 'args' 启动 'esa-mcp-server'。服务器将监听 Stdio,等待客户端请求。
- 客户端调用工具: LLM 应用(作为 MCP 客户端)可以使用 MCP 协议向 'esa-mcp-server' 发送 JSON-RPC 请求,调用预定义的工具,例如 'search_esa_posts' (检索文章), 'read_esa_post' (读取文章), 'create_esa_post' (创建文章) 等。
- 服务器处理请求: 'esa-mcp-server' 接收到客户端请求后,会根据请求的工具和参数,调用 Esa.io API 执行相应的操作。
- 返回结果: 服务器将 Esa.io API 的响应数据格式化为 MCP 协议规定的 JSON-RPC 响应,返回给客户端。客户端可以解析响应,并将结果用于 LLM 应用的后续处理。
具体工具的调用方式和参数,请参考 'src/server.ts' 文件中 'server.tool()' 的定义和工具描述。
信息
分类
生产力应用