{
  "data": {
    "a": {
      "slug": "openproject",
      "name": "OpenProject",
      "vendor": "OpenProject GmbH",
      "vendorUrl": "https://www.openproject.org",
      "kind": "http-api",
      "category": "project-management",
      "summary": "OpenProject is open-source project management software for work packages, Gantt plans, boards and time tracking, sold as a cloud service and for self-hosting. Agents reach it through the APIv3 REST API, and paid plans add an MCP server.",
      "url": "https://www.anchorterminal.com/tools/openproject",
      "markdownUrl": "https://www.anchorterminal.com/tools/openproject.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openproject.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openproject.json",
      "dns": "openproject.grade.anchorterminal.com",
      "repo": "https://github.com/opf/openproject",
      "license": "GPL-3.0 for the OpenProject source. Enterprise add-ons need a paid token, and OpenProject Enterprise cloud runs under OpenProject's Terms of Service",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access is self-serve. A user creates a named personal API token in account settings and sends it as `Authorization: Bearer`, or as the Basic auth password with the user name `apikey`. The token carries that user's permissions, and no per-token scope or expiry was found. An administrator can register OAuth 2.0 applications for the authorisation code grant, PKCE or client credentials, with one scope per API (`api_v3`, `mcp`, `scim_v2`, `bcf_v2_1`). JWTs from a configured OIDC provider are also accepted. No app review or partner approval is described.",
      "pricing": "freemium",
      "pricingNotes": "The Community edition is free to self-host with the REST API included, and the cloud has a 14-day trial with no credit card, so an agent can start without a contract. Cloud plans are per user per month on a yearly term, Basic $7.25 (from 5 users, $8.50 on a monthly term), Professional $13.50 (from 25 users) and Premium $19.50 (from 100 users), with Corporate on request. Euro prices are 5.95, 10.95 and 15.95. API calls are not priced. The MCP server needs Professional or above. Community is not sold as a cloud plan (https://www.openproject.org/pricing/, checked 2026-10-08).",
      "priceSummary": "$7.25 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 16352,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.openproject.org/docs/api/",
      "openapi": "https://www.openproject.org/docs/api/v3/spec.yml",
      "capabilities": [
        "tasks.create",
        "tasks.update",
        "projects.manage",
        "tasks.comments",
        "projects.reporting",
        "events.webhooks-send"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "open-source",
        "rest",
        "openapi",
        "oauth",
        "mcp",
        "freemium",
        "free-trial",
        "webhooks",
        "status-page",
        "sla",
        "eu-hosting",
        "project-management"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.4,
        "grade": "D",
        "agentReady": false,
        "rank": 1141,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 75,
          "payments": 30,
          "reliability": 52,
          "schema": 76,
          "security": 59,
          "transparency": 87
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -15,
        "negativeNotes": [
          "Counted one by one, as this run reads advisories. OpenProject's release notes dated 4 November 2025 to 30 October 2026 reference 75 GitHub advisories, each fixed in the release that names it. OSV's records, published from 26 June to 20 August 2026, include CVE-2026-46386 (Critical 9.9, pre-authentication remote code execution in the Docker image), CVE-2026-52780 (Critical 9.6, cache store poisoning leading to remote code execution), CVE-2026-47193 and CVE-2026-67527 (High) and twelve Medium-rated access-control and disclosure flaws. At 1 for each fixed Critical, High or vendor-published Moderate over two months old, those 16 alone come to 16 points, more than the 15-point maximum, so -15 (https://osv.dev/list?q=openproject, https://www.openproject.org/docs/release-notes/)."
        ],
        "verdict": "OpenProject's APIv3 has a public OpenAPI 3.1 document with 320 operations, stable error identifiers and optimistic locking, and the same API ships in the free GPL-3.0 Community edition. No request limits are published, API tokens carry their user's full permissions, and the release notes reference 75 security advisories in the year to 30 October 2026.",
        "bestFor": "Teams that want a self-hostable or EU-hosted project tool with Gantt, time tracking and budgets, and an agent working through a documented REST API.",
        "strengths": [
          "OpenAPI 3.1 document with 234 paths and 320 operations, public on the docs site and served by every instance at `/api/v3/spec.json`",
          "Errors carry a stable `errorIdentifier` URN, and validation failures list one entry per property",
          "The Community edition is GPL-3.0 and free to self-host with the REST API included, and the cloud trial needs no credit card",
          "Twelve releases from 6 August to 2 November 2026, with security fixes published as GitHub advisories in the release notes",
          "The service description commits to 99.9 per cent yearly availability with service credits, and an EU shard keeps all sub-processors in the EU"
        ],
        "weaknesses": [
          "The release notes reference 75 security advisories from 4 November 2025 to 30 October 2026, among them remote code execution and SQL injection",
          "No request limit, 429 behaviour or Retry-After guidance is published for the cloud API",
          "Personal API tokens act with their user's full permissions, and OAuth has one scope per API with no read-only form",
          "No official SDK. The client libraries the docs list are community projects the vendor says it does not vet",
          "The MCP server is an Enterprise add-on for the Professional plan and above, which starts at 25 users"
        ],
        "agentNotes": [
          "Send the API token as `Authorization: Bearer \u003ctoken\u003e`, or as the Basic auth password with the user name `apikey`",
          "Read the resource first and send its current `lockVersion` with every PATCH. A stale value returns 409 `UpdateConflict`",
          "POST to the `/form` endpoint of a work package to learn writable fields and allowed values before creating or updating",
          "URL-encode `filters` as a JSON array, and add `pageSize`, `offset` and `select` to keep work package lists small",
          "Run the agent as a dedicated user with a narrow project role, and treat work package text and comments as untrusted input"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.4
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 75,
          "payments": 30,
          "reliability": 52,
          "schema": 76,
          "security": 59,
          "transparency": 79
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"Authorization: Bearer $API_KEY\" https://community.openproject.org/api/v3/users/42"
      },
      "letme": {
        "capability": "https://letme.dev/tasks.create",
        "tool": "https://letme.dev/openproject"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Community (self-hosted)",
          "unit": "seat-month",
          "usd": 0,
          "note": "free, REST API included; not sold as a cloud plan"
        },
        {
          "item": "Basic (cloud)",
          "unit": "seat-month",
          "usd": 7.25,
          "note": "yearly term, from 5 users; $8.50 on a monthly term"
        },
        {
          "item": "Professional (cloud)",
          "unit": "seat-month",
          "usd": 13.5,
          "note": "yearly term, from 25 users; includes the MCP server"
        },
        {
          "item": "Premium (cloud)",
          "unit": "seat-month",
          "usd": 19.5,
          "note": "yearly term, from 100 users"
        }
      ],
      "provenance": {
        "legalEntity": "OpenProject GmbH",
        "domain": "openproject.org",
        "domainRegistered": "2003-10-24",
        "endpointOnVendorDomain": true,
        "terms": "https://www.openproject.org/legal/terms-of-service/",
        "privacy": "https://www.openproject.org/legal/privacy/",
        "statusPage": "https://status.openproject.com",
        "changelog": "https://www.openproject.org/docs/release-notes/",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 6 August 2026) name OpenProject GmbH, Krausenstrasse 9, 10117 Berlin, Germany, and cover both the cloud and the on-premises Enterprise edition. The German version takes precedence.",
          "The privacy policy (version 30 July 2026) has a section on OpenProject Enterprise Cloud, where OpenProject GmbH is processor and the customer controller. The data processing agreement at https://www.openproject.org/legal/data-processing-agreement/ is part of the terms.",
          "Cloud instances answer at \u003cname\u003e.openproject.com or, on the EU shard, an openproject.eu host. Both are the vendor's domains, apart from the openproject.org site that carries the docs and legal pages. Self-hosted instances answer on the owner's domain.",
          "www.openproject.org/.well-known/security.txt is PGP-signed, names security@openproject.com and expires on 31 December 2026.",
          "RDAP for openproject.org gives a registration date of 2003-10-24 and InterNetX GmbH as registrar."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openproject.json",
      "live": {
        "slug": "openproject",
        "vendorStatus": {
          "page": "https://status.openproject.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:32.238941976Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "opf/openproject",
            "version": "v17.9.6",
            "released": "2026-10-30",
            "seenAt": "2026-11-06T23:53:15.555911463Z"
          }
        ],
        "githubStars": 17059,
        "securityTxt": {
          "url": "https://openproject.org/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T22:59:00.000Z",
          "checkedAt": "2026-11-07T15:59:30.623176816Z"
        },
        "domain": {
          "domain": "openproject.org",
          "registered": "2003-10-24",
          "source": "https://rdap.publicinterestregistry.org/rdap/domain/openproject.org",
          "checkedAt": "2026-11-01T14:11:51.673385536Z"
        },
        "pages": [
          {
            "url": "https://www.openproject.org/docs/release-notes/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:26.867088691Z",
            "changedAt": "2026-11-05T13:15:54.327990908Z",
            "fingerprint": "5459704d83f4"
          },
          {
            "url": "https://www.openproject.org/docs/release-notes/17-8-0/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:29.085626226Z",
            "changedAt": "2026-11-05T13:15:56.593176219Z",
            "fingerprint": "eebedfc1b568"
          },
          {
            "url": "https://www.openproject.org/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:35.596460279Z",
            "changedAt": "2026-11-05T13:16:03.202170106Z",
            "fingerprint": "33ec05b98acc"
          },
          {
            "url": "https://www.openproject.org/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:31.037737095Z",
            "changedAt": "2026-11-05T13:15:58.541422761Z",
            "fingerprint": "37169cb61165"
          },
          {
            "url": "https://www.openproject.org/legal/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:33.011422878Z",
            "changedAt": "2026-11-05T13:16:00.867792718Z",
            "fingerprint": "50f66d21c933"
          }
        ],
        "github": {
          "repo": "opf/openproject",
          "checkedAt": "2026-11-02T09:13:52.972113652Z",
          "stars": 16918,
          "archived": false,
          "issuesEnabled": false,
          "pushedAt": "2026-11-02T08:55:34Z",
          "openIssues": 0,
          "openPRs": 337,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 1433,
          "ci": {
            "branch": "dev",
            "runs": 50,
            "success": 48,
            "failure": 2,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:33:35Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-rg3v-wmh9-hhq6",
              "severity": "low",
              "published": "2026-11-02T08:27:19Z"
            },
            {
              "ghsa": "GHSA-2qr3-mhmh-xfwj",
              "severity": "medium",
              "published": "2026-10-30T09:52:52Z"
            },
            {
              "ghsa": "GHSA-998q-c58p-qf78",
              "severity": "medium",
              "published": "2026-10-22T11:04:48Z"
            },
            {
              "ghsa": "GHSA-r374-cr8p-hmp9",
              "severity": "medium",
              "published": "2026-09-30T05:37:41Z"
            },
            {
              "ghsa": "GHSA-c5j2-2mfg-49h7",
              "severity": "medium",
              "published": "2026-09-30T05:37:40Z"
            },
            {
              "ghsa": "GHSA-4p83-c4wg-59q4",
              "severity": "medium",
              "published": "2026-09-30T05:37:39Z"
            },
            {
              "ghsa": "GHSA-wr3w-qchj-p4cm",
              "cve": "CVE-2026-67528",
              "severity": "medium",
              "published": "2026-07-08T07:22:14Z"
            },
            {
              "ghsa": "GHSA-v3j7-vqwv-5w5q",
              "cve": "CVE-2026-67529",
              "severity": "medium",
              "published": "2026-07-08T07:22:13Z"
            },
            {
              "ghsa": "GHSA-c6rc-4288-8p4f",
              "cve": "CVE-2026-67527",
              "severity": "high",
              "published": "2026-07-08T07:22:12Z"
            },
            {
              "ghsa": "GHSA-63fg-pgqj-3qf8",
              "cve": "CVE-2026-55095",
              "severity": "medium",
              "published": "2026-07-08T07:22:12Z"
            },
            {
              "ghsa": "GHSA-3j89-3273-84f5",
              "severity": "medium",
              "published": "2026-07-01T06:30:56Z"
            },
            {
              "ghsa": "GHSA-vhfq-8mwf-g79w",
              "severity": "medium",
              "published": "2026-07-01T06:30:29Z"
            },
            {
              "ghsa": "GHSA-fv8m-h8hc-57gq",
              "severity": "high",
              "published": "2026-07-01T06:22:52Z"
            },
            {
              "ghsa": "GHSA-x2wp-9w6m-f39m",
              "severity": "medium",
              "published": "2026-07-01T06:18:42Z"
            },
            {
              "ghsa": "GHSA-p692-v488-c3hq",
              "severity": "medium",
              "published": "2026-07-01T06:17:57Z"
            },
            {
              "ghsa": "GHSA-m5p8-h274-f7w8",
              "severity": "low",
              "published": "2026-06-10T08:09:36Z"
            },
            {
              "ghsa": "GHSA-jrx5-px3f-vfq4",
              "cve": "CVE-2026-52779",
              "severity": "medium",
              "published": "2026-06-10T05:53:43Z"
            },
            {
              "ghsa": "GHSA-mq29-cmv3-rcmr",
              "severity": "medium",
              "published": "2026-06-10T04:26:15Z"
            },
            {
              "ghsa": "GHSA-g387-6rm2-xw88",
              "cve": "CVE-2026-49355",
              "severity": "medium",
              "published": "2026-06-08T08:06:46Z"
            },
            {
              "ghsa": "GHSA-q33w-f822-hg8x",
              "cve": "CVE-2026-52781",
              "severity": "medium",
              "published": "2026-06-08T08:00:32Z"
            },
            {
              "ghsa": "GHSA-qj96-f42f-6336",
              "cve": "CVE-2026-52780",
              "severity": "critical",
              "published": "2026-06-08T08:00:32Z"
            },
            {
              "ghsa": "GHSA-h83w-5q5x-pq27",
              "cve": "CVE-2026-52783",
              "severity": "high",
              "published": "2026-06-08T08:00:31Z"
            },
            {
              "ghsa": "GHSA-98vw-2r87-fx2r",
              "cve": "CVE-2026-52785",
              "severity": "critical",
              "published": "2026-06-08T08:00:30Z"
            },
            {
              "ghsa": "GHSA-6crw-7f5r-4qj9",
              "cve": "CVE-2026-52784",
              "severity": "high",
              "published": "2026-06-08T08:00:30Z"
            },
            {
              "ghsa": "GHSA-3vpx-94qx-xpw6",
              "cve": "CVE-2026-52782",
              "severity": "critical",
              "published": "2026-06-08T08:00:29Z"
            },
            {
              "ghsa": "GHSA-f2rx-x2qj-2hgj",
              "cve": "CVE-2026-47193",
              "severity": "high",
              "published": "2026-06-08T08:00:28Z"
            },
            {
              "ghsa": "GHSA-p9gq-hrgh-2645",
              "cve": "CVE-2026-44736",
              "severity": "medium",
              "published": "2026-05-13T09:25:52Z"
            },
            {
              "ghsa": "GHSA-j9q2-49mp-hmq5",
              "cve": "CVE-2026-44696",
              "severity": "medium",
              "published": "2026-05-13T09:24:37Z"
            },
            {
              "ghsa": "GHSA-c767-34gh-gh2h",
              "cve": "CVE-2026-44734",
              "severity": "medium",
              "published": "2026-05-13T05:09:24Z"
            },
            {
              "ghsa": "GHSA-cfg3-f34w-9xx5",
              "cve": "CVE-2026-44735",
              "severity": "medium",
              "published": "2026-05-13T05:09:24Z"
            },
            {
              "ghsa": "GHSA-px7f-cj9f-7m4m",
              "cve": "CVE-2026-44733",
              "severity": "medium",
              "published": "2026-05-13T05:09:23Z"
            },
            {
              "ghsa": "GHSA-x7j3-cfgf-7mc4",
              "cve": "CVE-2026-44731",
              "severity": "medium",
              "published": "2026-05-13T05:09:22Z"
            },
            {
              "ghsa": "GHSA-mqvv-5mvc-7pg7",
              "cve": "CVE-2026-44732",
              "severity": "medium",
              "published": "2026-05-13T05:09:22Z"
            },
            {
              "ghsa": "GHSA-r85r-gjq2-f83r",
              "cve": "CVE-2026-46386",
              "severity": "critical",
              "published": "2026-05-13T05:09:21Z"
            },
            {
              "ghsa": "GHSA-qr54-686p-j34x",
              "severity": "medium",
              "published": "2026-04-15T05:47:53Z"
            },
            {
              "ghsa": "GHSA-hh5p-gwf8-h245",
              "cve": "CVE-2026-40896",
              "severity": "medium",
              "published": "2026-04-15T05:47:52Z"
            },
            {
              "ghsa": "GHSA-234r-45m2-w6cv",
              "cve": "CVE-2026-33667",
              "severity": "high",
              "published": "2026-04-15T05:47:51Z"
            },
            {
              "ghsa": "GHSA-5rrm-6qmq-2364",
              "cve": "CVE-2026-34717",
              "severity": "critical",
              "published": "2026-03-31T06:46:24Z"
            },
            {
              "ghsa": "GHSA-p423-72h4-fjvp",
              "cve": "CVE-2026-32703",
              "severity": "critical",
              "published": "2026-03-16T10:06:56Z"
            },
            {
              "ghsa": "GHSA-jqhf-rf9x-9rhx",
              "cve": "CVE-2026-32698",
              "severity": "critical",
              "published": "2026-03-16T10:06:56Z"
            },
            {
              "ghsa": "GHSA-9wr7-j98g-2jh3",
              "cve": "CVE-2026-31974",
              "severity": "low",
              "published": "2026-03-11T10:20:36Z"
            },
            {
              "ghsa": "GHSA-gpvh-g967-g4h8",
              "cve": "CVE-2026-30239",
              "severity": "medium",
              "published": "2026-03-11T10:20:36Z"
            },
            {
              "ghsa": "GHSA-p747-569x-3v3f",
              "cve": "CVE-2026-30236",
              "severity": "medium",
              "published": "2026-03-11T10:20:35Z"
            },
            {
              "ghsa": "GHSA-q8c5-vpmm-xrxv",
              "cve": "CVE-2026-30234",
              "severity": "medium",
              "published": "2026-03-11T10:20:34Z"
            },
            {
              "ghsa": "GHSA-9rv2-9xv5-gpq8",
              "cve": "CVE-2026-30235",
              "severity": "medium",
              "published": "2026-03-11T10:20:34Z"
            },
            {
              "ghsa": "GHSA-9gc6-3xjq-pwc9",
              "cve": "CVE-2026-27723",
              "severity": "medium",
              "published": "2026-03-05T09:40:59Z"
            },
            {
              "ghsa": "GHSA-v8cr-7x8f-78mq",
              "cve": "CVE-2026-27827",
              "severity": "critical",
              "published": "2026-02-26T13:31:13Z"
            },
            {
              "ghsa": "GHSA-c76v-8735-35hq",
              "cve": "CVE-2026-27817",
              "severity": "medium",
              "published": "2026-02-26T13:31:13Z"
            },
            {
              "ghsa": "GHSA-w9w6-f59w-89vj",
              "cve": "CVE-2026-27733",
              "severity": "medium",
              "published": "2026-02-26T13:31:12Z"
            },
            {
              "ghsa": "GHSA-3qgp-q2x5-c4jw",
              "cve": "CVE-2026-27731",
              "severity": "medium",
              "published": "2026-02-26T13:31:12Z"
            },
            {
              "ghsa": "GHSA-xw8w-4qxm-g9gv",
              "cve": "CVE-2026-27722",
              "severity": "medium",
              "published": "2026-02-26T13:31:11Z"
            },
            {
              "ghsa": "GHSA-w92f-h4wh-g4w4",
              "cve": "CVE-2026-27721",
              "severity": "high",
              "published": "2026-02-26T13:31:10Z"
            },
            {
              "ghsa": "GHSA-xfmm-g339-3x85",
              "cve": "CVE-2026-27720",
              "severity": "medium",
              "published": "2026-02-26T13:31:10Z"
            },
            {
              "ghsa": "GHSA-7xv7-73x4-qqvp",
              "cve": "CVE-2026-27719",
              "severity": "medium",
              "published": "2026-02-26T13:31:09Z"
            },
            {
              "ghsa": "GHSA-p3hw-5g6p-69f2",
              "cve": "CVE-2026-27717",
              "severity": "medium",
              "published": "2026-02-26T13:31:08Z"
            },
            {
              "ghsa": "GHSA-cxm3-9m5g-9cq4",
              "cve": "CVE-2026-27718",
              "severity": "low",
              "published": "2026-02-26T13:31:08Z"
            },
            {
              "ghsa": "GHSA-qpg6-635j-wjc2",
              "cve": "CVE-2026-27716",
              "severity": "medium",
              "published": "2026-02-26T13:31:07Z"
            },
            {
              "ghsa": "GHSA-j4m9-7hff-8qgr",
              "cve": "CVE-2026-27715",
              "severity": "medium",
              "published": "2026-02-26T13:31:06Z"
            },
            {
              "ghsa": "GHSA-4fvm-rrc8-mgch",
              "cve": "CVE-2026-27006",
              "severity": "critical",
              "published": "2026-02-18T12:39:23Z"
            },
            {
              "ghsa": "GHSA-6m5j-mp2j-cgmm",
              "cve": "CVE-2026-26976",
              "severity": "medium",
              "published": "2026-02-18T12:39:23Z"
            },
            {
              "ghsa": "GHSA-jrhg-mx22-57rm",
              "cve": "CVE-2026-26970",
              "severity": "low",
              "published": "2026-02-18T12:39:22Z"
            },
            {
              "ghsa": "GHSA-xh2h-jfr6-3qhc",
              "cve": "CVE-2026-26971",
              "severity": "medium",
              "published": "2026-02-18T12:39:22Z"
            },
            {
              "ghsa": "GHSA-r4v5-h2fp-fhxf",
              "cve": "CVE-2026-26969",
              "severity": "low",
              "published": "2026-02-18T12:39:21Z"
            },
            {
              "ghsa": "GHSA-5m66-2gm7-6jcc",
              "cve": "CVE-2026-26966",
              "severity": "medium",
              "published": "2026-02-18T12:39:20Z"
            },
            {
              "ghsa": "GHSA-g62r-9rgf-h53q",
              "cve": "CVE-2026-26968",
              "severity": "medium",
              "published": "2026-02-18T12:39:20Z"
            },
            {
              "ghsa": "GHSA-r85w-rv9m-q784",
              "cve": "CVE-2026-27019",
              "severity": "critical",
              "published": "2026-02-18T12:37:06Z"
            },
            {
              "ghsa": "GHSA-frrc-prg7-xq7h",
              "severity": "medium",
              "published": "2026-02-16T09:37:45Z"
            },
            {
              "ghsa": "GHSA-2mv7-3f2v-2fg9",
              "severity": "medium",
              "published": "2026-02-16T09:37:42Z"
            },
            {
              "ghsa": "GHSA-727f-w7gp-pw84",
              "cve": "CVE-2026-25995",
              "severity": "high",
              "published": "2026-02-11T09:33:47Z"
            },
            {
              "ghsa": "GHSA-8fq7-cmmf-2793",
              "cve": "CVE-2026-25948",
              "severity": "medium",
              "published": "2026-02-11T09:33:46Z"
            },
            {
              "ghsa": "GHSA-fq66-cwg6-qq69",
              "cve": "CVE-2026-24777",
              "severity": "medium",
              "published": "2026-02-09T11:49:56Z"
            },
            {
              "ghsa": "GHSA-x37c-hcg5-r5m7",
              "cve": "CVE-2026-25763",
              "severity": "critical",
              "published": "2026-02-06T08:26:17Z"
            },
            {
              "ghsa": "GHSA-q523-c695-h3hp",
              "cve": "CVE-2026-25764",
              "severity": "low",
              "published": "2026-02-06T08:24:49Z"
            },
            {
              "ghsa": "GHSA-p9v8-w9ph-hqmf",
              "cve": "CVE-2026-24776",
              "severity": "medium",
              "published": "2026-02-05T13:45:19Z"
            },
            {
              "ghsa": "GHSA-35c6-x276-2pvc",
              "cve": "CVE-2026-24775",
              "severity": "medium",
              "published": "2026-01-28T14:19:52Z"
            },
            {
              "ghsa": "GHSA-r854-p5qj-x974",
              "cve": "CVE-2026-24772",
              "severity": "high",
              "published": "2026-01-28T14:19:48Z"
            },
            {
              "ghsa": "GHSA-74p5-9pr3-r6pw",
              "cve": "CVE-2026-24685",
              "severity": "critical",
              "published": "2026-01-28T14:15:12Z"
            },
            {
              "ghsa": "GHSA-cvpq-cc56-gwxx",
              "cve": "CVE-2026-23625",
              "severity": "high",
              "published": "2026-01-19T09:25:36Z"
            },
            {
              "ghsa": "GHSA-vj77-wrc2-5h5h",
              "cve": "CVE-2026-23721",
              "severity": "medium",
              "published": "2026-01-19T09:25:21Z"
            },
            {
              "ghsa": "GHSA-w422-xf8f-v4vp",
              "cve": "CVE-2026-23646",
              "severity": "medium",
              "published": "2026-01-19T09:25:06Z"
            },
            {
              "ghsa": "GHSA-m8f2-cwpq-vvhh",
              "cve": "CVE-2026-22600",
              "severity": "critical",
              "published": "2026-01-09T08:42:10Z"
            },
            {
              "ghsa": "GHSA-fq4m-pxvm-8x2j",
              "cve": "CVE-2026-22605",
              "severity": "medium",
              "published": "2026-01-09T08:42:03Z"
            },
            {
              "ghsa": "GHSA-93x5-prx9-x239",
              "cve": "CVE-2026-22603",
              "severity": "medium",
              "published": "2026-01-09T08:41:54Z"
            },
            {
              "ghsa": "GHSA-q7qp-p3vw-j2fh",
              "cve": "CVE-2026-22604",
              "severity": "medium",
              "published": "2026-01-09T08:41:44Z"
            },
            {
              "ghsa": "GHSA-7fvx-9h6h-g82j",
              "cve": "CVE-2026-22602",
              "severity": "low",
              "published": "2026-01-09T08:41:36Z"
            },
            {
              "ghsa": "GHSA-9vrv-7h26-c7jc",
              "cve": "CVE-2026-22601",
              "severity": "high",
              "published": "2026-01-09T08:41:31Z"
            },
            {
              "ghsa": "GHSA-mg4q-ghvh-cm2j",
              "cve": "CVE-2025-24892",
              "severity": "low",
              "published": "2025-02-10T07:47:15Z"
            },
            {
              "ghsa": "GHSA-g92v-vrq6-4fpw",
              "cve": "CVE-2024-41801",
              "severity": "medium",
              "published": "2024-07-25T14:40:03Z"
            },
            {
              "ghsa": "GHSA-h26c-j8wg-frjc",
              "cve": "CVE-2024-35224",
              "severity": "high",
              "published": "2024-05-22T14:31:00Z"
            },
            {
              "ghsa": "GHSA-xjfc-fqm3-95q8",
              "cve": "CVE-2023-33960",
              "severity": "high",
              "published": "2023-06-01T05:34:14Z"
            },
            {
              "ghsa": "GHSA-xfp9-qqfj-x28q",
              "cve": "CVE-2023-31140",
              "severity": "medium",
              "published": "2023-05-02T09:25:45Z"
            },
            {
              "ghsa": "GHSA-f565-3whr-6m96",
              "cve": "CVE-2021-43830",
              "severity": "high",
              "published": "2021-12-14T18:54:42Z"
            },
            {
              "ghsa": "GHSA-r8f8-pgg2-2c26",
              "cve": "CVE-2021-36390",
              "severity": "medium",
              "published": "2021-07-20T10:04:20Z"
            },
            {
              "ghsa": "GHSA-qqvp-j6gm-q56f",
              "cve": "CVE-2021-32763",
              "severity": "medium",
              "published": "2021-07-20T10:04:16Z"
            }
          ]
        },
        "updatedAt": "2026-11-07T15:59:30.623176816Z"
      }
    },
    "answer": "Taskade scores 57.7 (C) on agent readiness against OpenProject's 47.4 (D), and leads in 2 of 7 scored categories. OpenProject leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "taskade",
      "name": "Taskade",
      "vendor": "Taskcade Inc.",
      "vendorUrl": "https://www.taskade.com",
      "kind": "http-api",
      "category": "project-management",
      "summary": "Taskade is a workspace for projects, tasks, AI agents, automations and generated apps from Taskcade Inc. Agents reach it through REST API v1, the beta Action API v2, a hosted MCP server and an open-source local MCP server.",
      "url": "https://www.anchorterminal.com/tools/taskade",
      "markdownUrl": "https://www.anchorterminal.com/tools/taskade.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/taskade.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/taskade.json",
      "dns": "taskade.grade.anchorterminal.com",
      "repo": "https://github.com/taskade/mcp",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://www.taskade.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@taskade/mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Personal access tokens (`tskdp_` prefix, shown once, at most 5 per account, revocable) carry no scopes and reach everything the owner can. OAuth 2.0 with PKCE (S256) and dynamic client registration; access tokens last 1 hour and each refresh rotates the refresh token. The only OAuth scope is `mcp`, and the REST and Action APIs ignore scope. A password reset revokes every token and grant.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no card, but the hosted MCP server needs a paid workspace. Annual prices a month: Starter $6 (3 seats), Pro $10 (10 seats), Business $25 and Max $100 (unlimited seats), Enterprise custom. Monthly prices are not shown. Plans include monthly AI credits; `prompt_agent` and `run_flow` use credits.",
      "priceSummary": "$6 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt, the OpenAPI specs or the pricing page (checked 2026-11-06). A plan-gated call returns PAYMENT_REQUIRED with a featureId, not payment requirements.",
        "endpoints": []
      },
      "toolCount": 47,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.taskade.com/docs",
      "llmsTxt": "https://www.taskade.com/llms.txt",
      "openapi": "https://github.com/taskade/mcp/blob/main/packages/server/taskade-public.yaml",
      "registryName": "io.github.taskade/mcp-server",
      "capabilities": [
        "tasks.create",
        "tasks.update",
        "projects.manage",
        "work.docs",
        "automation.workflows",
        "events.webhooks-send"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "oauth",
        "openapi",
        "llms-txt",
        "freemium",
        "free-tier",
        "no-card",
        "webhooks",
        "status-page",
        "project-management"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.7,
        "grade": "C",
        "agentReady": false,
        "rank": 779,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 20,
          "reliability": 40,
          "schema": 91,
          "security": 45,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Taskade's hosted MCP server and APIs are documented for agents, with public OpenAPI specs, annotated tools and structured errors that say when to retry. Its tokens are all-or-nothing, with no read-only scope, the hosted server needs a paid plan, and there is no SOC 2 report, DPA or published SLA.",
        "bestFor": "Small teams that keep projects, tasks and AI agents in one workspace and want an agent to read and change them.",
        "strengths": [
          "Every hosted MCP tool carries readOnlyHint, destructiveHint and openWorldHint, plus `_meta` flags for writes and credit-spending calls",
          "Tool errors return a class, a code and a retry instruction with `retryAfterSec`",
          "Public OpenAPI 3.0.3 specs for REST v1 and Action v2 in an MIT repository, plus llms.txt and Markdown docs",
          "Verified io.github.taskade/mcp-server entry in the official MCP registry",
          "Changelog entries nearly every day, the latest on 5 November 2026"
        ],
        "weaknesses": [
          "Personal access tokens and OAuth grants carry no scopes beyond `mcp`, so no read-only credential exists",
          "The hosted MCP server needs a paid plan; Free workspaces are hidden from `list_spaces`",
          "SOC 2 and ISO 27001 are in progress with no report, and no DPA or SCCs are offered",
          "Rate limits are given in numbers only for `prompt_agent` and kit publishing",
          "Action API v2, which the MCP tools mirror, is marked beta"
        ],
        "agentNotes": [
          "Call `list_spaces` first and page until `hasNextPage` is false, since a page can be empty while more remain",
          "Ask the user before any tool whose `_meta` has `taskade/write` or `taskade/billed`; `run_flow` and `prompt_agent` spend credits",
          "On an error, read `structuredContent.error.retry`: retry at once on safe, wait `retryAfterSec` on after_wait, stop on no",
          "Prefer OAuth over a personal token for interactive clients, because a personal token reaches the whole account",
          "Treat task, project, conversation and app text as untrusted content written by others"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.7
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 85,
          "payments": 20,
          "reliability": 40,
          "schema": 91,
          "security": 45,
          "transparency": 55
        },
        "provenanceScore": 82,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -s https://www.taskade.com/api/v1/me/projects -H \"Authorization: Bearer $TASKADE_TOKEN\"",
        "claudeCode": "claude mcp add --transport http taskade https://www.taskade.com/mcp",
        "config": {
          "mcpServers": {
            "taskade": {
              "url": "https://www.taskade.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/tasks.create",
        "tool": "https://letme.dev/taskade"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 6,
          "note": "Billed yearly at $72, 3 seats, 10K AI credits a month"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 10,
          "note": "Billed yearly at $120, 10 seats, 50K AI credits a month"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 25,
          "note": "Billed yearly at $300, unlimited seats, 150K AI credits a month"
        },
        {
          "item": "Max plan",
          "unit": "month",
          "usd": 100,
          "note": "Billed yearly at $1,200, unlimited seats, 400K AI credits a month"
        }
      ],
      "provenance": {
        "legalEntity": "Taskcade Inc.",
        "domain": "taskade.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.taskade.com/terms",
        "privacy": "https://www.taskade.com/privacy",
        "statusPage": "https://status.taskade.com",
        "changelog": "https://www.taskade.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "Terms last updated 30 September 2026, naming Taskcade Inc. of Delaware. The acceptable use section forbids bots, scrapers or other automated means to pull content or outputs out of the service at scale. Recorded as a fact; only public pages were read.",
          "Privacy policy last updated 26 October 2026.",
          "www.taskade.com/robots.txt allows all but /api/, /socket.io/ and /graphql, and sets Content-Signal ai-train=yes, search=yes, ai-input=yes. The OpenAPI specs under /api/documentation were therefore read from the GitHub repository, not the site.",
          "security.txt names support@taskade.com, points to the security page as policy, and expires 1 September 2027.",
          "status.taskade.com is a Taskade-built status portal that draws its data by script; no components or incidents could be read. Domain registration date not checked."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/taskade.json",
      "live": {
        "slug": "taskade",
        "probe": {
          "target": "https://www.taskade.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:58.308357468Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 520,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 132,
          "p95ms24h": 459,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.taskade.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:50.902945286Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "taskade/mcp",
            "version": "v0.0.3",
            "released": "2026-06-10",
            "seenAt": "2026-11-07T00:10:02.038959256Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.taskade/mcp-server",
            "version": "0.1.4",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@taskade/mcp-server",
            "version": "0.1.4",
            "seenAt": "2026-11-07T00:10:01.151482314Z"
          }
        ],
        "githubStars": 170,
        "npmWeekly": 320,
        "securityTxt": {
          "url": "https://taskade.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-09-01T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:46.13510211Z"
        },
        "llmsTxt": {
          "url": "https://www.taskade.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:05.699006374Z"
        },
        "pages": [
          {
            "url": "https://www.taskade.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:24.057343775Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1d4fdfba44d"
          },
          {
            "url": "https://www.taskade.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:30.038915009Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f59185a37320"
          },
          {
            "url": "https://www.taskade.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:30.254294882Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ff1bc6279952"
          }
        ],
        "mcpTools": {
          "url": "https://www.taskade.com/mcp",
          "checkedAt": "2026-11-07T01:48:13.988871322Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:48:13.988871322Z"
        },
        "updatedAt": "2026-11-07T18:20:58.308357468Z"
      }
    },
    "edges": [
      {
        "by": 18,
        "category": "transparency",
        "leads": "openproject",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The source is public under GPL-3.0, Enterprise add-ons included, with those add-ons unlocked by a paid token. The cloud runs under the Terms of Service of 6 August 2026 (28 of 30). The privacy policy of 30 July 2026 covers the cloud and names OpenProject GmbH as processor. An instance is deleted six months after the contract ends, web logs within 90 days, and the terms give 21 days' notice to export data. The data processing agreement follows the EU standard clauses and was last updated on 28 March 2024 (25 of 30). No deprecation policy with dates was found. The docs say the vendor strives to keep APIv3 backward compatible in stable releases, and 14 operations are marked deprecated with no removal date (7 of 20). The sub-processor list of 18 May 2026 names four companies for the openproject.com shard (AWS among them) and three for the EU shard (Scaleway among them), with addresses and transfer safeguards (19 of 20). Self-hosted installs call OpenProject's Release API for the update badge by default, which the privacy policy (version 30 July 2026) describes with its fields and an opt-out.",
          "b": "Closed service under terms naming Taskcade Inc. and Delaware law, with the MCP server, plugin and OpenAPI specs under MIT (20 of 30). The privacy policy gives practices for retention (AI processing logs normally 30 days, account deletion within 30 days) but calls them targets, not contractual periods, and no DPA or SCCs are offered (15 of 30). Deprecated endpoints are marked in the docs and spec with their replacement, with no deprecation policy or dates (8 of 20). Hosting is AWS US East, and AI providers are named as examples, some in China, with the full list on request; analytics tools (Google Analytics, PostHog, Plausible, Sentry) are named (12 of 20). 20 + 15 + 8 + 12 = 55."
        },
        "scores": {
          "a": 87,
          "b": 69
        }
      },
      {
        "by": 15,
        "category": "schema",
        "leads": "taskade",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A public OpenAPI 3.1 document with 234 paths and 320 operations, downloadable from the docs site and served by every instance at `/api/v3/spec.json` and `/api/v3/spec.yml` (25). No llms.txt (the path returns 404). The docs are Markdown files in the public repository, not served to agents from the docs site (2 of 10). The reference explains HAL links, collections, filters, forms and each resource's permissions at length, with little on when not to use an endpoint (14 of 20). 204 component schemas and 95 enumerations, but write bodies are HAL objects with `_links`, filters travel as a JSON string in the query, and custom fields appear as `customFieldN`. Form endpoints return the allowed values for a given resource (10 of 15). The spec carries about 1,200 examples and lists 400, 403, 404, 406, 415 and 422 responses per operation, with stable error identifiers (14 of 15). The version sits in the path and release notes are dated and list API changes. No changelog for the API alone was found (11 of 15).",
          "b": "OpenAPI 3.0.3 specs for REST v1 and Action v2 are linked from llms.txt and committed in the public taskade/mcp repository, which is where we read them because the site's /api/ path is disallowed in robots.txt (25). llms.txt, a developer docs index and a Markdown copy of each page (10). The hosted MCP docs say what each tool does, which role it needs and what the server cannot do; the v2 spec's operations carry no descriptions of their own (14 of 20). The v1 spec has 96 enums and 254 required lists (13 of 15). Error tables with causes and fixes on the MCP and API pages, and a documented error envelope (14 of 15). Versioned APIs (1.0.0, 2.0.0-beta), deprecations marked in the spec and a changelog updated almost daily (15). 25 + 10 + 14 + 13 + 14 + 15 = 91."
        },
        "scores": {
          "a": 76,
          "b": 91
        }
      },
      {
        "by": 14,
        "category": "security",
        "leads": "openproject",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.0 with the authorisation code grant, PKCE and client credentials, with one scope per API (`api_v3`, `mcp`, `scim_v2`, `bcf_v2_1`) and none finer. Personal API tokens are named, can be several and can be deleted, and carry their user's full permissions. No expiry or per-token scope was found. Tokens travel in the Authorization header only (22 of 30). Reach is limited by project roles and permissions, so a dedicated user with a read-only role is the least-privilege route, and administrators can switch off single MCP tools. No confirmation step for deletes (12 of 20). Work package text and comments are untrusted content, and no prompt-injection guidance was found in the API or MCP docs (2 of 15). Every change to a work package is journalled with its author, and application logs record sign-ins and credential changes. No per-token API log for a cloud customer was found (8 of 15). A signed security.txt valid to 31 December 2026, a disclosure policy with a 21-day target for critical fixes, advisories and CVEs published on GitHub, signed container images with SBOMs, and a YesWeHack bounty paid for by the European Commission. No SOC 2 or ISO 27001 certificate for the vendor was found (15 of 20).",
          "b": "OAuth 2.0 with PKCE, dynamic client registration, 1-hour access tokens and rotating refresh tokens, but the only scope is `mcp`. Personal access tokens are revocable, limited to five, carry no scopes and grant the whole account. Tokens go in headers (20 of 30). No read-only credential; workspace roles limit what tools can do, and the write and billed `_meta` flags let a client ask first, with no server-side confirmation (10 of 20). Tools return task, project, conversation and app text written by others, and no prompt-injection guidance was found (0). The security page says account and workspace activity is logged and exportable on request, with no immutable logs (7 of 15). security.txt valid to September 2027 and a 90-day coordinated disclosure policy, but SOC 2 and ISO 27001 are in progress with no report and there is no bug bounty (8 of 20). 20 + 10 + 0 + 7 + 8 = 45."
        },
        "scores": {
          "a": 59,
          "b": 45
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "openproject",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the APIv3 of OpenProject Enterprise cloud, with the hosted lines. The same API ships in the free Community edition. Status page at status.openproject.com, run on UptimeRobot, with a 90-day uptime view and an update history (20). On 4 November the page still drew its figures and history by script from `/api/`, which its robots.txt disallows, so the incident record from 6 August could not be read (5, unread and not a finding against the vendor). No request limit for the API is published for the cloud. The only documented rule is an optional one for self-hosted installs, six requests per three seconds on form endpoints, off by default (3 of 15, partly met). No 429 or Retry-After guidance and no idempotency keys were found. Updates must send `lockVersion`, and a stale value is refused with 409 `UpdateConflict` (4 of 15, partly met). The service description, last updated 28 August 2026 and re-read on 4 November, commits to 99.9 per cent availability a year with SLA credits (10). APIv3 is described as the stable API (10). 20 + 5 + 3 + 4 + 10 + 10 = 52.",
          "b": "Graded as a hosted service on the hosted MCP server and REST API v1. status.taskade.com is Taskade's own status portal, but it draws its data by script and no components could be read (10 of 20). No readable incident history (5). Rate limits have numbers only for `prompt_agent` (60 calls in 10 minutes) and `publish_kit_version` (5 an hour); the API docs say 429 marks a rate limit without stating it (5 of 15). The API returns 429 with Retry-After, MCP tools use `x-rate-limit-reset`, and tool errors say whether a retry is safe and after how many seconds (15). The terms commit to no uptime level without a separate written agreement, and only Enterprise mentions SLAs (0). REST API v1 is GA, while Action API v2, which most hosted MCP tools mirror, is beta (5 of 10). 10 + 5 + 5 + 15 + 0 + 5 = 40."
        },
        "scores": {
          "a": 52,
          "b": 40
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "openproject",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public per user per month, Basic at $7.25, Professional at $13.50 and Premium at $19.50 on a yearly term, Corporate on request. API calls are not priced (10). The cloud trial runs 14 days and the signup page says no credit card is needed. The Community edition is free to self-host, API included (20). A person fills in a web form with a domain and an email address to get an instance, and creates the token in account settings (0).",
          "b": "No x402, MPP or L402 (0). Plan prices are public, billed yearly, with nothing per call (10). A Free plan needs no card, but the hosted MCP server is limited to paid plans and the pricing table lists the API from Business up, so the free tier reaches little of the agent surface (10 of 20). A person signs up in a browser and verifies an email before a token can be made (0). 0 + 10 + 10 + 0 = 20."
        },
        "scores": {
          "a": 30,
          "b": 20
        }
      },
      {
        "by": 10,
        "category": "maintenance",
        "leads": "taskade",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Version 18.0.0 was released on 2 November 2026, after 17.9.2 (15 October), 17.9.3 (22 October), 17.9.4 (26 October), 17.9.5 and 17.9.6 (30 October) (30). Twelve releases in the 90 days from 6 August, 17.7.1 through 18.0.0 (20). OpenProject tracks bugs on community.openproject.org, which we did not sample, so responsiveness is scored on the release record and the advisory handling alone, with fixes published alongside each advisory (15 of 25). No official SDK and no MCP registry entry were found (0 of 15). The repository runs test, CodeQL, Brakeman, Semgrep, dependency review and npm audit workflows, the test workflow running unit and browser test suites and validating the API spec on push and pull request, and the default branch had commits on 4 November 2026 (10). 30 + 20 + 15 + 0 + 10 = 75.",
          "b": "Changelog v6.306.0 on 5 November 2026, and v6.304.0 on 4 November updated the MCP setup page (30). Fifteen entries between 29 October and 5 November alone, and @taskade/mcp-server 0.1.3 (19 October) and 0.1.4 (22 October) (20). The taskade/mcp repository merged pull requests #114 to #122 between 26 October and 4 November; GitHub's API did not answer, so open issues and reply times were not counted (15 of 25). Verified io.github.taskade/mcp-server namespace in the official MCP registry, with the hosted remote (15). CI, release and registry-publish workflows, and the Docker image moved off end-of-life Node 20 on 28 October (5 of 10, with dependency health not checked). 30 + 20 + 15 + 15 + 5 = 85."
        },
        "scores": {
          "a": 75,
          "b": 85
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenProject GmbH",
        "b": "Taskcade Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://www.taskade.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "GPL-3.0 for the OpenProject source. Enterprise add-ons need a paid token, and OpenProject Enterprise cloud runs under OpenProject's Terms of Service",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "47",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.taskade/mcp-server",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-02",
        "b": "2026-11-05",
        "name": "Last release"
      },
      {
        "a": "2026-08-06",
        "b": "2026-09-30",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-10-26",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "16k stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Taskade scores 57.7 (C) on agent readiness against OpenProject's 47.4 (D), and leads in 2 of 7 scored categories. OpenProject leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, OpenProject or Taskade?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do OpenProject and Taskade need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for OpenProject. Taskade has a hosted endpoint at https://www.taskade.com/mcp.",
        "question": "Can an agent call OpenProject and Taskade without installing anything?"
      },
      {
        "answer": "OpenProject is open source (GPL-3.0 for the OpenProject source. Enterprise add-ons need a paid token, and OpenProject Enterprise cloud runs under OpenProject's Terms of Service). No open-source release is listed for Taskade.",
        "question": "Are OpenProject and Taskade open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 52 against 40",
          "Security \u0026 auth, 59 against 45",
          "Payments \u0026 pricing, 30 against 20",
          "Transparency \u0026 trust, 87 against 69"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Teams that want a self-hostable or EU-hosted project tool with Gantt, time tracking and budgets, and an agent working through a documented REST API.",
        "slug": "openproject",
        "watchFor": "The release notes reference 75 security advisories from 4 November 2025 to 30 October 2026, among them remote code execution and SQL injection"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 91 against 76",
          "Maintenance \u0026 community, 85 against 75"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine",
          "Free to start without a card",
          "No incidents deducted, where OpenProject loses 15 points for them"
        ],
        "goodFor": "Small teams that keep projects, tasks and AI agents in one workspace and want an agent to read and change them.",
        "slug": "taskade",
        "watchFor": "Personal access tokens and OAuth grants carry no scopes beyond `mcp`, so no read-only credential exists"
      }
    ],
    "history": {
      "openproject": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -10,
          "from": 57.4,
          "fromGrade": "C",
          "to": 47.4,
          "toGrade": "D"
        }
      ],
      "taskade": null
    },
    "job": {
      "capability": "tasks.create",
      "name": "Issues and tasks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/asana-vs-openproject.json",
        "title": "Asana vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/asana-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/asana-vs-taskade.json",
        "title": "Asana vs Taskade",
        "url": "https://www.anchorterminal.com/compare/asana-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-openproject.json",
        "title": "Atlassian Rovo MCP Server vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-taskade.json",
        "title": "Atlassian Rovo MCP Server vs Taskade",
        "url": "https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basecamp-vs-openproject.json",
        "title": "Basecamp vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/basecamp-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basecamp-vs-taskade.json",
        "title": "Basecamp vs Taskade",
        "url": "https://www.anchorterminal.com/compare/basecamp-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clickup-vs-openproject.json",
        "title": "ClickUp vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/clickup-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clickup-vs-taskade.json",
        "title": "ClickUp vs Taskade",
        "url": "https://www.anchorterminal.com/compare/clickup-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-cents-mcp-vs-openproject.json",
        "title": "Financial Cents MCP vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/financial-cents-mcp-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-cents-mcp-vs-taskade.json",
        "title": "Financial Cents MCP vs Taskade",
        "url": "https://www.anchorterminal.com/compare/financial-cents-mcp-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linear-mcp-vs-openproject.json",
        "title": "Linear MCP vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/linear-mcp-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/linear-mcp-vs-taskade.json",
        "title": "Linear MCP vs Taskade",
        "url": "https://www.anchorterminal.com/compare/linear-mcp-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/monday-vs-openproject.json",
        "title": "monday.com vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/monday-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/monday-vs-taskade.json",
        "title": "monday.com vs Taskade",
        "url": "https://www.anchorterminal.com/compare/monday-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ones-vs-openproject.json",
        "title": "ONES vs OpenProject",
        "url": "https://www.anchorterminal.com/compare/ones-vs-openproject"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ones-vs-taskade.json",
        "title": "ONES vs Taskade",
        "url": "https://www.anchorterminal.com/compare/ones-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-plane.json",
        "title": "OpenProject vs Plane",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-plane"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-redmine.json",
        "title": "OpenProject vs Redmine",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-redmine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-roma.json",
        "title": "OpenProject vs Roma",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-roma"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-shortcut.json",
        "title": "OpenProject vs Shortcut",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-shortcut"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-taiga.json",
        "title": "OpenProject vs Taiga",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-taiga"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-teamwork.json",
        "title": "OpenProject vs Teamwork.com",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-teamwork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-todoist.json",
        "title": "OpenProject vs Todoist",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-todoist"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-trello.json",
        "title": "OpenProject vs Trello",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-trello"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-wrike.json",
        "title": "OpenProject vs Wrike",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-wrike"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openproject-vs-youtrack.json",
        "title": "OpenProject vs YouTrack",
        "url": "https://www.anchorterminal.com/compare/openproject-vs-youtrack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plane-vs-taskade.json",
        "title": "Plane vs Taskade",
        "url": "https://www.anchorterminal.com/compare/plane-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/redmine-vs-taskade.json",
        "title": "Redmine vs Taskade",
        "url": "https://www.anchorterminal.com/compare/redmine-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/roma-vs-taskade.json",
        "title": "Roma vs Taskade",
        "url": "https://www.anchorterminal.com/compare/roma-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shortcut-vs-taskade.json",
        "title": "Shortcut vs Taskade",
        "url": "https://www.anchorterminal.com/compare/shortcut-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taiga-vs-taskade.json",
        "title": "Taiga vs Taskade",
        "url": "https://www.anchorterminal.com/compare/taiga-vs-taskade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taskade-vs-teamwork.json",
        "title": "Taskade vs Teamwork.com",
        "url": "https://www.anchorterminal.com/compare/taskade-vs-teamwork"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taskade-vs-todoist.json",
        "title": "Taskade vs Todoist",
        "url": "https://www.anchorterminal.com/compare/taskade-vs-todoist"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taskade-vs-trello.json",
        "title": "Taskade vs Trello",
        "url": "https://www.anchorterminal.com/compare/taskade-vs-trello"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taskade-vs-wrike.json",
        "title": "Taskade vs Wrike",
        "url": "https://www.anchorterminal.com/compare/taskade-vs-wrike"
      },
      {
        "json": "https://www.anchorterminal.com/compare/taskade-vs-youtrack.json",
        "title": "Taskade vs YouTrack",
        "url": "https://www.anchorterminal.com/compare/taskade-vs-youtrack"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 12,
        "edge": "openproject",
        "key": "reliability",
        "name": "Reliability",
        "openproject": 52,
        "taskade": 40,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "taskade",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openproject": 76,
        "taskade": 91,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "openproject",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openproject": 70,
        "taskade": 68,
        "weight": 13
      },
      {
        "by": 14,
        "edge": "openproject",
        "key": "security",
        "name": "Security \u0026 auth",
        "openproject": 59,
        "taskade": 45,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "openproject",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openproject": 30,
        "taskade": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "taskade",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openproject": 75,
        "taskade": 85,
        "weight": 7
      },
      {
        "by": 18,
        "edge": "openproject",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openproject": 87,
        "taskade": 69,
        "weight": 7
      }
    ],
    "summary": "Taskade scores 57.7 (C) on agent readiness against OpenProject's 47.4 (D), and leads in 2 of 7 scored categories. OpenProject leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do issues and tasks.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "openproject": "OpenProject's APIv3 has a public OpenAPI 3.1 document with 320 operations, stable error identifiers and optimistic locking, and the same API ships in the free GPL-3.0 Community edition. No request limits are published, API tokens carry their user's full permissions, and the release notes reference 75 security advisories in the year to 30 October 2026.",
      "taskade": "Taskade's hosted MCP server and APIs are documented for agents, with public OpenAPI specs, annotated tools and structured errors that say when to retry. Its tokens are all-or-nothing, with no read-only scope, the hosted server needs a paid plan, and there is no SOC 2 report, DPA or published SLA."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openproject-vs-taskade",
    "json": "https://www.anchorterminal.com/compare/openproject-vs-taskade.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openproject-vs-taskade.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openproject-vs-taskade.min.md"
  },
  "markdown": "Taskade scores 57.7 (C) on agent readiness against OpenProject's 47.4 (D), and leads in 2 of 7 scored categories. OpenProject leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do issues and tasks.\n\n- OpenProject: grade D, 47.4/100, rank #1141 of 1486. Markdown https://www.anchorterminal.com/tools/openproject.md · JSON https://www.anchorterminal.com/api/v1/tools/openproject.json\n- Taskade: grade C, 57.7/100, rank #779 of 1486. Markdown https://www.anchorterminal.com/tools/taskade.md · JSON https://www.anchorterminal.com/api/v1/tools/taskade.json\n- Best project and task management tools for AI agents: https://www.anchorterminal.com/best/project-management/index.md\n- All 189 projects comparisons: https://www.anchorterminal.com/compare/project-management/index.md\n\n## Which one, for what\n\n### OpenProject (D)\n\nGood for: Teams that want a self-hostable or EU-hosted project tool with Gantt, time tracking and budgets, and an agent working through a documented REST API.\n\nAhead on:\n- Reliability, 52 against 40\n- Security \u0026 auth, 59 against 45\n- Payments \u0026 pricing, 30 against 20\n- Transparency \u0026 trust, 87 against 69\n\nAlso in its favour:\n- Open source\n\nWatch for: The release notes reference 75 security advisories from 4 November 2025 to 30 October 2026, among them remote code execution and SQL injection\n\n### Taskade (C)\n\nGood for: Small teams that keep projects, tasks and AI agents in one workspace and want an agent to read and change them.\n\nAhead on:\n- Schema \u0026 documentation, 91 against 76\n- Maintenance \u0026 community, 85 against 75\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n- Free to start without a card\n- No incidents deducted, where OpenProject loses 15 points for them\n\nWatch for: Personal access tokens and OAuth grants carry no scopes beyond `mcp`, so no read-only credential exists\n\n\n## Why the edge\n\n### Transparency \u0026 trust: OpenProject +18\n\n- OpenProject (87): The source is public under GPL-3.0, Enterprise add-ons included, with those add-ons unlocked by a paid token. The cloud runs under the Terms of Service of 6 August 2026 (28 of 30). The privacy policy of 30 July 2026 covers the cloud and names OpenProject GmbH as processor. An instance is deleted six months after the contract ends, web logs within 90 days, and the terms give 21 days' notice to export data. The data processing agreement follows the EU standard clauses and was last updated on 28 March 2024 (25 of 30). No deprecation policy with dates was found. The docs say the vendor strives to keep APIv3 backward compatible in stable releases, and 14 operations are marked deprecated with no removal date (7 of 20). The sub-processor list of 18 May 2026 names four companies for the openproject.com shard (AWS among them) and three for the EU shard (Scaleway among them), with addresses and transfer safeguards (19 of 20). Self-hosted installs call OpenProject's Release API for the update badge by default, which the privacy policy (version 30 July 2026) describes with its fields and an opt-out.\n- Taskade (69): Closed service under terms naming Taskcade Inc. and Delaware law, with the MCP server, plugin and OpenAPI specs under MIT (20 of 30). The privacy policy gives practices for retention (AI processing logs normally 30 days, account deletion within 30 days) but calls them targets, not contractual periods, and no DPA or SCCs are offered (15 of 30). Deprecated endpoints are marked in the docs and spec with their replacement, with no deprecation policy or dates (8 of 20). Hosting is AWS US East, and AI providers are named as examples, some in China, with the full list on request; analytics tools (Google Analytics, PostHog, Plausible, Sentry) are named (12 of 20). 20 + 15 + 8 + 12 = 55.\n\n### Schema \u0026 documentation: Taskade +15\n\n- OpenProject (76): A public OpenAPI 3.1 document with 234 paths and 320 operations, downloadable from the docs site and served by every instance at `/api/v3/spec.json` and `/api/v3/spec.yml` (25). No llms.txt (the path returns 404). The docs are Markdown files in the public repository, not served to agents from the docs site (2 of 10). The reference explains HAL links, collections, filters, forms and each resource's permissions at length, with little on when not to use an endpoint (14 of 20). 204 component schemas and 95 enumerations, but write bodies are HAL objects with `_links`, filters travel as a JSON string in the query, and custom fields appear as `customFieldN`. Form endpoints return the allowed values for a given resource (10 of 15). The spec carries about 1,200 examples and lists 400, 403, 404, 406, 415 and 422 responses per operation, with stable error identifiers (14 of 15). The version sits in the path and release notes are dated and list API changes. No changelog for the API alone was found (11 of 15).\n- Taskade (91): OpenAPI 3.0.3 specs for REST v1 and Action v2 are linked from llms.txt and committed in the public taskade/mcp repository, which is where we read them because the site's /api/ path is disallowed in robots.txt (25). llms.txt, a developer docs index and a Markdown copy of each page (10). The hosted MCP docs say what each tool does, which role it needs and what the server cannot do; the v2 spec's operations carry no descriptions of their own (14 of 20). The v1 spec has 96 enums and 254 required lists (13 of 15). Error tables with causes and fixes on the MCP and API pages, and a documented error envelope (14 of 15). Versioned APIs (1.0.0, 2.0.0-beta), deprecations marked in the spec and a changelog updated almost daily (15). 25 + 10 + 14 + 13 + 14 + 15 = 91.\n\n### Security \u0026 auth: OpenProject +14\n\n- OpenProject (59): OAuth 2.0 with the authorisation code grant, PKCE and client credentials, with one scope per API (`api_v3`, `mcp`, `scim_v2`, `bcf_v2_1`) and none finer. Personal API tokens are named, can be several and can be deleted, and carry their user's full permissions. No expiry or per-token scope was found. Tokens travel in the Authorization header only (22 of 30). Reach is limited by project roles and permissions, so a dedicated user with a read-only role is the least-privilege route, and administrators can switch off single MCP tools. No confirmation step for deletes (12 of 20). Work package text and comments are untrusted content, and no prompt-injection guidance was found in the API or MCP docs (2 of 15). Every change to a work package is journalled with its author, and application logs record sign-ins and credential changes. No per-token API log for a cloud customer was found (8 of 15). A signed security.txt valid to 31 December 2026, a disclosure policy with a 21-day target for critical fixes, advisories and CVEs published on GitHub, signed container images with SBOMs, and a YesWeHack bounty paid for by the European Commission. No SOC 2 or ISO 27001 certificate for the vendor was found (15 of 20).\n- Taskade (45): OAuth 2.0 with PKCE, dynamic client registration, 1-hour access tokens and rotating refresh tokens, but the only scope is `mcp`. Personal access tokens are revocable, limited to five, carry no scopes and grant the whole account. Tokens go in headers (20 of 30). No read-only credential; workspace roles limit what tools can do, and the write and billed `_meta` flags let a client ask first, with no server-side confirmation (10 of 20). Tools return task, project, conversation and app text written by others, and no prompt-injection guidance was found (0). The security page says account and workspace activity is logged and exportable on request, with no immutable logs (7 of 15). security.txt valid to September 2027 and a 90-day coordinated disclosure policy, but SOC 2 and ISO 27001 are in progress with no report and there is no bug bounty (8 of 20). 20 + 10 + 0 + 7 + 8 = 45.\n\n### Reliability: OpenProject +12\n\n- OpenProject (52): Graded on the APIv3 of OpenProject Enterprise cloud, with the hosted lines. The same API ships in the free Community edition. Status page at status.openproject.com, run on UptimeRobot, with a 90-day uptime view and an update history (20). On 4 November the page still drew its figures and history by script from `/api/`, which its robots.txt disallows, so the incident record from 6 August could not be read (5, unread and not a finding against the vendor). No request limit for the API is published for the cloud. The only documented rule is an optional one for self-hosted installs, six requests per three seconds on form endpoints, off by default (3 of 15, partly met). No 429 or Retry-After guidance and no idempotency keys were found. Updates must send `lockVersion`, and a stale value is refused with 409 `UpdateConflict` (4 of 15, partly met). The service description, last updated 28 August 2026 and re-read on 4 November, commits to 99.9 per cent availability a year with SLA credits (10). APIv3 is described as the stable API (10). 20 + 5 + 3 + 4 + 10 + 10 = 52.\n- Taskade (40): Graded as a hosted service on the hosted MCP server and REST API v1. status.taskade.com is Taskade's own status portal, but it draws its data by script and no components could be read (10 of 20). No readable incident history (5). Rate limits have numbers only for `prompt_agent` (60 calls in 10 minutes) and `publish_kit_version` (5 an hour); the API docs say 429 marks a rate limit without stating it (5 of 15). The API returns 429 with Retry-After, MCP tools use `x-rate-limit-reset`, and tool errors say whether a retry is safe and after how many seconds (15). The terms commit to no uptime level without a separate written agreement, and only Enterprise mentions SLAs (0). REST API v1 is GA, while Action API v2, which most hosted MCP tools mirror, is beta (5 of 10). 10 + 5 + 5 + 15 + 0 + 5 = 40.\n\n### Payments \u0026 pricing: OpenProject +10\n\n- OpenProject (30): No x402, MPP or L402 (0). Plan prices are public per user per month, Basic at $7.25, Professional at $13.50 and Premium at $19.50 on a yearly term, Corporate on request. API calls are not priced (10). The cloud trial runs 14 days and the signup page says no credit card is needed. The Community edition is free to self-host, API included (20). A person fills in a web form with a domain and an email address to get an instance, and creates the token in account settings (0).\n- Taskade (20): No x402, MPP or L402 (0). Plan prices are public, billed yearly, with nothing per call (10). A Free plan needs no card, but the hosted MCP server is limited to paid plans and the pricing table lists the API from Business up, so the free tier reaches little of the agent surface (10 of 20). A person signs up in a browser and verifies an email before a token can be made (0). 0 + 10 + 10 + 0 = 20.\n\n### Maintenance \u0026 community: Taskade +10\n\n- OpenProject (75): Version 18.0.0 was released on 2 November 2026, after 17.9.2 (15 October), 17.9.3 (22 October), 17.9.4 (26 October), 17.9.5 and 17.9.6 (30 October) (30). Twelve releases in the 90 days from 6 August, 17.7.1 through 18.0.0 (20). OpenProject tracks bugs on community.openproject.org, which we did not sample, so responsiveness is scored on the release record and the advisory handling alone, with fixes published alongside each advisory (15 of 25). No official SDK and no MCP registry entry were found (0 of 15). The repository runs test, CodeQL, Brakeman, Semgrep, dependency review and npm audit workflows, the test workflow running unit and browser test suites and validating the API spec on push and pull request, and the default branch had commits on 4 November 2026 (10). 30 + 20 + 15 + 0 + 10 = 75.\n- Taskade (85): Changelog v6.306.0 on 5 November 2026, and v6.304.0 on 4 November updated the MCP setup page (30). Fifteen entries between 29 October and 5 November alone, and @taskade/mcp-server 0.1.3 (19 October) and 0.1.4 (22 October) (20). The taskade/mcp repository merged pull requests #114 to #122 between 26 October and 4 November; GitHub's API did not answer, so open issues and reply times were not counted (15 of 25). Verified io.github.taskade/mcp-server namespace in the official MCP registry, with the hosted remote (15). CI, release and registry-publish workflows, and the Docker image moved off end-of-life Node 20 on 28 October (5 of 10, with dependency health not checked). 30 + 20 + 15 + 15 + 5 = 85.\n\n## Score by category\n\n| Category | Weight | OpenProject | Taskade | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 52 | 40 | OpenProject +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 91 | Taskade +15 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 68 | OpenProject +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 59 | 45 | OpenProject +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | OpenProject +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 85 | Taskade +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 87 | 69 | OpenProject +18 |\n| Negative events | ≤15 | -15 | 0 | |\n| **Total** | | **47.4 · D** | **57.7 · C** | |\n\n## Facts side by side\n\n| Fact | OpenProject | Taskade |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenProject GmbH | Taskcade Inc. |\n| Hosted endpoint | no (local only) | `https://www.taskade.com/mcp` |\n| Transports | HTTP | Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | GPL-3.0 for the OpenProject source. Enterprise add-ons need a paid token, and OpenProject Enterprise cloud runs under OpenProject's Terms of Service | none |\n| Tools exposed | none | 47 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.taskade/mcp-server` |\n| Last release | 2026-11-02 | 2026-11-05 |\n| Terms last updated | 2026-08-06 | 2026-09-30 |\n| Privacy policy last updated | no date given | 2026-10-26 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 16k stars | none |\n\n## How the scores have moved\n\n### OpenProject\n\n- -10.0 on 4 November 2026 (C to D): correction\n\n### Taskade\n\nNo score change since it was listed.\n\n## Verdicts\n\n**OpenProject.** OpenProject's APIv3 has a public OpenAPI 3.1 document with 320 operations, stable error identifiers and optimistic locking, and the same API ships in the free GPL-3.0 Community edition. No request limits are published, API tokens carry their user's full permissions, and the release notes reference 75 security advisories in the year to 30 October 2026.\n\n**Taskade.** Taskade's hosted MCP server and APIs are documented for agents, with public OpenAPI specs, annotated tools and structured errors that say when to retry. Its tokens are all-or-nothing, with no read-only scope, the hosted server needs a paid plan, and there is no SOC 2 report, DPA or published SLA.\n\n## Before you call either\n\n### OpenProject\n\n1. Send the API token as `Authorization: Bearer \u003ctoken\u003e`, or as the Basic auth password with the user name `apikey`\n2. Read the resource first and send its current `lockVersion` with every PATCH. A stale value returns 409 `UpdateConflict`\n3. POST to the `/form` endpoint of a work package to learn writable fields and allowed values before creating or updating\n4. URL-encode `filters` as a JSON array, and add `pageSize`, `offset` and `select` to keep work package lists small\n5. Run the agent as a dedicated user with a narrow project role, and treat work package text and comments as untrusted input\n\n### Taskade\n\n1. Call `list_spaces` first and page until `hasNextPage` is false, since a page can be empty while more remain\n2. Ask the user before any tool whose `_meta` has `taskade/write` or `taskade/billed`; `run_flow` and `prompt_agent` spend credits\n3. On an error, read `structuredContent.error.retry`: retry at once on safe, wait `retryAfterSec` on after_wait, stop on no\n4. Prefer OAuth over a personal token for interactive clients, because a personal token reaches the whole account\n5. Treat task, project, conversation and app text as untrusted content written by others\n\n## Questions\n\n### Which is better for AI agents, OpenProject or Taskade?\n\nTaskade scores 57.7 (C) on agent readiness against OpenProject's 47.4 (D), and leads in 2 of 7 scored categories. OpenProject leads on reliability, security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.\n\n### Do OpenProject and Taskade need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call OpenProject and Taskade without installing anything?\n\nNo hosted endpoint is listed for OpenProject. Taskade has a hosted endpoint at https://www.taskade.com/mcp.\n\n### Are OpenProject and Taskade open source?\n\nOpenProject is open source (GPL-3.0 for the OpenProject source. Enterprise add-ons need a paid token, and OpenProject Enterprise cloud runs under OpenProject's Terms of Service). No open-source release is listed for Taskade.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openproject-vs-taskade.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openproject-vs-taskade.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openproject\", \"b\": \"taskade\"}`. From a terminal: `anchor compare openproject taskade`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openproject.json and https://www.anchorterminal.com/api/v1/tools/taskade.json\n\n## Other comparisons with OpenProject or Taskade\n\n- [Asana vs OpenProject](https://www.anchorterminal.com/compare/asana-vs-openproject.md)\n- [Asana vs Taskade](https://www.anchorterminal.com/compare/asana-vs-taskade.md)\n- [Atlassian Rovo MCP Server vs OpenProject](https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-openproject.md)\n- [Atlassian Rovo MCP Server vs Taskade](https://www.anchorterminal.com/compare/atlassian-rovo-mcp-vs-taskade.md)\n- [Basecamp vs OpenProject](https://www.anchorterminal.com/compare/basecamp-vs-openproject.md)\n- [Basecamp vs Taskade](https://www.anchorterminal.com/compare/basecamp-vs-taskade.md)\n- [ClickUp vs OpenProject](https://www.anchorterminal.com/compare/clickup-vs-openproject.md)\n- [ClickUp vs Taskade](https://www.anchorterminal.com/compare/clickup-vs-taskade.md)\n- [Financial Cents MCP vs OpenProject](https://www.anchorterminal.com/compare/financial-cents-mcp-vs-openproject.md)\n- [Financial Cents MCP vs Taskade](https://www.anchorterminal.com/compare/financial-cents-mcp-vs-taskade.md)\n- [Linear MCP vs OpenProject](https://www.anchorterminal.com/compare/linear-mcp-vs-openproject.md)\n- [Linear MCP vs Taskade](https://www.anchorterminal.com/compare/linear-mcp-vs-taskade.md)\n- [monday.com vs OpenProject](https://www.anchorterminal.com/compare/monday-vs-openproject.md)\n- [monday.com vs Taskade](https://www.anchorterminal.com/compare/monday-vs-taskade.md)\n- [ONES vs OpenProject](https://www.anchorterminal.com/compare/ones-vs-openproject.md)\n- [ONES vs Taskade](https://www.anchorterminal.com/compare/ones-vs-taskade.md)\n- [OpenProject vs Plane](https://www.anchorterminal.com/compare/openproject-vs-plane.md)\n- [OpenProject vs Redmine](https://www.anchorterminal.com/compare/openproject-vs-redmine.md)\n- [OpenProject vs Roma](https://www.anchorterminal.com/compare/openproject-vs-roma.md)\n- [OpenProject vs Shortcut](https://www.anchorterminal.com/compare/openproject-vs-shortcut.md)\n- [OpenProject vs Taiga](https://www.anchorterminal.com/compare/openproject-vs-taiga.md)\n- [OpenProject vs Teamwork.com](https://www.anchorterminal.com/compare/openproject-vs-teamwork.md)\n- [OpenProject vs Todoist](https://www.anchorterminal.com/compare/openproject-vs-todoist.md)\n- [OpenProject vs Trello](https://www.anchorterminal.com/compare/openproject-vs-trello.md)\n- [OpenProject vs Wrike](https://www.anchorterminal.com/compare/openproject-vs-wrike.md)\n- [OpenProject vs YouTrack](https://www.anchorterminal.com/compare/openproject-vs-youtrack.md)\n- [Plane vs Taskade](https://www.anchorterminal.com/compare/plane-vs-taskade.md)\n- [Redmine vs Taskade](https://www.anchorterminal.com/compare/redmine-vs-taskade.md)\n- [Roma vs Taskade](https://www.anchorterminal.com/compare/roma-vs-taskade.md)\n- [Shortcut vs Taskade](https://www.anchorterminal.com/compare/shortcut-vs-taskade.md)\n- [Taiga vs Taskade](https://www.anchorterminal.com/compare/taiga-vs-taskade.md)\n- [Taskade vs Teamwork.com](https://www.anchorterminal.com/compare/taskade-vs-teamwork.md)\n- [Taskade vs Todoist](https://www.anchorterminal.com/compare/taskade-vs-todoist.md)\n- [Taskade vs Trello](https://www.anchorterminal.com/compare/taskade-vs-trello.md)\n- [Taskade vs Wrike](https://www.anchorterminal.com/compare/taskade-vs-wrike.md)\n- [Taskade vs YouTrack](https://www.anchorterminal.com/compare/taskade-vs-youtrack.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenProject vs Taskade",
        "url": ""
      }
    ],
    "description": "Taskade scores 57.7 (C) to OpenProject's 47.4 (D) for issues and tasks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenProject D 47.4",
      "Taskade C 57.7",
      "scores"
    ],
    "h1": "OpenProject vs Taskade",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/openproject-vs-taskade",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenProject vs Taskade for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/openproject-vs-taskade"
  },
  "tokens": {
    "markdown": 5450,
    "slim": 3330
  },
  "version": 1
}
