项目简介
Redmine MCP Server 插件是一个 Redmine 插件,它实现了 Model Context Protocol (MCP) 服务器。该插件旨在为大型语言模型 (LLM) 客户端提供访问 Redmine 项目管理系统数据的标准化接口。通过 MCP 协议,LLM 应用可以安全、可扩展地获取 Redmine 项目中的上下文信息和执行特定操作。
主要功能点
- 资源访问: 提供了访问 Redmine 项目中 Issues(问题跟踪)和 Wiki Pages(wiki页面)的功能,允许 LLM 获取项目信息。
- 工具集成: 实现了预定义的工具,例如:
- 'list_issues': 列出项目中的所有 Issue。
- 'list_wiki_pages': 列出项目中的所有 Wiki 页面。
- 'read_issue': 读取指定 ID 的 Issue 的详细信息。
- 'read_wiki_page': 读取指定 ID 的 Wiki 页面的内容。
- SSE 通信: 使用 Server-Sent Events (SSE) 作为主要的传输协议,实现与 MCP 客户端的实时通信。
- JSON-RPC 协议: 遵循 MCP 协议规范,使用 JSON-RPC 格式进行请求和响应的交互。
请注意: 该插件目前处于概念验证和实验阶段,HTTP 端点没有身份验证,请在安全环境下使用。
安装步骤
- 下载插件: 在 Redmine 插件目录下执行以下命令克隆仓库:
git clone https://github.com/9506hqwy/redmine_mcp_server.git - 启动 Redmine: 重启或启动您的 Redmine 服务器以加载插件。
服务器配置
MCP 服务器配置信息(JSON 格式)用于 MCP 客户端连接到 Redmine MCP Server。请根据您的 Redmine 部署环境进行调整。
{ "serverName": "RedmineMCP", "command": "启动Redmine服务器", "args": [], "description": "启动 Redmine 服务器以运行 MCP Server 插件。插件集成在Redmine内部,随Redmine启动而启动。", "protocol": "sse", "transport": "http", "url": "http://<your_redmine_host>:<your_redmine_port>/projects/<your_project_identifier>/mcp/sse", "contentType": "application/json-rpc" }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 Redmine 服务器的命令。由于插件集成在 Redmine 内部,实际启动命令是 Redmine 服务器的启动命令。
- 'args': 启动 Redmine 服务器的参数,通常为空数组 '[]'。
- 'description': 服务器的描述信息。
- 'protocol': 使用的 MCP 协议,这里是 'sse' (Server-Sent Events)。
- 'transport': 传输层协议,这里是 'http'。
- 'url': MCP 客户端连接的关键 URL。
- '<your_redmine_host>': 替换为您的 Redmine 服务器主机名或 IP 地址。
- '<your_redmine_port>': 替换为您的 Redmine 服务器端口号。
- '<your_project_identifier>': 替换为 您要访问的 Redmine 项目的项目标识符 (project identifier)。您需要在 Redmine 中创建一个项目,并使用该项目的标识符。
- 'contentType': 内容类型,固定为 'application/json-rpc'。
重要提示: 请确保将 '<your_redmine_host>'、'<your_redmine_port>' 和 '<your_project_identifier>' 替换为您的实际 Redmine 环境配置。
基本使用方法
- 启动 Redmine 服务器: 确保 Redmine 服务器已成功启动,并且 'redmine_mcp_server' 插件已加载。
- 配置 MCP 客户端: 在您的 MCP 客户端应用中,配置上述提供的服务器配置信息 JSON,特别是 'url' 字段要指向正确的 Redmine MCP Server SSE 端点。
- 连接服务器: 使用 MCP 客户端库 (例如 'mcp-client-py',参考仓库 'clients' 目录下的 Python 示例) 连接到 Redmine MCP Server。
- 调用工具: 客户端连接成功后,可以调用 'list_tools' 方法获取可用的工具列表。然后,可以使用 'call_tool' 方法并指定工具名称和参数来调用具体的工具,例如获取 Issue 列表或 Wiki 页面内容。
请参考仓库的 'clients' 目录下的 Python 示例代码,了解如何使用 MCP 客户端与 Redmine MCP Server 进行交互。
信息
分类
开发者工具