esa-mcp-server 使用说明

项目简介

esa-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 esa.io 知识库的内容集成到 LLM 应用中。通过提供文章搜索和读取工具,使得 LLM 客户端能够访问 esa.io 上的知识,从而增强 LLM 在知识检索和问答等方面的能力。

主要功能点

  • 文章搜索: 允许 LLM 客户端通过关键词在指定的 esa.io 团队知识库中搜索文章。支持多种搜索参数,如关键词、排序方式、页码等。
  • 文章读取: 允许 LLM 客户端根据文章编号获取 esa.io 知识库中特定文章的详细信息。支持单篇文章和批量文章读取。
  • MCP 协议兼容: 完全遵循 Model Context Protocol 协议,确保与任何 MCP 客户端的兼容性和互操作性。
  • 工具化接口: 将 esa.io 的 API 功能封装为易于 LLM 调用的工具,降低了 LLM 集成外部知识库的难度。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的环境中已安装 Node.js 和 npm (Node 包管理器)。
  2. 安装 esa-mcp-server: 由于该仓库没有提供直接下载的代码包,通常 MCP 客户端会通过 'npx' 命令直接运行该服务器,无需手动安装。

服务器配置

MCP 客户端需要配置以下 JSON 对象来启动和连接 esa-mcp-server。这个配置定义了服务器的启动命令和必要的环境变量。

{
  "mcpServers": {
    "esa-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "esa-mcp-server@latest"
      ]
    },
    "env": {
      "ESA_API_KEY": "YOUR_ESA_API_KEY",  // 你的 esa.io API 密钥,请替换为你的实际密钥
      "DEFAULT_ESA_TEAM": "YOUR_ESA_TEAM_NAME" // 你的默认 esa.io 团队名称,请替换为你的实际团队名称
    }
  }
}

配置参数说明:

  • 'mcpServers': 定义 MCP 服务器的配置。
    • 'esa-mcp-server': 服务器的名称,可以自定义。
      • 'command': 启动服务器的命令,这里使用 'npx' 来运行 npm 包。
      • 'args': 传递给 'npx' 的参数,'-y' 表示自动确认安装,'esa-mcp-server@latest' 指定要运行的 npm 包及其版本(latest 表示最新版本)。
      • 'env': 环境变量配置。
        • 'ESA_API_KEY': 必需。用于访问 esa.io API 的密钥。你需要在 esa.io 后台获取 API 密钥并替换 'YOUR_ESA_API_KEY'。
        • 'DEFAULT_ESA_TEAM': 必需。默认的 esa.io 团队名称。如果工具调用时没有指定团队名称,则使用此默认值。请替换 'YOUR_ESA_TEAM_NAME' 为你的实际团队名称。

重要提示:

  • 你需要拥有一个 esa.io 账户,并生成 API 密钥才能使用该 MCP 服务器。
  • 请将 'YOUR_ESA_API_KEY' 和 'YOUR_ESA_TEAM_NAME' 替换为你的实际信息。

基本使用方法

  1. 启动 MCP 客户端: 配置好上述 'mcpServers' JSON 后,启动你的 MCP 客户端应用。客户端会根据配置自动启动 esa-mcp-server 并建立连接。

  2. 在 LLM 中调用工具: 在你的 LLM 应用中,你可以调用以下工具来访问 esa.io 知识库:

    • 'search_esa_posts': 搜索 esa.io 文章。你需要提供 'query' 参数来指定搜索关键词。其他参数如 'teamName', 'order', 'sort', 'page', 'perPage' 是可选的,用于更精细地控制搜索行为。
    • 'read_esa_post': 读取单篇 esa.io 文章。你需要提供 'postNumber' 参数来指定文章编号。'teamName' 参数是可选的。
    • 'read_esa_multiple_posts': 批量读取多篇 esa.io 文章。你需要提供 'postNumbers' 参数(文章编号数组)。'teamName' 参数是可选的。
  3. 处理工具返回结果: 工具调用成功后,服务器会返回 JSON 格式的结果,包含了文章的搜索结果或文章的详细信息。你的 LLM 应用需要解析这些 JSON 结果,并根据需要进行后续处理,例如将文章内容用于问答或摘要生成等任务。

示例工具调用 (search_esa_posts): 假设你想搜索关键词为 "MCP" 的 esa.io 文章,你可以在 MCP 客户端中发起如下工具调用请求 (CallToolRequest):

{
  "name": "search_esa_posts",
  "arguments": {
    "query": "MCP"
  }
}

服务器会返回包含搜索结果的文章列表 (JSON 格式),你可以将结果展示给用户或用于 LLM 的上下文信息。

信息

分类

网页与API