openproject-mcp
v1.0.1
Published
MCP server for OpenProject API integration
Maintainers
Readme
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_projects | List all projects |
| get_work_package | Get work package details by ID |
| list_work_packages | List work packages with filters |
| get_children | Get child work packages of a parent |
| list_statuses | List all available statuses |
| list_types | List all work package types (Feature, Task, Bug, etc.) |
| get_user | Get user information |
| create_work_package | Create a new work package |
| update_work_package | Update an existing work package |
| log_time | Log time entry for a work package |
| raw_api_call | 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 |
|----------|----------|-------------|
| OPENPROJECT_URL | Yes | Your OpenProject instance URL |
| OPENPROJECT_API_KEY | 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.
