open-project-sidecar-mcp (1.10.0-alpha)

Published 2026-03-18 00:22:31 +00:00 by Mike Bros in mike/open-project-sidecar-mcp

Installation

registry=
npm install open-project-sidecar-mcp@1.10.0-alpha
"open-project-sidecar-mcp": "1.10.0-alpha"

About this package

open-project-mcp

MCP server for OpenProject project management. Works with Claude Code, Cursor, Windsurf, or any MCP-compatible client.

Provides 69 tools for managing projects, work packages, versions, time tracking, wiki pages, boards, news, forums, and more -- all through the Model Context Protocol.

Roadmap and issue tracking

Why this package?

Existing OpenProject MCP servers (openproject-mcp, openproject-mcp-server) cover basic CRUD for projects, work packages, and time tracking -- roughly 8-27 tools depending on the package. This server goes further with 69 tools, adding coverage for areas the others don't touch:

  • Wiki pages -- create, read, update, and delete project documentation
  • Boards -- create and manage Kanban boards (status, assignee, subtasks, or free-form layouts)
  • Watchers -- manage notification subscriptions on work packages
  • Delete operations -- delete work packages and projects
  • Saved queries -- manage filtered work package views with custom columns and sorting
  • News and release notes -- publish project updates and auto-generate changelogs from version data
  • Forums -- create discussion boards, post topics, and manage threads
  • Sprint overview -- get structured breakdowns of version progress with work package counts
  • Work package relations -- manage blocks, follows, relates, and other dependency links
  • Comments and activity -- read activity history and post comments on work packages
  • Project memberships -- add/remove users and manage role assignments
  • Notifications -- list and manage in-app notifications
  • Commit message formatting -- generate conventional commits with OpenProject references
  • Bulk operations -- create, update, transition, or delete multiple work packages in a single call; bulk-create relations

What this is (and isn't)

This is an MCP server -- it exposes 69 tools that any MCP-compatible AI client can call, but it does not include agent skills, prompt templates, or workflow automation. It is a bridge between your AI coding tool and your OpenProject instance.

Tested with Claude Code. Other MCP clients (Cursor, Windsurf, etc.) should work since the server follows the MCP specification, but they are not actively tested. Bug reports and contributions for other clients are welcome.

Agent skills are separate. If you want guided workflows (e.g., "work on ticket #123" with automatic branching and commit conventions), those are configured as client-side skills in your AI tool, not part of this server.

Quick start

npx -y open-project-sidecar-mcp --setup

The --setup flag launches an interactive wizard that walks you through deployment mode selection, credentials, Docker compose scaffolding (sidecar mode), connectivity testing, and client registration.

Without --setup, the server starts normally and loads .env from your current working directory automatically.

Re-running --setup is safe on existing installations -- it detects your existing setup, reuses API keys, and cleans up stale registrations.

Updating

Direct (stdio):

npx -y open-project-sidecar-mcp@latest --setup

Specifying @latest (or a specific version like @1.7.0) ensures npx fetches the new version instead of using its cache. Re-running --setup is optional but recommended -- it picks up any config changes and re-registers the server.

Docker sidecar:

docker compose pull mcp && docker compose up -d mcp

This pulls the latest image and restarts the container. No config changes needed between versions. To pin a specific version, set image: git.bros.ninja/mike/open-project-sidecar-mcp:1.7.0 in your compose file.

Check your version: npx open-project-sidecar-mcp --version (direct) or curl http://localhost:3000/health (sidecar).

See wiki-drafts/09-updating.md for the full update guide.

Deployment modes

Direct (stdio) Docker sidecar
Best for Any developer, solo or team admin_command, persistent server
Transport stdio (default) HTTP (always enabled)
Requires Node 18+ Docker, Docker Compose
API tools (64) All except admin_command All
admin_command No Yes

Direct mode: Your AI client launches the MCP server as a child process. Run the setup wizard, and you're done.

Docker sidecar: Persistent container with HTTP transport. Provides admin_command for Rails console operations (module management, custom types/statuses, custom fields, backlogs). Team members connect by URL without needing Node.js locally.

See wiki-drafts/03-deployment-modes.md for detailed setup instructions, compose examples, manual configuration, and connecting team members.

Configuration

Variable Required Default Description
OPENPROJECT_URL Yes -- Base URL of your OpenProject instance
OPENPROJECT_API_KEY Yes -- API key (create one in OpenProject > My Account > Access Tokens)
OPENPROJECT_CONTAINER Docker sidecar openproject-openproject-1 Docker container name for admin_command
OPENPROJECT_COMPOSE_FILE No -- Path to docker-compose.yml (alternative to container name)
MCP_TRANSPORT Docker sidecar stdio Set to http for Docker sidecar (always enabled)
MCP_PORT No 3000 HTTP server port (Docker sidecar only)
MCP_API_KEY Docker sidecar -- Bearer token for HTTP auth (Docker sidecar only)
CACHE_TTL_MS No 300000 TTL for name-resolution caches in milliseconds (5 min default)
BULK_DELETE_BACKUP_DIR No ~/.op-mcp/backups Directory for bulk delete backup files
BULK_DELETE_MAX_BACKUPS No 20 Maximum number of backup files to retain

The server looks for .env in: (1) current working directory, (2) package directory. First file found wins. Existing environment variables are never overwritten.

Available tools

69 tools across 17 categories. All work in every deployment mode unless noted.

Category Tools Highlights
Projects 5 list, get, create, update, delete
Work packages 5 list (with filters/sorting/pagination), get, create, update, delete
Bulk operations 7 batch create, update, transition, delete work packages; batch create relations; list/restore delete backups
Relations 3 list, create, delete (blocks, follows, relates, etc.)
Comments & activity 3 list activity history, add/update comments
Watchers 3 list, add, remove watchers on work packages
Lookups 4 statuses, types, priorities, users
Versions & sprints 5 CRUD + sprint overview with breakdowns
Time tracking 2 log time, list entries
Wiki (sidecar only) 5 CRUD + list (requires wiki module)
Queries 4 CRUD for saved filtered views
Boards 3 list, create, delete (status/assignee/subtasks layouts)
News 5 CRUD + auto-generate release notes from versions
Forums (sidecar only) 5 CRUD for forums and messages/topics
Memberships 5 list, add, update, remove members + list roles
Notifications 3 list, mark read, mark all read
Admin (sidecar only) 1 Rails console: modules, types, statuses, custom fields
Utilities 1 conventional commit message formatting

See wiki-drafts/06-tool-reference.md for the full tool reference with descriptions.

Troubleshooting

Most issues are fixed by re-running the setup wizard:

npx -y open-project-sidecar-mcp --setup
Problem Cause Fix
OPENPROJECT_URL is required .env file missing or not found Run --setup for guided setup
Connection refused Server not running or wrong port Check server is running and MCP_PORT matches client config
401 Unauthorized Key mismatch between client/server Re-run --setup to sync keys
Tools not appearing in Claude Code Stale or project-scoped config Re-run --setup to clean old entries and register globally
admin_command fails Docker socket not mounted Add /var/run/docker.sock:/var/run/docker.sock to compose volumes

See wiki-drafts/08-troubleshooting.md for diagnostic commands and additional issues.

Dogfooding

This server is used to manage its own development. The project roadmap, work packages, and release tracking all run through OpenProject via this MCP server, providing continuous real-world testing of every tool.

Development

npm install     # Install dependencies
npm test        # Run tests
npm run lint    # Lint (uses Biome)
npm run audit   # Check for vulnerable dependencies

All tools are defined in index.js using the MCP SDK's server.tool() method. Each tool specifies its name, description, Zod schema for parameters, and handler function. Pure helper functions are exported and tested in test.js.

License

MIT

Dependencies

Dependencies

ID Version
@modelcontextprotocol/sdk ^1.12.0
zod ^3.23.0

Development dependencies

ID Version
@biomejs/biome ^1.9.0

Keywords

mcp openproject claude ai project-management model-context-protocol
Details
npm
2026-03-18 00:22:31 +00:00
0
Mike Bros
MIT
alpha
91 KiB
Assets (1)
Versions (26) View all
1.11.0 2026-03-18
1.10.1 2026-03-18
1.10.0-alpha 2026-03-18
1.9.0 2026-03-17
1.8.0 2026-03-16