Enables AI assistants to interact with OpenProject work packages, projects, and time tracking, including tools for creating, updating, and listing work packages, managing project statuses, and logging time entries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenProject MCP Serverlist my open work packages for the Website Redesign project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenProject MCP Server
Model Context Protocol (MCP) server for OpenProject API integration. Enables AI assistants to interact with OpenProject work packages, projects, and time tracking.
Installation
Global Installation (Recommended)
npm install -g openproject-mcpLocal Installation
npm install openproject-mcpConfiguration
Get OpenProject API Key
Log into your OpenProject instance
Go to My Account → Access tokens
Create a new API token
Copy the token
Add to Kiro MCP Config
Add to .kiro/settings/mcp.json:
{
"mcpServers": {
"openproject": {
"command": "npx",
"args": ["-y", "openproject-mcp"],
"env": {
"OPENPROJECT_URL": "https://your-openproject-instance.com",
"OPENPROJECT_API_KEY": "your-api-key-here"
}
}
}
}Or if installed globally:
{
"mcpServers": {
"openproject": {
"command": "openproject-mcp",
"env": {
"OPENPROJECT_URL": "https://your-openproject-instance.com",
"OPENPROJECT_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
Tool | Description |
| List all projects |
| Get work package details by ID |
| List work packages with filters |
| Get child work packages of a parent |
| List all available statuses |
| List all work package types (Feature, Task, Bug, etc.) |
| Get user information |
| Create a new work package |
| Update an existing work package |
| Log time entry for a work package |
| Make a raw API call to any endpoint |
Usage Examples
List Children of a Feature
get_children({ parentId: 211 })Create a New Task
create_work_package({
subject: "Implement token budget management",
parentId: 538,
assigneeId: 10,
startDate: "2026-01-15",
dueDate: "2026-01-15"
})List Tasks Assigned to Me
list_work_packages({ assigneeId: "me" })Update Work Package Status
update_work_package({
id: 123,
statusId: 12, // Status ID from list_statuses
estimatedTime: "PT2H" // 2 hours in ISO 8601 format
})Log Time
log_time({
workPackageId: 123,
hours: 2.5,
comment: "Implemented feature X",
spentOn: "2026-01-23"
})Environment Variables
Variable | Required | Description |
| Yes | Your OpenProject instance URL |
| Yes | API key from OpenProject |
Requirements
Node.js >= 18.0.0
OpenProject instance with API access
License
MIT
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
Links
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.