使用说明
项目简介
本项目 'linux-do-mcp' 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将 Linux.do 社区论坛的信息以结构化的方式提供给 LLM 客户端。通过此 MCP 服务器,LLM 应用可以轻松获取 Linux.do 社区的最新帖子、热门话题以及特定分类下的内容,从而为用户提供更丰富的社区互动和信息检索能力。
主要功能点
- 获取最新话题: 允许 LLM 获取 Linux.do 社区最新发布的话题列表。
- 获取热门话题: 支持 LLM 获取 Linux.do 社区在不同时间周期(日、周、月、年)内的热门话题。
- 获取分类话题: 允许 LLM 根据预定义的分类(如开发、资源、文档等)检索话题。
- 工具复用: 提供工具复用机制,允许 LLM 根据之前的工具调用参数重新获取话题列表。
- 标准化接口: 遵循 MCP 协议,通过 JSON-RPC 与客户端通信,提供标准的请求和响应格式。
安装步骤
本 MCP 服务器基于 Node.js 开发,可以通过 npm 直接安装和运行。
- 安装 Node.js 和 npm: 确保你的环境中已安装 Node.js 和 npm。
- 全局安装 linux-do-mcp: 打开终端,运行以下命令全局安装 'linux-do-mcp' 包:
npm install -g @pleasure1234/linux-do-mcp
服务器配置
MCP 客户端需要配置服务器的启动命令才能连接到 'linux-do-mcp' 服务器。以下是 Node.js 环境下的 MCP 服务器配置信息,请添加到你的 MCP 客户端的服务器配置中。
{ "mcpServers": { "linux-do": { "command": "npx", // 启动命令,使用 npx 运行 "args": [ // 命令参数 "-y", // npx 参数,自动确认安装包 "@pleasure1234/linux-do-mcp" // 要运行的 npm 包名,即 linux-do-mcp 服务器 ], "env": { // 环境变量 "LINUX_DO_API_KEY": "任意值" // Linux.do API Key,尽管当前版本未使用,但配置中需要保留,可以填写任意值 } } } }
配置参数说明:
- 'server name': 'linux-do',服务器名称,用于在 MCP 客户端中标识和引用。
- 'command': 'npx',Node.js 的包执行器,用于运行 npm 包。
- 'args': '["-y", "@pleasure1234/linux-do-mcp"]',传递给 'npx' 的参数,指定要运行的 npm 包 '@pleasure1234/linux-do-mcp',即已全局安装的 linux-do-mcp 服务器程序。 '-y' 参数是为了在使用 'npx' 运行未安装的包时自动确认安装。
- 'env': '{"LINUX_DO_API_KEY": "任意值"}',设置环境变量。 'LINUX_DO_API_KEY' 是 linux-do-mcp 服务器需要的环境变量,虽然当前版本代码中未使用 API Key 进行身份验证,但为了配置的完整性,请设置此环境变量,可以填写任意非空值。
注意: 此 MCP 服务器通过标准输入输出 (stdio) 与 MCP 客户端通信。请确保你的 MCP 客户端支持 stdio 传输协议。
基本使用方法
配置完成后,MCP 客户端可以通过调用以下工具来获取 Linux.do 社区的信息:
- 'latest_topic': 获取最新话题。可以设置 'page' (页码) 和 'per_page' (每页条数) 参数进行分页。
- 'top_topic': 获取热门话题。 必须设置 'period' 参数指定时间周期('daily', 'weekly', 'monthly', 'yearly', 'all'),并可选择性设置 'page' 和 'per_page' 参数。
- 'hot_topic': 获取最近热门话题。 可以设置 'page' 和 'per_page' 参数进行分页。
- 'category_topic': 获取特定分类下的话题。 必须设置 'category' 参数指定分类名称(例如 'Development', 'Resources', 'Documentation' 等,具体分类名称请参考仓库 README 中的分类列表),并可选择性设置 'page' 和 'per_page' 参数。
- 'fetch_again': 重新执行之前的工具调用。需要 'tool' 参数指定要重新调用的工具名称('latest_topic', 'top_topic', 'hot_topic'),以及 'params' 参数提供原始的参数。
示例 (MCP 客户端请求调用 'latest_topic' 工具):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "name": "latest_topic", "arguments": { "page": 1, "per_page": 20 } }, "id": "1" }
服务器会返回包含最新话题列表的 JSON-RPC 响应。
请参考仓库的 'README.md' 文件获取更详细的 API 列表和分类信息。
信息
分类
网页与API