使用说明
项目简介
Discourse MCP Server 是一个基于 Model Context Protocol (MCP) 实现的服务器,专门为 Discourse 论坛设计。它通过 MCP 协议向 LLM 客户端暴露 'search_posts' 工具,使得 LLM 能够调用该工具在指定的 Discourse 论坛上进行帖子搜索,并获取搜索结果作为上下文信息。
主要功能点
- 帖子搜索 (search_posts): 提供在 Discourse 论坛中搜索帖子的能力。LLM 客户端可以调用此工具,并传入搜索关键词,服务器将返回匹配的帖子列表。
- MCP 协议支持: 完全遵循 Model Context Protocol 协议,能够与任何兼容 MCP 协议的 LLM 客户端进行通信。
- 易于部署: 提供 Docker 镜像和 NPX 两种运行方式,方便用户快速部署和使用。
- 可配置的 Discourse API: 通过环境变量配置 Discourse API 的 URL、API Key 和用户名,支持连接到不同的 Discourse 论坛。
安装步骤
本项目无需传统意义上的“安装”,因为它是一个可以直接运行的 MCP 服务器。您可以通过以下两种方式运行:
方式一:使用 Docker 运行 (推荐)
- 安装 Docker: 如果您的机器上还没有安装 Docker,请先安装 Docker。
- 拉取 Docker 镜像 (可选): 您可以选择手动构建镜像,或者直接使用预构建的 Docker 镜像 'ashdev/discourse-mcp-server'。
如果您选择手动构建,请先克隆仓库到本地:
然后构建 Docker 镜像:git clone https://github.com/AshDevFr/discourse-mcp-server.git cd discourse-mcp-serverdocker build -t ashdev/discourse-mcp-server . - 运行 Docker 容器: 使用以下命令运行 Docker 容器,并根据需要配置环境变量:
环境变量说明:docker run -i --rm \ -e "DISCOURSE_API_URL=YOUR_DISCOURSE_API_URL" \ -e "DISCOURSE_API_KEY=YOUR_DISCOURSE_API_KEY" \ -e "DISCOURSE_API_USERNAME=YOUR_DISCOURSE_API_USERNAME" \ ashdev/discourse-mcp-server- 'DISCOURSE_API_URL': 必需。您的 Discourse 论坛的 API 地址,例如 'https://try.discourse.org'。
- 'DISCOURSE_API_KEY': 可选。Discourse API 密钥,如果您的 Discourse 论坛需要 API 密钥才能访问,则需要配置。
- 'DISCOURSE_API_USERNAME': 可选。Discourse API 用户名,如果您的 Discourse 论坛需要 API 用户名才能访问,则需要配置。
方式二:使用 NPX 运行
- 安装 Node.js 和 NPM: 确保您的机器上已安装 Node.js 和 NPM (Node Package Manager)。
- 运行 NPX 命令: 使用以下 NPX 命令运行 Discourse MCP Server,并配置环境变量:
环境变量说明: 与 Docker 方式相同。DISCOURSE_API_URL=YOUR_DISCOURSE_API_URL \ DISCOURSE_API_KEY=YOUR_DISCOURSE_API_KEY \ DISCOURSE_API_USERNAME=YOUR_DISCOURSE_API_USERNAME \ npx -y @ashdev/discourse-mcp-server
服务器配置 (MCP 客户端配置)
为了让 MCP 客户端(例如 Claude Desktop)连接到 Discourse MCP Server,您需要在客户端的配置文件中添加服务器配置信息。以下是两种运行方式对应的配置示例 (JSON 格式):
Docker 运行配置:
{ "mcpServers": { "discourse": { // 服务器名称,客户端用此名称引用 "command": "docker", // 启动服务器的命令 "args": [ // 命令参数 "run", "-i", "--rm", "-e", "DISCOURSE_API_URL=YOUR_DISCOURSE_API_URL", // Discourse API URL 环境变量 "-e", "DISCOURSE_API_KEY=YOUR_DISCOURSE_API_KEY", // Discourse API Key 环境变量 (可选) "-e", "DISCOURSE_API_USERNAME=YOUR_DISCOURSE_API_USERNAME", // Discourse API 用户名环境变量 (可选) "ashdev/discourse-mcp-server" // Docker 镜像名称 ] } } }
NPX 运行配置:
{ "mcpServers": { "discourse": { // 服务器名称,客户端用此名称引用 "command": "npx", // 启动服务器的命令 "args": [ // 命令参数 "-y", "@ashdev/discourse-mcp-server" // NPX 包名 ], "env": { // 环境变量 "DISCOURSE_API_URL": "YOUR_DISCOURSE_API_URL", // Discourse API URL 环境变量 "DISCOURSE_API_KEY": "YOUR_DISCOURSE_API_KEY", // Discourse API Key 环境变量 (可选) "DISCOURSE_API_USERNAME": "YOUR_DISCOURSE_API_USERNAME" // Discourse API 用户名环境变量 (可选) } } } }
重要提示:
- 请将 'YOUR_DISCOURSE_API_URL', 'YOUR_DISCOURSE_API_KEY', 'YOUR_DISCOURSE_API_USERNAME' 替换为您实际的 Discourse API 信息。如果您不确定如何获取这些信息,请参考您的 Discourse 论坛的 API 文档。
- 'server name' (例如 "discourse") 可以自定义,客户端将使用此名称来调用该 MCP 服务器提供的工具。
基本使用方法
-
启动 MCP 服务器: 根据上述安装步骤,选择 Docker 或 NPX 方式启动 Discourse MCP Server。服务器成功启动后,会在控制台输出 "Discourse MCP Server running on stdio"。
-
配置 MCP 客户端: 将上述提供的 JSON 配置信息添加到您的 MCP 客户端配置文件中,例如 'claude_desktop_config.json'。确保配置中的 'server name' 与您期望的名称一致。
-
在 LLM 中使用 'search_posts' 工具: 在支持 MCP 协议的 LLM 应用中,您可以使用配置的 'server name' (例如 "discourse") 和工具名 'search_posts' 来调用 Discourse 搜索功能。例如,在 Claude 中,您可能会这样指示:
@discourse search_posts query="MCP协议是什么"LLM 客户端会将此请求发送到 Discourse MCP Server,服务器执行搜索并将结果返回给 LLM,最终 LLM 可以利用搜索结果生成更相关的回复。
注意事项
- 确保 Discourse API 配置正确,否则服务器可能无法正常连接到 Discourse 论坛。
- 'search_posts' 工具的输入参数为 'query' (字符串),请确保在调用时提供有效的搜索关键词。
- 服务器通过标准输入/输出 (stdio) 与 MCP 客户端通信。
信息
分类
AI与计算