OpenProject MCP服务器

为OpenProject提供的模型上下文协议(MCP)服务器,支持项目与任务管理工具,适用于自托管OpenProject实例与Smithery平台集成。

  • by jessebautista
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 jessebautista/mcp-openproject-smithery

使用说明

OpenProject的MCP服务器(Smithery版)

该项目为OpenProject提供了一个模型上下文协议(MCP)服务器,专为部署和使用而设计 史密瑟里它公开了一组用于与自托管OpenProject实例交互的工具,并且与Smithery的HTTP传输和工具列表要求兼容。

关于此MCP服务器

  • 使用TypeScript和Node.js构建 @模型上下文协议/类型脚本sdk.
  • 公开用于项目和任务(工作包)的OpenProject CRUD工具。
  • 设计用于轻松部署到Smithery,具有Docker支持和最小的生产就绪结构。
  • 使用MCP Inspector和Smithery工具支持本地开发和测试。

已实施OpenProject工具

  • 项目:
    • openproject-create-project:创建新项目。
    • openproject-get-project:按ID检索特定项目。
    • openproject-list-projects:列出所有项目(支持分页)。
    • openproject-update-project:更新现有项目的详细信息。
    • openproject-delete-project:删除项目。
  • 任务(工作包):
    • openproject-create-task:在项目中创建新任务。
    • openproject-get-task:按ID检索特定任务。
    • openproject-list-tasks:列出任务,可选择按项目ID筛选(支持分页)。
    • openproject-update-task:更新现有任务(需要 lockVersion).
    • openproject-delete-task:删除任务。

先决条件

  • Node.js(建议使用v18或更高版本)
  • npm
  • 可通过URL访问的OpenProject实例
  • 一个OpenProject API密钥
  • (可选)Docker用于容器化构建

HTTP入口点与本地开发

此MCP服务器现在使用Express和官方的MCP Streamable HTTP传输。服务器可在以下位置访问 http://localhost:8000/mcp 运行后 npm run dev 或 npm start.

入口点代码(参见 src/index.ts):

import express from "express";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const app = express();
app.use(express.json());

const mcpServer = setupMCPServer();
const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined });
mcpServer.connect(transport);

app.all("/mcp", (req, res) => {
  transport.handleRequest(req, res, req.body);
});

app.get("/", (_req, res) => res.send("MCP OpenProject server is running!"));

const PORT = process.env.PORT || 8000;
app.listen(PORT, () => {
  console.log(`MCP server running on port ${PORT}`);
});
  • 这 /mcp endpoint是Smithery和MCP客户端的主要MCP HTTP端点。
  • 根 / 端点是健康检查。

本地运行

  1. 安装依赖项:
    npm install
    
  2. 构建项目:
    npm run build
    
  3. 启动服务器(开发模式):
    npm run dev
    # or for production
    npm start
    
  4. 访问MCP端点 http://localhost:8000/mcp

Docker使用

像以前一样构建和运行:

docker build -t mcp-openproject-smithery .
docker run --rm -p 8000:8000 --env-file .env mcp-openproject-smithery

Smithery部署

该项目已为Smithery做好准备。这 /mcp 端点与Smithery的HTTP传输要求兼容。

在此处查看您的Smithery实时服务器:

MCP检查员进行本地测试

您可以使用以下工具在本地测试MCP服务器 MCP检查员:

npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8000/mcp

打开检查器URL(通常 http://localhost:6274)在浏览器中与工具进行交互。

项目结构

  • src/index.ts --主MCP服务器逻辑
  • smithery.yaml --Smithery服务器配置
  • Dockerfile --生产就绪的Docker构建
  • tsconfig.json --TypeScript配置
  • package.json --项目依赖关系和脚本

许可证

麻省理工学院


此项目是为与Smithery和模型上下文协议一起使用而维护的。有关更多信息,请参阅: