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" })
它是如何工作的(简要)
- 这
searchAndDownloadBook工具接收查询和首选格式。 - 它构造了一个搜索URL
libgen.is(这面镜子可以更换)。 - 它获取搜索结果页面并解析HTML,以找到匹配的书籍及其详细信息页面链接。
- 然后,它会获取这本书的详细页面,并尝试找到直接下载链接。
- 如果找到下载链接,它会将书籍内容流式传输到操作系统默认下载文件夹中的文件。
重要提示:
- 可靠性: 查找和下载书籍的成功在很大程度上取决于LibGen网站的当前状态及其HTML结构。对其网站的更改可能会破坏此工具。
- 下载位置: 书籍被保存到操作系统的标准下载文件夹(例如。,
~/Downloads在macOS/Linux上,C:\Users\YourUser\Downloads在Windows上)。 - 错误处理: 基本的错误处理已经到位,但由于网络抓取的性质,并非所有故障情况都能被完美预测或处理。如果出现问题,请检查服务器控制台日志以了解更多详细信息。
- 无浏览器模拟: 此工具使用直接HTTP请求(
axios)和HTML解析(cheerio).它不模拟完整的浏览器环境,因此可能无法绕过JavaScript挑战或复杂的验证码等高级反机器人措施。
