OpenProject MCP
This server exposes read-only reference and metadata tools for OpenProject Community Edition — lifecycle phases, instance config, work package statuses/priorities/types, cost types, GitHub PRs, roles, the current user, and API actions — with no write capabilities in this schema.
Project lifecycle phases: list all phase definitions and fetch a single one by id (name, start/finish gates, timestamps).
Instance configuration: read host name, attachment size limits, API page-size settings, duration format, hours per day, days per month, and active/available/trialling feature flags.
Work package metadata: list and get statuses (default/closed/readonly, colors, done ratios), priorities (default/active, colors), and types (default/milestone, colors), with types optionally filtered by project.
Cost types: fetch a cost type by id (name, unit, unit plural, default flag) — read-only, no list endpoint available upstream.
GitHub pull requests: fetch a single PR by id (state, repository, author, labels, merge info, comment/review counts, additions/deletions, truncation metadata); visibility relies on OpenProject's own check rather than the MCP project allowlist.
Roles and users: list roles visible to the current user, and read the authenticated user's profile (id, name, login).
API actions: list actions exposed by OpenProject (id, url).
Pagination/selection: list tools accept
limit(capped atOPENPROJECT_MAX_PAGE_SIZE, default 50),offset, andselectfields for context-frugal responses.No writes: every tool in this schema is read-only; no create/update/delete or preview-then-confirm operations are present.
Manage OpenProject projects, work packages, memberships, versions, boards, time entries, and more through structured tools.
Click on "Deploy 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 MCPshow my open work packages"
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 CE MCP
An MCP server for OpenProject that lets local AI agents read and manage project data through structured, guarded tools.
The server runs as a local subprocess of your MCP client over stdio. It wraps OpenProject API v3 and exposes typed tools for projects, work packages, memberships, versions, boards, time entries, and more.
Reading this on PyPI? All links below point to the GitHub repository — the
docs/pages and images ship in the git repo and source distribution, not in the installed package itself.
Why use this MCP
Context-frugal by design — compact, agent-shaped responses instead of raw HAL payloads (~21 fields + ~46 links per item in the raw API). Measured up to −99% tokens per response with
select; see Context efficiency for the full numbers.Guarded writes — every write follows a preview-then-confirm pattern; there is no way to bypass it.
Defense-in-depth project scope — MCP read/write allowlists restrict the token's effective scope in addition to OpenProject's own server-side permissions.
Typed tools, not a raw REST client — one call per intent (list, search, create, update) instead of hand-built HAL requests and link-following.
Related MCP server: OpenProject MCP Server
What you can do
Projects
List, create, copy, update, and delete projects
Read project configurations, lifecycle phases, and admin context
Create, update, and delete memberships and versions; list roles
Work packages
List and search work packages with structured filters
Create, update, and delete work packages; create subtasks; create, update, and delete relations; add comments (no edit or delete)
Upload, read (images and text inlined for the model), and delete attachments; add and remove watchers; read activity logs
Log, update, and delete time entries
Boards and views
Create, read, update, and delete saved boards (queries); read views
Users and groups
Read user accounts and group memberships
Create, update, lock, unlock, and delete users; add and remove group members
Supporting data
Fetch individual wiki pages by id; create, update, and delete news; read and update documents
Read and mark notifications; read help texts, working days, and instance configuration
Create and inspect grids; inspect custom options
All write operations follow a preview-then-confirm pattern: call a tool once to get a validated preview, then again with confirm=true to execute. There is no way to bypass this.
Scope: Community Edition
This MCP server targets OpenProject Community Edition only. It does not support Enterprise Edition features such as:
Placeholder Users
Budgets
Portfolios
Programs
Custom Actions
Baseline Comparisons
Note: OpenProject Enterprise Edition includes its own MCP server. If you have an Enterprise license, use the official Enterprise MCP instead of this one.
How it works
Communicates with the MCP client over stdio — no remote server, no persistent storage
Read tools are registered by default, but no project data is accessible until
OPENPROJECT_READ_PROJECTSis configuredThe 5 core write categories are enabled by default, but stay inert until a project is listed in
OPENPROJECT_WRITE_PROJECTS— that allowlist, not the category flags, is the real gate; personal-data and admin writes stay opt-in separatelyCreate and update operations validate the payload against OpenProject form endpoints before writing; delete and other simple operations execute directly once confirmed
Project scope is enforced server-side: the MCP only exposes what the configured allowlists permit
Responses are bounded and paginated — compact summaries, not raw HAL payloads
A core reason to use this MCP instead of calling the OpenProject REST API directly: it returns context-frugal responses instead of raw HAL payloads — and not just for listing. The numbers below are measured against the same three representative work packages (real tiktoken counts, not a bytes/4 approximation); read/search/write/batch calls all land in the same −85% to −98% range. For the full per-call-type breakdown, the tool-catalog size numbers, and how to reproduce them, see Context efficiency.
Response | Tokens | vs. raw API |
Raw OpenProject REST API v3 (HAL) | ~9,992 | baseline |
| ~861 | −91% |
| ~174 | −98% |
Install
This quickstart requires pipx; see Installation if it isn't installed yet.
pipx install openproject-ce-mcp
openproject-ce-mcp configure
openproject-ce-mcp --versionAlready use uv? uv tool install openproject-ce-mcp works the same way.
See Installation
for when plain pip install is appropriate instead, and for uvx (a
zero-install, run-on-demand alternative to installing at all).
configure collects your OpenProject URL, API token, and project scope, then
writes the config for the MCP client(s) you choose. Project-scoped is
recommended: the server is then available only in the current project.
Global makes it available everywhere. Restart your MCP client afterward,
then ask it to call get_current_user or list_projects to verify.
See Installation for requirements, updating, source installs, and uninstalling, and Clients for per-client setup guides.
Documentation
Full documentation lives in docs/, starting at the
documentation hub:
Setup: Installation · Clients · Configuration · Troubleshooting
Using the tools: Tool reference · Work package filters · Field hiding
Client guides: Claude / Claude Code · Claude Desktop · Codex · Cursor · VS Code / GitHub Copilot
Contributing: Development · Architecture · Context efficiency
Configuration essentials
Your client config (.mcp.json, .codex/config.toml, or .vscode/mcp.json)
contains your API token — treat it like a password and keep it out of version
control; choose your client-specific guide from Clients
for the exact .gitignore step. configure writes a minimal config: only the values that differ from a
safe default. Read tools are registered by default, and so are the 5 core
write categories — but project access stays denied either way until you list
projects in OPENPROJECT_READ_PROJECTS (and, for writes, in
OPENPROJECT_WRITE_PROJECTS too); that allowlist pair, not the category
flags, is the real gate.
See Configuration for the full environment variable
reference and what configure --quick vs. --advanced ask.
Security
Prompt Injection
User-provided text (work-package descriptions, comments, news, wiki content) is marked with <user-content> tags and flagged in server instructions as untrusted. Agents should treat this content as data, not as instructions.
See SECURITY.md for the full security model, including prompt injection mitigations, reporting procedures, and supported versions.
Development
git clone -b release/0.5.0 https://github.com/jtauschl/openproject-ce-mcp.git
cd openproject-ce-mcp
uv sync --dev
uv run pytestmain is a frozen snapshot of the last release, not the active development
branch. See Development for the full test suite (unit,
integration, and Docker test instances).
License
MIT — see LICENSE. A single top-level license file covers the whole project; individual source files don't carry per-file copyright headers, matching common practice for MIT-licensed Python packages.
Available Tools
14 toolsget_cost_typeA
Get a cost type by id.
Cost types are entirely read-only in OpenProject's API (Community Edition) -- there is no create/update/delete endpoint, and no collection GET either (no list_cost_types tool exists because the endpoint does not exist upstream).
| Name | Required | Description | Default |
|---|---|---|---|
| cost_type_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| unit | Yes | |
| is_default | Yes | |
| unit_plural | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the key behavioral trait: the resource is entirely read-only with no mutation or list endpoints. It does not mention auth/permission requirements or how a missing/invalid id is reported, which are the remaining behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action in one sentence, then uses the second paragraph efficiently to explain the absence of sibling endpoints. The parenthetical '(Community Edition)' is the only slightly expendable detail; nothing else is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values needn't be described, and the read-only constraint plus missing endpoints are covered. The one substantive omission is how to discover valid cost_type_id values given that no list tool exists, which an agent would need in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is a single required parameter, cost_type_id. The description only restates 'by id' without adding format, source, or validity constraints — notably, since no list endpoint exists, it never explains where an agent is expected to obtain a valid id. Baseline-level value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get a cost type by id') that an agent can act on immediately. The second paragraph actively differentiates it from siblings by explaining that no list_cost_types/create/update/delete tools exist because the upstream API lacks those endpoints, so the agent won't hunt for them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly communicates when NOT to look for alternatives: cost types are read-only and there is no collection endpoint, so this is the only cost-type tool. It stops short of stating the positive trigger (e.g. 'use when you already have a cost_type_id from elsewhere'), leaving the use case implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_userA
Return the currently authenticated user's profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| login | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations to rely on, and the description does not disclose any behavioral aspects beyond the name, such as authentication requirements, potential errors, or side effects. It merely restates the function without adding operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, lean sentence that conveys the core purpose efficiently. No unnecessary words or redundancy, making it a model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless tool with an output schema, the description is essentially complete. However, it could marginally benefit from a hint about when to use this over related 'get' tools, but given the presence of an output schema, it falls just short of perfect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not add parameter-level details, but none are needed. The schema and empty property set already fully cover this aspect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Return') and a specific resource ('currently authenticated user's profile'). It unambiguously differentiates from sibling tools like 'get_my_project_access' by explicitly scoping to the current user's profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, no exclusions, and no context about scenarios where it is appropriate. The description only states what it does, leaving the agent without decision-making help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_github_pull_requestA
Get a single GitHub pull request by its own id.
GitHub pull requests are read-only mirror rows synced by OpenProject's own GitHub App integration -- never creatable via this API. An empty or 404 result can mean either the pull request doesn't exist, or the GitHub App integration isn't configured on this instance; OpenProject's API does not distinguish these cases.
Unlike work-package-scoped lookups in this domain, this global lookup relies on OpenProject's own visibility check (whether the linked work package is visible to the API token), not on this MCP's OPENPROJECT_READ_PROJECTS allowlist -- the pull request payload carries no project link for this MCP to check against.
| Name | Required | Description | Default |
|---|---|---|---|
| github_pull_request_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| body | Yes | |
| draft | Yes | |
| state | Yes | |
| title | Yes | |
| author | Yes | |
| labels | Yes | |
| merged | Yes | |
| number | Yes | |
| html_url | Yes | |
| merged_at | Yes | |
| merged_by | Yes | |
| created_at | Yes | |
| repository | Yes | |
| updated_at | Yes | |
| body_length | Yes | |
| body_truncated | Yes | |
| comments_count | Yes | |
| additions_count | Yes | |
| deletions_count | Yes | |
| github_updated_at | Yes | |
| changed_files_count | Yes | |
| repository_html_url | Yes | |
| review_comments_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and meets it: it discloses that PRs are read-only mirror rows that can never be created via this API, that empty/404 results are ambiguous, and that visibility is governed by OpenProject's own check rather than this MCP's OPENPROJECT_READ_PROJECTS allowlist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence front-loads the purpose and the following paragraphs each earn their place by covering a distinct caveat (read-only, ambiguous 404, visibility model). It is slightly long, but no sentence is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description supplies the non-obvious operational facts an agent needs: the read-only nature, the unresolvable 404 ambiguity, and the visibility model. Little is missing for a one-parameter lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single integer id parameter, so the schema itself adds nothing. The description contributes only the distinction that this is the pull request's 'own id' rather than a work-package-scoped identifier; it gives no format, range, or source guidance for the value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb (Get), resource (GitHub pull request), and scope constraint (single, by its own id). No sibling in the list operates on pull requests, so no disambiguation is required, and the 'global lookup' framing further pins down what is fetched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains the retrieval context and the interpretation of results, including that empty/404 is ambiguous between a missing PR and a missing GitHub App integration. It does not state when to prefer a different tool, but no plausible alternative exists in this sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_instance_configurationA
Return instance-level OpenProject configuration and active feature flags.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| host_name | Yes | |
| hours_per_day | Yes | |
| days_per_month | Yes | |
| duration_format | Yes | |
| per_page_options | Yes | |
| available_features | Yes | |
| trialling_features | Yes | |
| active_feature_flags | Yes | |
| maximum_api_v3_page_size | Yes | |
| maximum_attachment_file_size_bytes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Return' implies a safe read, and it discloses the returned content (configuration plus active feature flags), but it says nothing about auth/permission requirements, whether values are admin-scoped, caching, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the action and the exact resource. No filler, no redundancy with the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation here, and a zero-parameter getter has few hidden behaviors. The remaining gap is scope/eligibility - who can call it and what 'instance-level' covers - which is minor for a simple read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema description baseline of 4 applies. There is nothing parameter-related for the description to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Return') plus a well-scoped resource ('instance-level OpenProject configuration and active feature flags'), which is distinguishable from the sibling list_*/get_* entity lookups. It does not name those siblings, but the resource is narrow enough that confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use statement or named alternatives. Usage is only implied by the name and the phrase 'instance-level configuration' - an agent can infer it is the tool for discovering available feature flags, but nothing tells it when this is preferable to other calls or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priorityA
Get a single work package priority by id.
| Name | Required | Description | Default |
|---|---|---|---|
| priority_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| color | Yes | |
| position | Yes | |
| is_active | Yes | |
| is_default | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It only says 'Get', which implies a read-only operation, but does not describe return format, error behavior when the ID is not found, authentication requirements, or any side effects. This is minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It is appropriately concise for a simple get-by-id tool and every word contributes to conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a simple single-item retrieval tool: it states what is retrieved and how (by id). The presence of an output schema (per context signals) means return values need not be described. However, it would benefit from mentioning how to obtain a priority_id or what happens if the ID is invalid, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds only 'by id', which does not meaningfully clarify the parameter beyond the schema's name and title. It does not explain the integer format, how to discover the ID, or any constraints. The description provides almost no added value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a clear resource ('work package priority') and scope ('single... by id'), which distinguishes it from sibling tools like list_priorities that return collections. It is unambiguous about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the user must have or know the priority_id, but it does not explicitly state when to use this tool over alternatives like list_priorities, nor does it mention how to obtain valid IDs. Usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_phase_definitionA
Get a single project lifecycle phase definition by id.
| Name | Required | Description | Default |
|---|---|---|---|
| phase_definition_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| created_at | Yes | |
| start_gate | Yes | |
| updated_at | Yes | |
| finish_gate | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states 'Get' without clarifying that this is a read-only operation, that it returns a single object, or any potential errors. It does not add context beyond the action itself, leaving behavioral expectations undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. It immediately states the action and resource, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no nested objects, output schema present), the description is complete enough. It does not need to explain return values since the output schema defines the structure, and there are no complex behaviors or side effects to disclose for a simple fetch-by-id operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (no descriptions in schema properties), so the description must compensate. The phrase 'by id' clarifies that the sole parameter is the identifier, but it does not elaborate on the id's origin, format, or relationship to other entities. This is minimally sufficient but adds little beyond the parameter name 'phase_definition_id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' with a precise resource ('single project lifecycle phase definition') and explicitly mentions retrieval by id. It clearly distinguishes from sibling tools like list_project_phase_definitions (which lists all) and get_project_phase (which likely retrieves a different entity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a specific phase_definition_id, but it does not explicitly state when to prefer this over alternatives, nor does it mention any exclusions or prerequisites. The guidance is implicit rather than explicit, fitting the 'implied usage' category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusB
Get a single work package status by id.
| Name | Required | Description | Default |
|---|---|---|---|
| status_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| color | Yes | |
| position | Yes | |
| is_closed | Yes | |
| is_default | Yes | |
| is_readonly | No | |
| default_done_ratio | No | |
| excluded_from_totals | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a minimal description, the tool's behavior is not fully disclosed. The word 'get' suggests a read-only operation, but it does not explicitly confirm the absence of side effects, error behavior for invalid ids, or permission requirements. The description lacks transparency about what happens on failure or if the id does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words or redundant information. It is concise and to the point, which is ideal for a simple get operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and the description does not mention what the return value will be (e.g., full status object, specific fields). It also omits any error handling or edge-case behavior. For a get operation, this leaves the user guessing about the response format, making the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'status_id' is self-explanatory from its name and type (integer), and the description reiterates that it identifies the status. However, the description does not add any extra context about the id's meaning, range, or format, so it adds little beyond the schema itself. Given the schema covers the parameter, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (get), the resource (work package status), and the specific identifier (by id). It distinguishes itself from the list_statuses sibling by indicating it retrieves a single item, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving one specific status when an id is known, but it does not explicitly state when to prefer this over list_statuses or when not to use it. It provides no guidance on prerequisites or conditions, so while the intent is clear, usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_typeB
Get a single work package type by id.
| Name | Required | Description | Default |
|---|---|---|---|
| type_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| color | Yes | |
| position | Yes | |
| created_at | No | |
| is_default | Yes | |
| updated_at | No | |
| is_milestone | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral transparency. It indicates a read-like 'Get' operation and an id parameter, but does not disclose behavior such as whether a non-existent id returns an error or empty result, any access requirements, or other side-effect-free guarantees. This is minimal information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately communicates the core operation. There is no wasted wording, and the key qualifier 'single' is front-loaded to clarify the scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple fetch-by-id tool with a minimal schema and an output schema. The description provides the core function but lacks contextual completeness: it does not clarify the relationship to list_types or indicate the retrieval behavior when not found. It is minimally viable but could be improved with one sentence about alternatives or failure semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description says 'by id' but never explicitly maps the id to the type_id parameter. It gives no additional context about the parameter beyond what the schema's property name already implies. For a single-parameter tool, this is a notable gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('a single work package type'), and explicitly notes retrieval is by id. This distinguishes it from list_types (which would return multiple types) and other get_* siblings for different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. There is no mention that list_types is the appropriate tool for retrieving all types, nor any exclusions or prerequisites. The description simply states what it does, not why or when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_actionsA
List API actions exposed by OpenProject.
select fields: id, url (see server instructions for select's general semantics).
limit is capped at OPENPROJECT_MAX_PAGE_SIZE (default 50); pass the returned next_offset as the next call's offset to page past the cap.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| select | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the page-size cap and the offset/next_offset paging contract, which is real behavioral context. But it omits read-only confirmation, permission/auth requirements, and any note on the shape or volume of returned actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the tool's purpose and then the pagination mechanics. Nothing redundant, though the phrasing is slightly terse rather than crisply structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter list tool with no output schema and no annotations, the description covers pagination and the select semantics adequately. It leaves gaps around what an 'action' object is and whether any permissions are needed, which the absent annotations would otherwise supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does for the key parameters: it explains what `select` accepts (id, url) and points to server instructions for general semantics, and it documents `limit` via the page-size cap. `offset` is covered only indirectly through the next_offset paging hint, so it is not fully documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List API actions exposed by OpenProject'), which clearly distinguishes it from the other list_* siblings that enumerate different resources (types, statuses, roles). It is clear, though it does not explicitly name sibling alternatives to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete operational guidance on how to call it: the limit cap of OPENPROJECT_MAX_PAGE_SIZE (default 50) and the instruction to pass the returned next_offset as the next offset. However, it offers no guidance on when to use this tool versus the sibling list_* tools, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_prioritiesA
List all available work package priorities.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It clearly indicates a read-only listing operation, but it does not disclose any additional behavioral details such as response format, sorting, or whether it includes all fields. However, for a simple list tool, this might be sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, short sentence that is perfectly concise and front-loaded with the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description is complete enough. It states the action and scope ('all available') without needing extra detail. It could mention the response format, but it's a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (trivially). The description adds nothing beyond the schema because there are no parameters to explain. Baseline for high coverage is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'List all available work package priorities.' It uses a specific verb and resource, and it distinguishes from siblings like get_priority by indicating it lists all priorities rather than fetching a specific one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's purpose is obvious from the name and description, but it does not explicitly mention when to use it over alternatives like get_priority. The usage context is implied, but no explicit guidance on choosing between tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_phase_definitionsA
List available project lifecycle phase definitions exposed by OpenProject.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic function ('List available... definitions') without revealing whether the list is global or project-specific, whether authentication is required, how results are paginated, or what the response looks like. The description is minimal and does not add behavioral traits beyond the name itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that starts with the verb 'List' and immediately identifies the resource. Every word contributes meaningful context, and there is no redundancy or filler. It is appropriately sized for a tool with zero parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool, the description adequately communicates its core purpose and allows correct invocation. However, it lacks explicit disambiguation from related tools such as get_project_phase_definition, and it does not hint at the response format or whether definitions are system-wide or project-scoped. Given the low complexity, the description is nearly complete but could add a phrase to clarify its relationship to phases or definitions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (0 parameters), so there are no parameter semantics to explain. Per the guideline, 0 params results in a baseline of 4. The description does not need to add parameter information, and it correctly implies that invocation requires no arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a list operation ('List') targeting a specific resource ('project lifecycle phase definitions'), distinguishing it from sibling tools like get_project_phase_definition (which retrieves a single definition) and list_project_sprints (which lists a different resource). The scope ('available ... exposed by OpenProject') adds useful context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that this is the tool to enumerate definitions, nor does it suggest using get_project_phase_definition for a specific definition. The only implicit clue is the verb 'list', but no exclusions or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_rolesA
List OpenProject roles visible to the current user.
select fields: id, name (see server instructions for select's general semantics). limit is capped at OPENPROJECT_MAX_PAGE_SIZE (default 50); pass the returned next_offset as the next call's offset to page past the cap.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| select | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that results are scoped to the current user's visibility, and it explains the limit cap and pagination behavior via next_offset. However, it does not explicitly confirm read-only status, describe error conditions, or cover other behavioral traits an agent might need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences and front-loads the purpose. The follow-up lines about select and pagination are efficient, though the middle sentence is somewhat terse and relies on an external reference for select semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% schema description coverage, the description still covers purpose, parameter usage, and pagination mechanics well enough for an agent to invoke the tool correctly. It could be more complete by describing the return shape or default select behavior, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for all three parameters: limit is capped at OPENPROJECT_MAX_PAGE_SIZE (default 50), offset should be set to the returned next_offset for paging, and select supports at least id and name fields. It falls short of fully self-contained semantics because it defers select's general meaning to server instructions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List OpenProject roles visible to the current user.' It also scopes the result set to what the current user can see, distinguishing it from sibling list tools that target other resources like types, statuses, or priorities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to page and select fields, but gives no explicit guidance on when to use this tool versus alternatives. There is no mention of when-not to use it or which sibling tool to prefer in different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_statusesA
List all available work package statuses.
Read-only: statuses cannot be created or modified via the OpenProject API (Community Edition); configure them in the web admin UI.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that the operation is read-only and that statuses cannot be created or modified via the API, providing clear behavioral expectations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, conveying all necessary information without extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers what the tool does, its read-only nature, and where to manage statuses, making it complete for an agent to decide and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description does not need to elaborate on parameter meanings. The absence of parameters is consistent with the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists all available work package statuses, which is a specific and distinct action. It differentiates from sibling tools by focusing on statuses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use the tool (when needing to retrieve statuses) and explicitly notes that statuses cannot be modified via API, directing configuration to the web admin UI. It does not explicitly mention alternatives, but the scope is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_typesA
List all available work package types, optionally filtered by project.
Read-only: types cannot be created or modified via the OpenProject API (Community Edition); configure them in the web admin UI.
| Name | Required | Description | Default |
|---|---|---|---|
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds a valuable read-only warning: types cannot be created or modified via the OpenProject API and are configured in the web admin UI. This goes beyond a simple list statement, though it omits details like authentication requirements or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: the first sentence states the core purpose and filtering capability, and the second provides an important behavioral caveat. Every sentence earns its place with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a relatively simple tool with one optional parameter and no output schema. The description covers the main purpose, filtering behavior, and an important read-only constraint. It is sufficiently complete for an agent to select and invoke the tool correctly, though it could mention return format or project identifier specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only a project string field with 0% description coverage. The tool description compensates by explaining that the project parameter is an optional filter, giving semantic meaning that the schema alone lacks. It does not specify the expected format of the project identifier, so it is not a perfect 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists 'all available work package types' with an optional project filter. This is a specific verb+resource combination and distinguishes it from sibling tools like get_type, which fetches a single type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (to list types) and provides the context that types are read-only via the API and must be configured in the web admin UI. However, it does not explicitly mention alternatives or when not to use it, such as whether to prefer get_type for a specific type lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
51 tool updates
v0.4.0- Removed
get_attachment - Removed
get_board - Removed
get_category - Added
get_cost_type - Removed
get_document - Added
get_github_pull_request - Removed
get_grid - Changed
get_instance_configuration3 fields changed- removed
Output schema / properties / maximum_attachment_file_sizeRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Maximum Attachment File Size" -} - added
Output schema / properties / maximum_attachment_file_size_bytesAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Maximum Attachment File Size Bytes" +} - changed
Output schema / requiredPrevious value: -[ - "host_name", - "maximum_attachment_file_size", - "maximum_api_v3_page_size", - "per_page_options", - "duration_format", - "hours_per_day", - "days_per_month", - "active_feature_flags", - "available_features", - "trialling_features" -]New value: +[ + "host_name", + "maximum_attachment_file_size_bytes", + "maximum_api_v3_page_size", + "per_page_options", + "duration_format", + "hours_per_day", + "days_per_month", + "active_feature_flags", + "available_features", + "trialling_features" +]
- Removed
get_job_status - Removed
get_membership - Removed
get_my_project_access - Removed
get_news - Removed
get_project - Removed
get_project_admin_context - Removed
get_project_configuration - Removed
get_project_phase - Removed
get_project_work_package_context - Removed
get_sprint - Removed
get_time_entry - Removed
get_version - Removed
get_view - Removed
get_wiki_page - Removed
get_work_package - Removed
get_work_package_activities - Removed
get_work_package_relations - Removed
get_work_packages - Changed
list_actions1 field changed- added
Input schema / properties / selectAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Select" +}
- Removed
list_boards - Removed
list_capabilities - Removed
list_categories - Removed
list_documents - Removed
list_grids - Removed
list_my_open_work_packages - Removed
list_news - Removed
list_project_memberships - Removed
list_project_sprints - Removed
list_projects - Removed
list_relations - Removed
list_reminders - Changed
list_roles3 fields changed- added
Input schema / properties / limitAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Limit" +} - added
Input schema / properties / offsetAdded value: +{ + "default": 1, + "title": "Offset", + "type": "integer" +} - added
Input schema / properties / selectAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Select" +}
- Removed
list_sprints - Removed
list_time_entries - Removed
list_time_entry_activities - Removed
list_versions - Removed
list_views - Removed
list_work_package_attachments - Removed
list_work_package_file_links - Removed
list_work_package_reactions - Removed
list_work_package_watchers - Removed
list_work_packages - Removed
search_work_packages
3 tool updates
v0.3.8- Changed
get_category2 fields changed- removed
Output schema / properties / is_defaultRemoved value: -{ - "title": "Is Default", - "type": "boolean" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "project_id", - "project", - "is_default" -]New value: +[ + "id", + "name", + "project_id", + "project" +]
- Changed
get_job_status4 fields changed- removed
Output schema / properties / created_atRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" -} - removed
Output schema / properties / percentage_completeRemoved value: -{ - "anyOf": [ - { - "type": "integer" - }, - { - "type": "number" - }, - { - "type": "null" - } - ], - "title": "Percentage Complete" -} - removed
Output schema / properties / updated_atRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "type", - "status", - "message", - "created_at", - "updated_at", - "percentage_complete", - "project_id", - "project", - "created_resource_type", - "created_resource_id", - "created_resource_name" -]New value: +[ + "id", + "type", + "status", + "message", + "project_id", + "project", + "created_resource_type", + "created_resource_id", + "created_resource_name" +]
- Changed
get_project_admin_context1 field changed- added
Output schema / $defs / ProjectRef / descriptionAdded value: +"Lightweight project picklist entry -- id/identifier/name only.\n\nUsed where a caller needs to pick a project by reference (e.g. a parent\nproject) but not read its full description/status: the full ProjectSummary\nwould cost a description/status_explanation (up to 1200 chars) per\ncandidate for no benefit to that use case."
58 tool updates
v0.3.7- Changed
get_attachment3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "title", - "file_name", - "file_size", - "description", - "content_type", - "status", - "author", - "container_type", - "container_id", - "created_at", - "download_url", - "url" -]New value: +[ + "id", + "title", + "file_name", + "file_size", + "description", + "content_type", + "status", + "author", + "container_type", + "container_id", + "created_at", + "download_url" +]
- Changed
get_board3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "project_id", - "project", - "public", - "hidden", - "starred", - "include_subprojects", - "show_hierarchies", - "timeline_visible", - "timeline_zoom_level", - "highlighting_mode", - "group_by", - "columns", - "sort_by", - "highlighted_attributes", - "timestamps", - "filters", - "created_at", - "updated_at", - "can_update", - "can_delete", - "url" -]New value: +[ + "id", + "name", + "project_id", + "project", + "public", + "hidden", + "starred", + "include_subprojects", + "show_hierarchies", + "timeline_visible", + "timeline_zoom_level", + "highlighting_mode", + "group_by", + "columns", + "sort_by", + "highlighted_attributes", + "timestamps", + "filters", + "created_at", + "updated_at", + "can_update", + "can_delete" +]
- Changed
get_category3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "project_id", - "project", - "is_default", - "url" -]New value: +[ + "id", + "name", + "project_id", + "project", + "is_default" +]
- Changed
get_current_user3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "login", - "url" -]New value: +[ + "id", + "name", + "login" +]
- Changed
get_document4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / attachments_urlRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Attachments Url" -} - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "title", - "project_id", - "project", - "description", - "created_at", - "attachment_count", - "attachments_url", - "can_update", - "url" -]New value: +[ + "id", + "title", + "project_id", + "project", + "description", + "created_at", + "attachment_count", + "can_update" +]
- Changed
get_grid3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "row_count", - "column_count", - "scope", - "created_at", - "updated_at", - "url" -]New value: +[ + "id", + "row_count", + "column_count", + "scope", + "created_at", + "updated_at" +]
- Changed
get_instance_configuration1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_job_status4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / linksRemoved value: -{ - "items": { - "type": "string" - }, - "title": "Links", - "type": "array" -} - removed
Output schema / properties / urlRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "type", - "status", - "message", - "created_at", - "updated_at", - "percentage_complete", - "project_id", - "project", - "created_resource_type", - "created_resource_id", - "created_resource_name", - "links", - "url" -]New value: +[ + "id", + "type", + "status", + "message", + "created_at", + "updated_at", + "percentage_complete", + "project_id", + "project", + "created_resource_type", + "created_resource_id", + "created_resource_name" +]
- Changed
get_membership3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "principal_id", - "principal_name", - "project_id", - "project_name", - "role_ids", - "role_names", - "can_update", - "can_update_immediately", - "url" -]New value: +[ + "id", + "principal_id", + "principal_name", + "project_id", + "project_name", + "role_ids", + "role_names", + "can_update", + "can_update_immediately" +]
- Changed
get_my_project_access3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / $defs / MembershipSummary / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / $defs / MembershipSummary / requiredPrevious value: -[ - "id", - "principal_id", - "principal_name", - "project_id", - "project_name", - "role_ids", - "role_names", - "can_update", - "can_update_immediately", - "url" -]New value: +[ + "id", + "principal_id", + "principal_name", + "project_id", + "project_name", + "role_ids", + "role_names", + "can_update", + "can_update_immediately" +]
- Changed
get_news3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "title", - "summary", - "description", - "project_id", - "project", - "author", - "created_at", - "can_update", - "can_delete", - "url" -]New value: +[ + "id", + "title", + "summary", + "description", + "project_id", + "project", + "author", + "created_at", + "can_update", + "can_delete" +]
- Changed
get_priority1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_project3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "identifier", - "active", - "description", - "url" -]New value: +[ + "id", + "name", + "identifier", + "active", + "description" +]
- Changed
get_project_admin_context5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / $defs / ProjectRef / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / $defs / ProjectRef / requiredPrevious value: -[ - "id", - "identifier", - "name", - "url" -]New value: +[ + "id", + "identifier", + "name" +] - removed
Output schema / $defs / ProjectSummary / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / $defs / ProjectSummary / requiredPrevious value: -[ - "id", - "name", - "identifier", - "active", - "description", - "url" -]New value: +[ + "id", + "name", + "identifier", + "active", + "description" +]
- Changed
get_project_configuration3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "project_id", - "project_name", - "maximum_attachment_file_size", - "maximum_api_v3_page_size", - "per_page_options", - "duration_format", - "hours_per_day", - "days_per_month", - "active_feature_flags", - "available_features", - "trialling_features", - "enabled_internal_comments", - "url" -]New value: +[ + "project_id", + "project_name", + "maximum_attachment_file_size", + "maximum_api_v3_page_size", + "per_page_options", + "duration_format", + "hours_per_day", + "days_per_month", + "active_feature_flags", + "available_features", + "trialling_features", + "enabled_internal_comments" +]
- Changed
get_project_phase3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "project_id", - "project", - "phase_definition_id", - "phase_definition", - "start_date", - "finish_date", - "created_at", - "updated_at", - "url" -]New value: +[ + "id", + "name", + "project_id", + "project", + "phase_definition_id", + "phase_definition", + "start_date", + "finish_date", + "created_at", + "updated_at" +]
- Changed
get_project_phase_definition3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "start_gate", - "finish_gate", - "created_at", - "updated_at", - "url" -]New value: +[ + "id", + "name", + "start_gate", + "finish_gate", + "created_at", + "updated_at" +]
- Changed
get_project_work_package_context3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / $defs / VersionSummary / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / $defs / VersionSummary / requiredPrevious value: -[ - "id", - "name", - "status", - "sharing", - "start_date", - "end_date", - "defining_project", - "description", - "url" -]New value: +[ + "id", + "name", + "status", + "sharing", + "start_date", + "end_date", + "defining_project", + "description" +]
- Changed
get_sprint4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / status_hrefRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status Href" -} - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "status", - "status_href", - "start_date", - "finish_date", - "defining_workspace_id", - "defining_workspace", - "created_at", - "updated_at", - "url" -]New value: +[ + "id", + "name", + "status", + "start_date", + "finish_date", + "defining_workspace_id", + "defining_workspace", + "created_at", + "updated_at" +]
- Changed
get_status3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "is_default", - "is_closed", - "color", - "position", - "url" -]New value: +[ + "id", + "name", + "is_default", + "is_closed", + "color", + "position" +]
- Changed
get_time_entry3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "project", - "entity_type", - "entity_id", - "entity_name", - "user", - "activity", - "hours", - "spent_on", - "start_time", - "end_time", - "ongoing", - "comment", - "created_at", - "updated_at", - "url" -]New value: +[ + "id", + "project", + "entity_type", + "entity_id", + "entity_name", + "user", + "activity", + "hours", + "spent_on", + "start_time", + "end_time", + "ongoing", + "comment", + "created_at", + "updated_at" +]
- Changed
get_type3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "color", - "position", - "is_default", - "is_milestone", - "url" -]New value: +[ + "id", + "name", + "color", + "position", + "is_default", + "is_milestone" +]
- Changed
get_version3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "name", - "status", - "sharing", - "start_date", - "end_date", - "defining_project", - "description", - "url" -]New value: +[ + "id", + "name", + "status", + "sharing", + "start_date", + "end_date", + "defining_project", + "description" +]
- Changed
get_view3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "type", - "name", - "project_id", - "project", - "query_id", - "query", - "public", - "starred", - "created_at", - "updated_at", - "links", - "url" -]New value: +[ + "id", + "type", + "name", + "project_id", + "project", + "query_id", + "query", + "public", + "starred", + "created_at", + "updated_at", + "links" +]
- Changed
get_wiki_page4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / attachments_urlRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Attachments Url" -} - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "title", - "project_id", - "project", - "content", - "attachments_url", - "url" -]New value: +[ + "id", + "title", + "project_id", + "project", + "content" +]
- Changed
get_work_package5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / activities_urlRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Activities Url" -} - removed
Output schema / properties / relations_urlRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Relations Url" -} - removed
Output schema / properties / urlRemoved value: -{ - "title": "Url", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "id", - "display_id", - "subject", - "type", - "status", - "priority", - "project_phase", - "assignee", - "responsible", - "project", - "version", - "sprint", - "parent_id", - "parent_display_id", - "start_date", - "due_date", - "percentage_complete", - "lock_version", - "description", - "url", - "activities_url", - "relations_url" -]New value: +[ + "id", + "display_id", + "subject", + "type", + "status", + "priority", + "project_phase", + "assignee", + "responsible", + "project", + "version", + "sprint", + "parent_id", + "parent_display_id", + "start_date", + "due_date", + "percentage_complete", + "lock_version", + "description" +]
- Changed
get_work_package_activities1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_work_package_relations1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_work_packages1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_actions1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_boards1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_capabilities1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_categories1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_documents1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_grids1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_my_open_work_packages1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_news1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_priorities1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_project_memberships1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_project_phase_definitions1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_project_sprints1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_projects1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_relations1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_reminders1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_roles1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_sprints1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_statuses1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_time_entries1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_time_entry_activities1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_types1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_versions1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_views1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_work_package_attachments1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_work_package_file_links1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_work_package_reactions1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_work_package_watchers1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
list_work_packages1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
search_work_packages1 field changed- added
Input schema / additionalPropertiesAdded value: +false
7 tool updates
v0.3.5- Changed
get_job_status2 fields changed- changed
Input schema / properties / job_status_id / typePrevious value: -"integer"New value: +"string" - changed
Output schema / properties / id / anyOfPrevious value: -[ - { - "type": "integer" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "null" + } +]
- Changed
get_my_project_access2 fields changed- removed
Output schema / properties / project_linksRemoved value: -{ - "items": { - "type": "string" - }, - "title": "Project Links", - "type": "array" -} - changed
Output schema / requiredPrevious value: -[ - "project_id", - "project_name", - "project_identifier", - "current_user_id", - "current_user_name", - "membership", - "project_links", - "inferred_is_project_admin", - "inferred_can_edit_project", - "inferred_can_manage_memberships", - "inference_basis" -]New value: +[ + "project_id", + "project_name", + "project_identifier", + "current_user_id", + "current_user_name", + "membership", + "inferred_is_project_admin", + "inferred_can_edit_project", + "inferred_can_manage_memberships", + "inference_basis" +]
- Changed
get_project_admin_context4 fields changed- added
Output schema / $defs / ProjectRefAdded value: +{ + "properties": { + "id": { + "title": "Id", + "type": "integer" + }, + "identifier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Identifier" + }, + "name": { + "title": "Name", + "type": "string" + }, + "url": { + "title": "Url", + "type": "string" + } + }, + "required": [ + "id", + "identifier", + "name", + "url" + ], + "title": "ProjectRef", + "type": "object" +} - changed
Output schema / properties / available_parent_projects / items / $refPrevious value: -"#/$defs/ProjectSummary"New value: +"#/$defs/ProjectRef" - removed
Output schema / properties / project_linksRemoved value: -{ - "items": { - "type": "string" - }, - "title": "Project Links", - "type": "array" -} - changed
Output schema / requiredPrevious value: -[ - "project", - "available_statuses", - "available_parent_projects", - "fields", - "project_links" -]New value: +[ + "project", + "available_statuses", + "available_parent_projects", + "fields" +]
- Changed
get_time_entry2 fields changed- added
Output schema / properties / comment_lengthAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Comment Length" +} - added
Output schema / properties / comment_truncatedAdded value: +{ + "default": false, + "title": "Comment Truncated", + "type": "boolean" +}
- Changed
get_work_package2 fields changed- changed
Output schema / properties / ancestors / anyOfPrevious value: -[ - { - "items": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } +] - changed
Output schema / properties / children / anyOfPrevious value: -[ - { - "items": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } -]New value: +[ + { + "items": { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } +]
- Changed
get_work_package_relations2 fields changed- added
Input schema / properties / limitAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Limit" +} - added
Input schema / properties / offsetAdded value: +{ + "default": 1, + "title": "Offset", + "type": "integer" +}
- Changed
list_relations2 fields changed- added
Input schema / properties / limitAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Limit" +} - added
Input schema / properties / offsetAdded value: +{ + "default": 1, + "title": "Offset", + "type": "integer" +}
51 tool updates
v0.3.3- Added
get_attachment - Added
get_board - Added
get_category - Added
get_current_user - Added
get_document - Added
get_grid - Added
get_instance_configuration - Added
get_job_status - Added
get_membership - Added
get_my_project_access - Added
get_priority - Added
get_project - Added
get_project_admin_context - Added
get_project_configuration - Added
get_project_phase_definition - Added
get_project_work_package_context - Added
get_sprint - Added
get_time_entry - Added
get_type - Added
get_version - Added
get_view - Added
get_wiki_page - Added
get_work_package - Added
get_work_package_activities - Added
get_work_package_relations - Added
get_work_packages - Added
list_actions - Added
list_boards - Added
list_capabilities - Added
list_categories - Added
list_documents - Added
list_grids - Added
list_news - Added
list_priorities - Added
list_project_memberships - Added
list_project_phase_definitions - Added
list_projects - Added
list_relations - Added
list_reminders - Added
list_roles - Added
list_sprints - Added
list_time_entries - Added
list_time_entry_activities - Added
list_types - Added
list_versions - Added
list_views - Added
list_work_package_attachments - Added
list_work_package_file_links - Added
list_work_package_reactions - Added
list_work_packages - Added
search_work_packages
59 tool updates
v0.3.0- Removed
get_attachment - Removed
get_board - Removed
get_category - Removed
get_current_user - Removed
get_document - Removed
get_grid - Removed
get_group - Removed
get_instance_configuration - Removed
get_job_status - Removed
get_membership - Removed
get_my_preferences - Removed
get_my_project_access - Removed
get_priority - Removed
get_project - Removed
get_project_admin_context - Removed
get_project_configuration - Removed
get_project_phase_definition - Removed
get_project_work_package_context - Changed
get_status3 fields changed- added
Output schema / properties / default_done_ratioAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Default Done Ratio" +} - added
Output schema / properties / excluded_from_totalsAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Excluded From Totals" +} - added
Output schema / properties / is_readonlyAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Is Readonly" +}
- Removed
get_time_entry - Removed
get_type - Removed
get_user - Removed
get_version - Removed
get_view - Removed
get_wiki_page - Removed
get_work_package - Removed
get_work_package_activities - Removed
get_work_package_relations - Removed
get_work_packages - Removed
list_actions - Removed
list_boards - Removed
list_capabilities - Removed
list_categories - Removed
list_documents - Removed
list_grids - Removed
list_groups - Removed
list_news - Removed
list_notifications - Removed
list_principals - Removed
list_priorities - Removed
list_project_memberships - Removed
list_project_phase_definitions - Added
list_project_sprints - Removed
list_projects - Removed
list_relations - Removed
list_reminders - Removed
list_roles - Removed
list_time_entries - Removed
list_time_entry_activities - Removed
list_types - Removed
list_users - Removed
list_versions - Removed
list_views - Removed
list_work_package_attachments - Removed
list_work_package_file_links - Removed
list_work_package_reactions - Removed
list_work_packages - Removed
search_work_packages - Removed
update_my_preferences
48 tool updates
v0.2.3- Removed
get_custom_option - Removed
get_help_text - Removed
get_query_column - Removed
get_query_filter - Removed
get_query_filter_instance_schema - Removed
get_query_operator - Removed
get_query_sort_by - Changed
get_work_package17 fields changed- added
Input schema / properties / text_limitAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Text Limit" +} - added
Output schema / properties / ancestorsAdded value: +{ + "anyOf": [ + { + "items": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Ancestors" +} - added
Output schema / properties / ancestors_truncatedAdded value: +{ + "default": false, + "title": "Ancestors Truncated", + "type": "boolean" +} - added
Output schema / properties / authorAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Author" +} - added
Output schema / properties / categoryAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Category" +} - added
Output schema / properties / childrenAdded value: +{ + "anyOf": [ + { + "items": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Children" +} - added
Output schema / properties / children_truncatedAdded value: +{ + "default": false, + "title": "Children Truncated", + "type": "boolean" +} - added
Output schema / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Created At" +} - added
Output schema / properties / derived_estimated_timeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Derived Estimated Time" +} - added
Output schema / properties / derived_remaining_timeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Derived Remaining Time" +} - added
Output schema / properties / description_lengthAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Description Length" +} - added
Output schema / properties / description_truncatedAdded value: +{ + "default": false, + "title": "Description Truncated", + "type": "boolean" +} - added
Output schema / properties / durationAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Duration" +} - added
Output schema / properties / estimated_timeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Estimated Time" +} - added
Output schema / properties / remaining_timeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Remaining Time" +} - added
Output schema / properties / spent_timeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Spent Time" +} - added
Output schema / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Updated At" +}
- Changed
get_work_package_activities2 fields changed- added
Input schema / properties / text_limitAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Text Limit" +} - changed
Output schema / (root)Previous value: -{ - "$defs": { - "ActivitySummary": { - "properties": { - "comment": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Comment" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "user": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "User" - }, - "version": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Version" - } - }, - "required": [ - "id", - "type", - "version", - "user", - "comment", - "created_at" - ], - "title": "ActivitySummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/ActivitySummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "ActivityListResult", - "type": "object" -}New value: +null
- Changed
get_work_package_relations1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "RelationSummary": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "from_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "From Id" - }, - "from_subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "From Subject" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "to_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "To Id" - }, - "to_subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "To Subject" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - } - }, - "required": [ - "id", - "type", - "description", - "from_id", - "from_subject", - "to_id", - "to_subject" - ], - "title": "RelationSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/RelationSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "RelationListResult", - "type": "object" -}New value: +null
- Added
get_work_packages - Changed
list_actions1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "ActionSummary": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "id": { - "title": "Id", - "type": "string" - }, - "modules": { - "items": { - "type": "string" - }, - "title": "Modules", - "type": "array" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Name" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "id", - "name", - "description", - "modules", - "url" - ], - "title": "ActionSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/ActionSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "ActionListResult", - "type": "object" -}New value: +null
- Changed
list_boards1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "BoardSummary": { - "properties": { - "can_delete": { - "title": "Can Delete", - "type": "boolean" - }, - "can_update": { - "title": "Can Update", - "type": "boolean" - }, - "filter_count": { - "title": "Filter Count", - "type": "integer" - }, - "hidden": { - "title": "Hidden", - "type": "boolean" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "include_subprojects": { - "title": "Include Subprojects", - "type": "boolean" - }, - "name": { - "title": "Name", - "type": "string" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "public": { - "title": "Public", - "type": "boolean" - }, - "show_hierarchies": { - "title": "Show Hierarchies", - "type": "boolean" - }, - "starred": { - "title": "Starred", - "type": "boolean" - }, - "timeline_visible": { - "title": "Timeline Visible", - "type": "boolean" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "project_id", - "project", - "public", - "hidden", - "starred", - "include_subprojects", - "show_hierarchies", - "timeline_visible", - "filter_count", - "can_update", - "can_delete", - "url" - ], - "title": "BoardSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/BoardSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "BoardListResult", - "type": "object" -}New value: +null
- Changed
list_capabilities1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "CapabilitySummary": { - "properties": { - "action_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Action Id" - }, - "action_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Action Name" - }, - "context": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Context" - }, - "id": { - "title": "Id", - "type": "string" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Name" - }, - "principal_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Principal Id" - }, - "principal_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Principal Name" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - } - }, - "required": [ - "id", - "name", - "action_id", - "action_name", - "principal_id", - "principal_name", - "context", - "url" - ], - "title": "CapabilitySummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/CapabilitySummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "CapabilityListResult", - "type": "object" -}New value: +null
- Changed
list_categories1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "CategorySummary": { - "properties": { - "id": { - "title": "Id", - "type": "integer" - }, - "is_default": { - "title": "Is Default", - "type": "boolean" - }, - "name": { - "title": "Name", - "type": "string" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "project_id", - "project", - "is_default", - "url" - ], - "title": "CategorySummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/CategorySummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "CategoryListResult", - "type": "object" -}New value: +null
- Changed
list_documents1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "DocumentSummary": { - "properties": { - "attachment_count": { - "title": "Attachment Count", - "type": "integer" - }, - "can_update": { - "title": "Can Update", - "type": "boolean" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "title": { - "title": "Title", - "type": "string" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "title", - "project_id", - "project", - "description", - "created_at", - "attachment_count", - "can_update", - "url" - ], - "title": "DocumentSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/DocumentSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "DocumentListResult", - "type": "object" -}New value: +null
- Changed
list_grids1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "GridSummary": { - "properties": { - "column_count": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Column Count" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "row_count": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Row Count" - }, - "scope": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Scope" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "row_count", - "column_count", - "scope", - "created_at", - "updated_at", - "url" - ], - "title": "GridSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/GridSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "GridListResult", - "type": "object" -}New value: +null
- Changed
list_groups1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "GroupSummary": { - "properties": { - "can_delete": { - "title": "Can Delete", - "type": "boolean" - }, - "can_update": { - "title": "Can Update", - "type": "boolean" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "member_count": { - "title": "Member Count", - "type": "integer" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Name" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "member_count", - "created_at", - "updated_at", - "can_update", - "can_delete", - "url" - ], - "title": "GroupSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/GroupSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "GroupListResult", - "type": "object" -}New value: +null
- Removed
list_help_texts - Changed
list_my_open_work_packages1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "WorkPackageSummary": { - "properties": { - "assignee": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Assignee" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "display_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Display Id" - }, - "due_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Due Date" - }, - "has_description": { - "title": "Has Description", - "type": "boolean" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "percentage_complete": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Percentage Complete" - }, - "priority": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Priority" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project Phase" - }, - "responsible": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Responsible" - }, - "start_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Start Date" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "subject": { - "title": "Subject", - "type": "string" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "url": { - "title": "Url", - "type": "string" - }, - "version": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Version" - } - }, - "required": [ - "id", - "display_id", - "subject", - "type", - "status", - "priority", - "project_phase", - "assignee", - "responsible", - "project", - "version", - "start_date", - "due_date", - "percentage_complete", - "description", - "has_description", - "url" - ], - "title": "WorkPackageSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/WorkPackageSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "WorkPackageListResult", - "type": "object" -}New value: +null
- Changed
list_news1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "NewsSummary": { - "properties": { - "author": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Author" - }, - "can_delete": { - "title": "Can Delete", - "type": "boolean" - }, - "can_update": { - "title": "Can Update", - "type": "boolean" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "summary": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Summary" - }, - "title": { - "title": "Title", - "type": "string" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "title", - "summary", - "description", - "project_id", - "project", - "author", - "created_at", - "can_update", - "can_delete", - "url" - ], - "title": "NewsSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/NewsSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "NewsListResult", - "type": "object" -}New value: +null
- Removed
list_non_working_days - Changed
list_notifications1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "NotificationSummary": { - "properties": { - "created_at": { - "title": "Created At", - "type": "string" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "project_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project Name" - }, - "read": { - "title": "Read", - "type": "boolean" - }, - "reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Reason" - }, - "subject": { - "title": "Subject", - "type": "string" - }, - "url": { - "title": "Url", - "type": "string" - }, - "work_package_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Work Package Id" - }, - "work_package_subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Work Package Subject" - } - }, - "required": [ - "id", - "subject", - "reason", - "read", - "project_id", - "project_name", - "work_package_id", - "work_package_subject", - "created_at", - "url" - ], - "title": "NotificationSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/NotificationSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - } - }, - "required": [ - "count", - "total", - "results" - ], - "title": "NotificationListResult", - "type": "object" -}New value: +null
- Changed
list_principals1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "PrincipalSummary": { - "properties": { - "email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Email" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "login": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Login" - }, - "name": { - "title": "Name", - "type": "string" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "type", - "name", - "login", - "email", - "status", - "url" - ], - "title": "PrincipalSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/PrincipalSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "PrincipalListResult", - "type": "object" -}New value: +null
- Changed
list_priorities1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "PrioritySummary": { - "properties": { - "color": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Color" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "is_active": { - "title": "Is Active", - "type": "boolean" - }, - "is_default": { - "title": "Is Default", - "type": "boolean" - }, - "name": { - "title": "Name", - "type": "string" - }, - "position": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Position" - } - }, - "required": [ - "id", - "name", - "is_default", - "is_active", - "color", - "position" - ], - "title": "PrioritySummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/PrioritySummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "PriorityListResult", - "type": "object" -}New value: +null
- Changed
list_project_memberships1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "MembershipSummary": { - "properties": { - "can_update": { - "title": "Can Update", - "type": "boolean" - }, - "can_update_immediately": { - "title": "Can Update Immediately", - "type": "boolean" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "principal_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Principal Id" - }, - "principal_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Principal Name" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "project_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project Name" - }, - "role_ids": { - "items": { - "type": "integer" - }, - "title": "Role Ids", - "type": "array" - }, - "role_names": { - "items": { - "type": "string" - }, - "title": "Role Names", - "type": "array" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "principal_id", - "principal_name", - "project_id", - "project_name", - "role_ids", - "role_names", - "can_update", - "can_update_immediately", - "url" - ], - "title": "MembershipSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/MembershipSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "MembershipListResult", - "type": "object" -}New value: +null
- Changed
list_project_phase_definitions1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "ProjectPhaseDefinition": { - "properties": { - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "finish_gate": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Finish Gate" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "name": { - "title": "Name", - "type": "string" - }, - "start_gate": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Start Gate" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "start_gate", - "finish_gate", - "created_at", - "updated_at", - "url" - ], - "title": "ProjectPhaseDefinition", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/ProjectPhaseDefinition" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "ProjectPhaseDefinitionListResult", - "type": "object" -}New value: +null
- Changed
list_projects2 fields changed- added
Input schema / properties / selectAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Select" +} - changed
Output schema / (root)Previous value: -{ - "$defs": { - "ProjectSummary": { - "properties": { - "active": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Active" - }, - "can_delete": { - "default": false, - "title": "Can Delete", - "type": "boolean" - }, - "can_update": { - "default": false, - "title": "Can Update", - "type": "boolean" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Created At" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "identifier": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Identifier" - }, - "name": { - "title": "Name", - "type": "string" - }, - "parent_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Parent Id" - }, - "parent_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Parent Name" - }, - "public": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Public" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Status" - }, - "status_explanation": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Status Explanation" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "identifier", - "active", - "description", - "url" - ], - "title": "ProjectSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/ProjectSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "ProjectListResult", - "type": "object" -}New value: +null
- Removed
list_query_filter_instance_schemas - Changed
list_relations1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "RelationSummary": { - "properties": { - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "from_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "From Id" - }, - "from_subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "From Subject" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "to_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "To Id" - }, - "to_subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "To Subject" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - } - }, - "required": [ - "id", - "type", - "description", - "from_id", - "from_subject", - "to_id", - "to_subject" - ], - "title": "RelationSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/RelationSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "RelationListResult", - "type": "object" -}New value: +null
- Changed
list_reminders1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "ReminderSummary": { - "properties": { - "creator": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Creator" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "note": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Note" - }, - "remind_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Remind At" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Url" - }, - "work_package_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Work Package Id" - } - }, - "required": [ - "id", - "remind_at", - "note", - "work_package_id", - "creator", - "url" - ], - "title": "ReminderSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/ReminderSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "ReminderListResult", - "type": "object" -}New value: +null
- Changed
list_roles1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "RoleSummary": { - "properties": { - "id": { - "title": "Id", - "type": "integer" - }, - "name": { - "title": "Name", - "type": "string" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "url" - ], - "title": "RoleSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/RoleSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "RoleListResult", - "type": "object" -}New value: +null
- Changed
list_statuses1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "StatusSummary": { - "properties": { - "color": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Color" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "is_closed": { - "title": "Is Closed", - "type": "boolean" - }, - "is_default": { - "title": "Is Default", - "type": "boolean" - }, - "name": { - "title": "Name", - "type": "string" - }, - "position": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Position" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "is_default", - "is_closed", - "color", - "position", - "url" - ], - "title": "StatusSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/StatusSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "StatusListResult", - "type": "object" -}New value: +null
- Changed
list_time_entries1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "TimeEntrySummary": { - "properties": { - "activity": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Activity" - }, - "comment": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Comment" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "end_time": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "End Time" - }, - "entity_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Entity Id" - }, - "entity_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Entity Name" - }, - "entity_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Entity Type" - }, - "hours": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Hours" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "ongoing": { - "title": "Ongoing", - "type": "boolean" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "spent_on": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Spent On" - }, - "start_time": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Start Time" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - }, - "user": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "User" - } - }, - "required": [ - "id", - "project", - "entity_type", - "entity_id", - "entity_name", - "user", - "activity", - "hours", - "spent_on", - "start_time", - "end_time", - "ongoing", - "comment", - "created_at", - "updated_at", - "url" - ], - "title": "TimeEntrySummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/TimeEntrySummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "TimeEntryListResult", - "type": "object" -}New value: +null
- Changed
list_time_entry_activities1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "TimeEntryActivitySummary": { - "properties": { - "id": { - "title": "Id", - "type": "integer" - }, - "is_default": { - "title": "Is Default", - "type": "boolean" - }, - "name": { - "title": "Name", - "type": "string" - }, - "position": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Position" - }, - "projects": { - "items": { - "type": "string" - }, - "title": "Projects", - "type": "array" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "position", - "is_default", - "projects", - "url" - ], - "title": "TimeEntryActivitySummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/TimeEntryActivitySummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "TimeEntryActivityListResult", - "type": "object" -}New value: +null
- Changed
list_types1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "TypeSummary": { - "properties": { - "color": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Color" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "is_default": { - "title": "Is Default", - "type": "boolean" - }, - "is_milestone": { - "title": "Is Milestone", - "type": "boolean" - }, - "name": { - "title": "Name", - "type": "string" - }, - "position": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Position" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "color", - "position", - "is_default", - "is_milestone", - "url" - ], - "title": "TypeSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/TypeSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "TypeListResult", - "type": "object" -}New value: +null
- Changed
list_users2 fields changed- added
Input schema / properties / selectAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Select" +} - changed
Output schema / (root)Previous value: -{ - "$defs": { - "UserSummary": { - "properties": { - "admin": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Admin" - }, - "avatar_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Avatar Url" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Email" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "locked": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Locked" - }, - "login": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Login" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Name" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "login", - "email", - "status", - "admin", - "locked", - "avatar_url", - "created_at", - "updated_at", - "url" - ], - "title": "UserSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/UserSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "UserListResult", - "type": "object" -}New value: +null
- Changed
list_versions1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "VersionSummary": { - "properties": { - "defining_project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Defining Project" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "end_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "End Date" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "name": { - "title": "Name", - "type": "string" - }, - "sharing": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Sharing" - }, - "start_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Start Date" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "status", - "sharing", - "start_date", - "end_date", - "defining_project", - "description", - "url" - ], - "title": "VersionSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/VersionSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "VersionListResult", - "type": "object" -}New value: +null
- Changed
list_views1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "ViewSummary": { - "properties": { - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "name": { - "title": "Name", - "type": "string" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Project Id" - }, - "public": { - "title": "Public", - "type": "boolean" - }, - "query": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Query" - }, - "query_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Query Id" - }, - "starred": { - "title": "Starred", - "type": "boolean" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "type", - "name", - "project_id", - "project", - "query_id", - "query", - "public", - "starred", - "created_at", - "updated_at", - "url" - ], - "title": "ViewSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/ViewSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "ViewListResult", - "type": "object" -}New value: +null
- Changed
list_work_package_attachments1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "AttachmentSummary": { - "properties": { - "author": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Author" - }, - "container_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Container Id" - }, - "container_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Container Type" - }, - "content_type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Content Type" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "download_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Download Url" - }, - "file_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "File Name" - }, - "file_size": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "File Size" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "title": { - "title": "Title", - "type": "string" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "title", - "file_name", - "file_size", - "description", - "content_type", - "status", - "author", - "container_type", - "container_id", - "created_at", - "download_url", - "url" - ], - "title": "AttachmentSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/AttachmentSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "AttachmentListResult", - "type": "object" -}New value: +null
- Changed
list_work_package_file_links1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "FileLinkSummary": { - "properties": { - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Created At" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "storage_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Storage Id" - }, - "storage_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Storage Name" - }, - "title": { - "title": "Title", - "type": "string" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "title", - "storage_id", - "storage_name", - "created_at", - "updated_at", - "url" - ], - "title": "FileLinkSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/FileLinkSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "FileLinkListResult", - "type": "object" -}New value: +null
- Changed
list_work_package_reactions1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "EmojiReactionSummary": { - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "emoji": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Emoji" - }, - "reaction": { - "title": "Reaction", - "type": "string" - }, - "users": { - "items": { - "type": "string" - }, - "title": "Users", - "type": "array" - } - }, - "required": [ - "reaction", - "emoji", - "count", - "users" - ], - "title": "EmojiReactionSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/EmojiReactionSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "EmojiReactionListResult", - "type": "object" -}New value: +null
- Changed
list_work_package_watchers1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "WatcherSummary": { - "properties": { - "id": { - "title": "Id", - "type": "integer" - }, - "login": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Login" - }, - "name": { - "title": "Name", - "type": "string" - }, - "url": { - "title": "Url", - "type": "string" - } - }, - "required": [ - "id", - "name", - "login", - "url" - ], - "title": "WatcherSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/WatcherSummary" - }, - "title": "Results", - "type": "array" - } - }, - "required": [ - "count", - "results" - ], - "title": "WatcherListResult", - "type": "object" -}New value: +null
- Changed
list_work_packages14 fields changed- added
Input schema / properties / assigneeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Assignee" +} - added
Input schema / properties / created_betweenAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Created Between" +} - added
Input schema / properties / created_onAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Created On" +} - added
Input schema / properties / due_betweenAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Due Between" +} - added
Input schema / properties / due_onAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Due On" +} - added
Input schema / properties / group_byAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Group By" +} - removed
Input schema / properties / has_descriptionRemoved value: -{ - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Has Description" -} - added
Input schema / properties / priorityAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Priority" +} - added
Input schema / properties / selectAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Select" +} - added
Input schema / properties / sort_byAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Sort By" +} - added
Input schema / properties / statusAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Status" +} - added
Input schema / properties / updated_betweenAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Updated Between" +} - added
Input schema / properties / updated_onAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Updated On" +} - changed
Output schema / (root)Previous value: -{ - "$defs": { - "WorkPackageSummary": { - "properties": { - "assignee": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Assignee" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "display_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Display Id" - }, - "due_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Due Date" - }, - "has_description": { - "title": "Has Description", - "type": "boolean" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "percentage_complete": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Percentage Complete" - }, - "priority": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Priority" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project Phase" - }, - "responsible": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Responsible" - }, - "start_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Start Date" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "subject": { - "title": "Subject", - "type": "string" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "url": { - "title": "Url", - "type": "string" - }, - "version": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Version" - } - }, - "required": [ - "id", - "display_id", - "subject", - "type", - "status", - "priority", - "project_phase", - "assignee", - "responsible", - "project", - "version", - "start_date", - "due_date", - "percentage_complete", - "description", - "has_description", - "url" - ], - "title": "WorkPackageSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/WorkPackageSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "WorkPackageListResult", - "type": "object" -}New value: +null
- Removed
list_working_days - Removed
render_text - Changed
search_work_packages12 fields changed- added
Input schema / properties / assigneeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Assignee" +} - added
Input schema / properties / created_betweenAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Created Between" +} - added
Input schema / properties / created_onAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Created On" +} - added
Input schema / properties / due_betweenAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Due Between" +} - added
Input schema / properties / due_onAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Due On" +} - added
Input schema / properties / group_byAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Group By" +} - added
Input schema / properties / priorityAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Priority" +} - added
Input schema / properties / selectAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Select" +} - added
Input schema / properties / sort_byAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Sort By" +} - added
Input schema / properties / updated_betweenAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Updated Between" +} - added
Input schema / properties / updated_onAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Updated On" +} - changed
Output schema / (root)Previous value: -{ - "$defs": { - "WorkPackageSummary": { - "properties": { - "assignee": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Assignee" - }, - "description": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Description" - }, - "display_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Display Id" - }, - "due_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Due Date" - }, - "has_description": { - "title": "Has Description", - "type": "boolean" - }, - "id": { - "title": "Id", - "type": "integer" - }, - "percentage_complete": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Percentage Complete" - }, - "priority": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Priority" - }, - "project": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project" - }, - "project_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Project Phase" - }, - "responsible": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Responsible" - }, - "start_date": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Start Date" - }, - "status": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Status" - }, - "subject": { - "title": "Subject", - "type": "string" - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Type" - }, - "url": { - "title": "Url", - "type": "string" - }, - "version": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Version" - } - }, - "required": [ - "id", - "display_id", - "subject", - "type", - "status", - "priority", - "project_phase", - "assignee", - "responsible", - "project", - "version", - "start_date", - "due_date", - "percentage_complete", - "description", - "has_description", - "url" - ], - "title": "WorkPackageSummary", - "type": "object" - } - }, - "properties": { - "count": { - "title": "Count", - "type": "integer" - }, - "limit": { - "title": "Limit", - "type": "integer" - }, - "next_offset": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Next Offset" - }, - "offset": { - "title": "Offset", - "type": "integer" - }, - "results": { - "items": { - "$ref": "#/$defs/WorkPackageSummary" - }, - "title": "Results", - "type": "array" - }, - "total": { - "title": "Total", - "type": "integer" - }, - "truncated": { - "title": "Truncated", - "type": "boolean" - } - }, - "required": [ - "offset", - "limit", - "total", - "count", - "next_offset", - "truncated", - "results" - ], - "title": "WorkPackageListResult", - "type": "object" -}New value: +null
- Changed
update_my_preferences1 field changed- changed
Output schema / (root)Previous value: -{ - "$defs": { - "UserPreferences": { - "properties": { - "auto_hide_popups": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Auto Hide Popups" - }, - "comment_sort_descending": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Comment Sort Descending" - }, - "id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Id" - }, - "lang": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Lang" - }, - "notifications_reminder_time": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Notifications Reminder Time" - }, - "time_zone": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Time Zone" - }, - "updated_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Updated At" - }, - "warn_on_leaving_unsaved": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "title": "Warn On Leaving Unsaved" - } - }, - "required": [ - "id", - "lang", - "time_zone", - "comment_sort_descending", - "warn_on_leaving_unsaved", - "auto_hide_popups", - "notifications_reminder_time", - "updated_at" - ], - "title": "UserPreferences", - "type": "object" - } - }, - "properties": { - "action": { - "title": "Action", - "type": "string" - }, - "confirmed": { - "title": "Confirmed", - "type": "boolean" - }, - "message": { - "title": "Message", - "type": "string" - }, - "payload": { - "additionalProperties": true, - "title": "Payload", - "type": "object" - }, - "ready": { - "title": "Ready", - "type": "boolean" - }, - "requires_confirmation": { - "title": "Requires Confirmation", - "type": "boolean" - }, - "result": { - "anyOf": [ - { - "$ref": "#/$defs/UserPreferences" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "action", - "confirmed", - "requires_confirmation", - "ready", - "message", - "payload", - "result" - ], - "title": "UserPreferencesWriteResult", - "type": "object" -}New value: +null
74 tool updates
v0.2.2- First observed
get_attachment - First observed
get_board - First observed
get_category - First observed
get_current_user - First observed
get_custom_option - First observed
get_document - First observed
get_grid - First observed
get_group - First observed
get_help_text - First observed
get_instance_configuration - First observed
get_job_status - First observed
get_membership - First observed
get_my_preferences - First observed
get_my_project_access - First observed
get_news - First observed
get_priority - First observed
get_project - First observed
get_project_admin_context - First observed
get_project_configuration - First observed
get_project_phase - First observed
get_project_phase_definition - First observed
get_project_work_package_context - First observed
get_query_column - First observed
get_query_filter - First observed
get_query_filter_instance_schema - First observed
get_query_operator - First observed
get_query_sort_by - First observed
get_status - First observed
get_time_entry - First observed
get_type - First observed
get_user - First observed
get_version - First observed
get_view - First observed
get_wiki_page - First observed
get_work_package - First observed
get_work_package_activities - First observed
get_work_package_relations - First observed
list_actions - First observed
list_boards - First observed
list_capabilities - First observed
list_categories - First observed
list_documents - First observed
list_grids - First observed
list_groups - First observed
list_help_texts - First observed
list_my_open_work_packages - First observed
list_news - First observed
list_non_working_days - First observed
list_notifications - First observed
list_principals - First observed
list_priorities - First observed
list_project_memberships - First observed
list_project_phase_definitions - First observed
list_projects - First observed
list_query_filter_instance_schemas - First observed
list_relations - First observed
list_reminders - First observed
list_roles - First observed
list_statuses - First observed
list_time_entries - First observed
list_time_entry_activities - First observed
list_types - First observed
list_users - First observed
list_versions - First observed
list_views - First observed
list_work_package_attachments - First observed
list_work_package_file_links - First observed
list_work_package_reactions - First observed
list_work_package_watchers - First observed
list_work_packages - First observed
list_working_days - First observed
render_text - First observed
search_work_packages - First observed
update_my_preferences
TDQS
Scored across 14 tools
Each tool targets a distinct resource (types, statuses, priorities, roles, phases, actions) with clear list/get separation, so an agent can tell them apart. A couple of outliers (get_cost_type with no list counterpart, get_github_pull_request which is unrelated to OpenProject's core domain) slightly muddy the surface but remain understandable.
All 14 tools follow a strict verb_noun pattern using list_* and get_* prefixes (list_types/get_type, list_statuses/get_status, list_priorities/get_priority, etc.). The convention is applied uniformly with no camelCase or stylistic drift.
14 tools is well within the ideal 3-15 range and each tool maps to a distinct reference-data endpoint. The count is proportionate to the narrow read-only scope the server declares.
The surface is entirely read-only reference data (types, statuses, priorities, roles, phases, actions) with no work package, project, or time-entry operations, which are the core of OpenProject's domain. Even within its own scope there are gaps: get_cost_type has no list counterpart, list_roles has no get_role, and no create/update/delete exists anywhere, creating dead ends for real project workflows.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for generating rough-draft project plans from natural-language prompts.
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for integrating with OpenProject API, enabling AI assistants to manage projects, work packages, time tracking, and users.10 npm-
- FlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI assistants to interact with OpenProject, listing projects and work packages and managing resources through natural language.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that connects Claude Desktop to your OpenProject instance, allowing you to manage projects, tasks, and time entries through natural language.-
- AlicenseNot gradedqualityBmaintenanceMCP server enabling AI agents to interact with OpenProject API v3 for project management, including creating and managing work packages, projects, comments, time entries, boards, and user dashboards.30 npmMIT