🔌 MCP Servers

OpenProject Integration Server

Enable AI agents to interact seamlessly with your self-hosted OpenProject instance by creating, retrieving, updating, and deleting projects and tasks. Facilitate project management automation through

❤️ 0
⬇️ 430
👁 2
Share

Description

smithery badge

MCP Server for OpenProject (Smithery Edition)

This project provides a Model Context Protocol (MCP) server for OpenProject, designed for deployment and use with Smithery. It exposes a set of tools for interacting with a self-hosted OpenProject instance, and is compatible with Smithery's HTTP transport and tool listing requirements.

About this MCP Server

  • Built with TypeScript and Node.js using the @modelcontextprotocol/typescript-sdk.
  • Exposes OpenProject CRUD tools for projects and tasks (work packages).
  • Designed for easy deployment to Smithery, with Docker support and a minimal, production-ready structure.
  • Supports local development and testing with MCP Inspector and Smithery tools.

Implemented OpenProject Tools

  • Projects:
    • openproject-create-project: Creates a new project.
    • openproject-get-project: Retrieves a specific project by ID.
    • openproject-list-projects: Lists all projects (supports pagination).
    • openproject-update-project: Updates an existing project's details.
    • openproject-delete-project: Deletes a project.
  • Tasks (Work Packages):
    • openproject-create-task: Creates a new task within a project.
    • openproject-get-task: Retrieves a specific task by ID.
    • openproject-list-tasks: Lists tasks, optionally filtered by project ID (supports pagination).
    • openproject-update-task: Updates an existing task (requires lockVersion).
    • openproject-delete-task: Deletes a task.

Prerequisites

  • Node.js (v18 or later recommended)
  • npm
  • An OpenProject instance accessible via URL
  • An OpenProject API Key
  • (Optional) Docker for containerized builds

HTTP Entrypoint and Local Development

This MCP server now uses Express and the official MCP Streamable HTTP transport. The server is accessible at http://localhost:8000/mcp after running npm run dev or npm start.

Entrypoint code (see 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}`);
});
  • The /mcp endpoint is the main MCP HTTP endpoint for Smithery and MCP clients.
  • The root / endpoint is a health check.

Running Locally

  1. Install dependencies:
    npm install
    
  2. Build the project:
    npm run build
    
  3. Start the server (dev mode):
    npm run dev
    # or for production
    npm start
    
  4. Access the MCP endpoint at http://localhost:8000/mcp

Docker Usage

Build and run as before:

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

Smithery Deployment

This project is ready for Smithery. The /mcp endpoint is compatible with Smithery's HTTP transport requirements.

See your live Smithery server here: smithery badge

Local Testing with MCP Inspector

You can test your MCP server locally using the MCP Inspector:

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

Open the Inspector URL (usually http://localhost:6274) in your browser to interact with your tools.

Project Structure

  • src/index.ts — Main MCP server logic
  • smithery.yaml — Smithery server configuration
  • Dockerfile — Production-ready Docker build
  • tsconfig.json — TypeScript configuration
  • package.json — Project dependencies and scripts

License

MIT


This project is maintained for use with Smithery and the Model Context Protocol. For more information, see:

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs