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 (requireslockVersion).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
/mcpendpoint is the main MCP HTTP endpoint for Smithery and MCP clients. - The root
/endpoint is a health check.
Running Locally
- Install dependencies:
npm install - Build the project:
npm run build - Start the server (dev mode):
npm run dev # or for production npm start - 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:
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 logicsmithery.yaml— Smithery server configurationDockerfile— Production-ready Docker buildtsconfig.json— TypeScript configurationpackage.json— Project dependencies and scripts
License
MIT
This project is maintained for use with Smithery and the Model Context Protocol. For more information, see:
- Smithery Documentation
- Model Context Protocol
- TypeScript SDK for MCP
OpenProject Integration Server
Project Details
- jessebautista/mcp-openproject-smithery
- Last Updated: 5/25/2025
Recomended MCP Servers
Create a new MCP server in TypeScript, batteries included.
인천국제공항 실시간 정보 시스템 - 공공데이터 API 활용 스트림릿 앱
MCP server for Bonusly employee recognition platform
基于MCP(Model Context Protocol)协议的飞书项目管理工具
DevRev MCP server
MCP server that can execute commands such as keyboard input and mouse movement on macOS
通过 MCP (Model Context Protocol) 提供 A 股市场的行情数据查询功能。
MCP server for Splunk
MCP Server for Dropbox
An MCP server for the Podbean API





