npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

open-project-sidecar-mcp

v1.7.0

Published

MCP server for OpenProject project management – use with Claude Code, Cursor, or any MCP client

Readme

open-project-mcp

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

Provides 62 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 62 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

What this is (and isn't)

This is an MCP server -- it exposes 62 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 (61) | All | 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) |

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

62 tools across 16 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 | | 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.

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