OpenProject
OpenProject: projects, work packages with their activities, versions, time entries, users and statuses, queried with OpenProject's filter grammar. API v3, Basic auth with the literal username `apikey`.
7-day free trial · No credit card · EU-hosted
Ask OpenProject anything
Try a real prompt against OpenProject via AnythingMCP — Claude calls the tools, returns the answer. Press Enter on your own message to install on Cloud.
Install OpenProject on CloudClaude is AI and can make mistakes. Please double-check responses.
Setup in 2 minutes
- 1Start a free trial on cloud.anythingmcp.com.
- 2Click OpenProject in the connector store. Paste credentials when prompted.
- 3Mint an MCP API key and point your AI client at the generated MCP URL.
Guides for OpenProject
Step-by-step setup for the most popular AI clients.
Setting up OpenProject
From the connector definition itself: where to find the credentials, what they need to be allowed to do, and which API this adapter talks to.
Getting a key
- In OpenProject open My Account → Access tokens and generate an API token.
- Set
OPENPROJECT_URLto your instance root (no trailing slash) andOPENPROJECT_API_KEYto the token.
The Basic-auth username is the literal string apikey. Not your login name — the word apikey, with the token as the password. This adapter does it for you, and it is the first thing to check when a token you know is valid returns 401.
Permissions follow the user. The token inherits its owner's project memberships and roles. A project the user is not a member of is simply absent from the results, not an error.
Filters are a JSON array of single-key objects: [{"status":{"operator":"o","values":[]}},{"assignee":{"operator":"=","values":["42"]}}]. Operators are OpenProject's own short codes — o open, c closed, = equals, ! not, ~ contains, <>d between dates, t today, >t- in the last N days. The filter string is passed through verbatim so the whole grammar stays available.
Responses are HAL+JSON. Rows live in _embedded.elements, related resources are links under _links and paging is _links.nextByOffset. Fields like assignee arrive as a link with a title, which is usually the readable name you want without another call.
Durations are ISO 8601: estimatedTime of PT8H is eight hours, P2D is two days. They are not numbers.
Self-hosted, which is the thing to plan for.
- On AnythingMCP Cloud the instance must be reachable from the public internet on a real hostname with a valid TLS certificate. A self-signed certificate will fail: the connector offers no trust-anything switch.
- On an internal host (
op.intern,10.0.0.x), self-host AnythingMCP on the same network and add that host toSSRF_ALLOWED_HOSTS, or the outbound guard refuses the call before it is made.
Your AI is two clicks away from OpenProject.
Install the connector, paste your credentials, ask your AI a question. 7-day free trial, no credit card.