返回市场
MCP开源项目锻造厂

MCP开源项目锻造厂

作者:jessebautista7 星标更新:2025-05-19

项目介绍

smithery 徽章

OpenProject 的 MCP 服务器(Smithery 版本)

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

关于此 MCP 服务器

  • 使用 TypeScript 和 Node.js 构建,采用 @modelcontextprotocol/typescript-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 传输。运行 npm run devnpm start 后,服务器可通过 http://localhost:8000/mcp 访问。

入口点代码(参见 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 服务器正在运行!"));

const PORT = process.env.PORT || 8000;
app.listen(PORT, () => {
  console.log(`MCP 服务器在端口 ${PORT} 上运行`);
});
  • /mcp 端点是 Smithery 和 MCP 客户端的主要 MCP HTTP 端点。
  • / 端点是一个健康检查。

本地运行

  1. 安装依赖项:
    npm install
    
  2. 构建项目:
    npm run build
    
  3. 启动服务器(开发模式):
    npm run dev
    # 或者用于生产
    npm start
    
  4. 通过 http://localhost:8000/mcp 访问 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 服务器: smithery 徽章

使用 MCP Inspector 进行本地测试

您可以使用 MCP Inspector 在本地测试您的 MCP 服务器:

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

在浏览器中打开 Inspector URL(通常是 http://localhost:6274),以与您的工具进行交互。

项目结构

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

许可证

MIT


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