图书搜索下载服务

LibGen MCP Server是一个允许用户搜索LibGen(Library Genesis)上的图书并尝试直接下载到本地下载文件夹的服务。

  • by Abhinav-Prabhakar
  • Rust
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 CodeDreamer06/LibgenMCP

使用说明

LibGen MCP服务器

此MCP(模型上下文协议)服务器允许您在LibGen(Library Genesis)上搜索书籍,并尝试将其直接下载到计算机的下载文件夹中。

免责声明: 通过此工具与LibGen交互依赖于web抓取,因为LibGen不提供官方的API。LibGen网站的结构可能随时发生变化,这可能会破坏此服务器的功能。自行决定使用,并预期图书搜索和下载中可能出现的不一致或失败。

先决条件

  • Node.js(建议使用v16或更高版本)
  • npm(附带Node.js)

MCP配置

要将此服务器与LLM或其他MCP兼容客户端一起使用,请使用以下配置进行注册。此安装程序将在临时环境中自动下载并运行服务器,而不需要手动全局安装:

{
  "mcpServers": {
    "libgen-book-finder": {
      "command": "sh",
      "args": [
        "-c",
        "cd $(mktemp -d) && npm install libgen-mcp-server && npx libgen-mcp-server-cli"
      ]
      // "env": {} // Add environment variables here if your server needs them in the future
    }
  }
}

命令说明:

  • sh -c "...":将提供的字符串作为shell命令执行。
  • cd $(mktemp -d):创建一个唯一的临时目录并将当前目录更改到其中。这将使安装保持隔离。
  • npm install libgen-mcp-server:将您的包(及其依赖项)安装到此临时目录中。
  • npx libgen-mcp-server-cli:执行命令行界面(libgen-mcp-server-cli)这是通过安装您的软件包提供的。 npx 处理查找和运行二进制文件。

这确保了MCP客户端始终使用最新版本的 libgen-mcp-server 每次启动时都可以在npm上使用(或根据 npm install如果临时目录未立即清除,则在同一客户端会话中后续运行的缓存行为)。

可用工具

searchAndDownloadBook

在LibGen中搜索指定的书籍,并尝试以首选格式(PDF或EPUB)将其下载到系统的默认下载文件夹中。

参数:

  • query (string,必填):书籍的搜索词。这可以是书的标题、作者、ISBN或其他相关关键字。
    • 例子: "The Hitchhiker's Guide to the Galaxy"
  • format (字符串,可选):首选书籍格式。接受“PDF”或“EPUB”(不区分大小写)。如果未指定,则默认为“PDF”。
    • 例子: "epub"

示例用法(概念性,取决于您的LLM/客户): LLM, please use the libgen-book-finder to find 'Sapiens by Yuval Noah Harari' and download it as an EPUB.

这将转化为MCP工具调用,如: searchAndDownloadBook({ query: "Sapiens by Yuval Noah Harari", format: "epub" })

它是如何工作的(简要)

  1. 这 searchAndDownloadBook 工具接收查询和首选格式。
  2. 它构造了一个搜索URL libgen.is (这面镜子可以更换)。
  3. 它获取搜索结果页面并解析HTML,以找到匹配的书籍及其详细信息页面链接。
  4. 然后,它会获取这本书的详细页面,并尝试找到直接下载链接。
  5. 如果找到下载链接,它会将书籍内容流式传输到操作系统默认下载文件夹中的文件。

重要提示:

  • 可靠性: 查找和下载书籍的成功在很大程度上取决于LibGen网站的当前状态及其HTML结构。对其网站的更改可能会破坏此工具。
  • 下载位置: 书籍被保存到操作系统的标准下载文件夹(例如。, ~/Downloads 在macOS/Linux上, C:\Users\YourUser\Downloads 在Windows上)。
  • 错误处理: 基本的错误处理已经到位,但由于网络抓取的性质,并非所有故障情况都能被完美预测或处理。如果出现问题,请检查服务器控制台日志以了解更多详细信息。
  • 无浏览器模拟: 此工具使用直接HTTP请求(axios)和HTML解析(cheerio).它不模拟完整的浏览器环境,因此可能无法绕过JavaScript挑战或复杂的验证码等高级反机器人措施。