From 4b6fec2c2383a78ddc34910df520340e259c3e74 Mon Sep 17 00:00:00 2001 From: Minu Palaniappan Date: Fri, 25 Sep 2026 11:36:51 -0700 Subject: [PATCH 1/2] feat(third_party): add Trello plugin Adds a marketplace plugin for Atlassian's official Trello MCP server at https://mcp.trello.com/v1, covering boards, lists, cards, checklists, Inbox, Planner, and search. Auth is OAuth with PKCE and dynamic client registration through Atlassian's authorization server, verified to accept every Cursor and Grok redirect set. Tracks Linear PGT-4579. --- .cursor-plugin/marketplace.json | 5 ++ third_party/trello/.cursor-plugin/plugin.json | 36 +++++++++ third_party/trello/CHANGELOG.md | 9 +++ third_party/trello/LICENSE | 21 ++++++ third_party/trello/README.md | 69 ++++++++++++++++++ third_party/trello/assets/logo.png | Bin 0 -> 2887 bytes third_party/trello/mcp.json | 8 ++ 7 files changed, 148 insertions(+) create mode 100644 third_party/trello/.cursor-plugin/plugin.json create mode 100644 third_party/trello/CHANGELOG.md create mode 100644 third_party/trello/LICENSE create mode 100644 third_party/trello/README.md create mode 100644 third_party/trello/assets/logo.png create mode 100644 third_party/trello/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 052ee8f68..3f8d3062e 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -467,6 +467,11 @@ "name": "tinyfish", "source": "third_party/tinyfish", "description": "Browse and automate the web with TinyFish: run multi-step web automations, search the web, extract clean page content, and drive remote stealth browser sessions." + }, + { + "name": "trello", + "source": "third_party/trello", + "description": "Manage your Trello workspace from chat: browse and create boards, view and move lists, create, update, move, archive, and complete cards with labels and due dates, manage checklists, capture Inbox cards, schedule Planner focus time, and search across boards." } ] } diff --git a/third_party/trello/.cursor-plugin/plugin.json b/third_party/trello/.cursor-plugin/plugin.json new file mode 100644 index 000000000..aa5fd2f73 --- /dev/null +++ b/third_party/trello/.cursor-plugin/plugin.json @@ -0,0 +1,36 @@ +{ + "name": "trello", + "displayName": "Trello", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Manage your Trello workspace from chat: browse and create boards, view and move lists, create, update, move, archive, and complete cards with labels and due dates, manage checklists, capture Inbox cards, schedule Planner focus time, and search across boards.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://github.com/atlassian/trello-mcp-server", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "trello", + "atlassian", + "kanban", + "boards", + "cards", + "checklists", + "project management", + "task management", + "planner", + "mcp" + ], + "category": "integrations", + "tags": [ + "trello", + "project management", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/trello/CHANGELOG.md b/third_party/trello/CHANGELOG.md new file mode 100644 index 000000000..bba8ca517 --- /dev/null +++ b/third_party/trello/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `trello` MCP server pointing at Atlassian's hosted Streamable HTTP endpoint for Trello (`https://mcp.trello.com/v1`). +- Auth uses OAuth with Atlassian account login (PKCE, dynamic client registration via Atlassian's authorization server at `auth.atlassian.com`) — no API key or client ID to configure. Registration was verified to accept every Cursor redirect set, including Grok Bot mobile. +- Logo: Trello's official mark, taken from the logo Atlassian publishes in the `atlassian/trello-mcp-server` repository, on a 192×192 tile. diff --git a/third_party/trello/LICENSE b/third_party/trello/LICENSE new file mode 100644 index 000000000..ca2bba771 --- /dev/null +++ b/third_party/trello/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/trello/README.md b/third_party/trello/README.md new file mode 100644 index 000000000..768f542e6 --- /dev/null +++ b/third_party/trello/README.md @@ -0,0 +1,69 @@ +# Trello + +Cursor plugin that connects agents to [Trello](https://trello.com) through Atlassian's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server for Trello. + +Browse and create boards, view and move lists, create, update, move, archive, and complete cards with labels and due dates, manage checklists, capture cards in your Inbox, schedule Planner focus time, and search across your workspace. + +This is Trello's own MCP server and covers Trello data only. It is separate from Cursor's built-in Atlassian server, which covers Jira and Confluence; install both if you use Trello alongside those products. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Trello**. +3. Click **Install**, then complete the Atlassian sign-in prompt and choose the Trello workspace to authorise. + +Or run `/add-plugin trello` in chat. + +## MCP + +```json +{ + "mcpServers": { + "trello": { + "type": "http", + "url": "https://mcp.trello.com/v1" + } + } +} +``` + +Auth is OAuth. Cursor prompts for Atlassian sign-in when the plugin connects — there is no client ID or API key to configure. Each user signs in with their own Atlassian account, picks one Trello workspace on the consent screen, and approves the Read, Write, and Search permissions the connection may use. + +## Before you connect + +You need a Trello account on any plan. Each connection is scoped to a single Trello workspace at launch; disconnect and reconnect to switch workspaces or to grant a permission you skipped. Creating Planner focus-time events requires Trello Premium or Enterprise, and Inbox and Planner permissions may be unavailable for workspaces outside your own organization. Enterprise admins can allow or block the server and its Read/Write permissions from Atlassian Administration. + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Member | `trelloReadMember` returns the signed-in user's profile and defaults, including the timezone used to resolve relative due dates | +| Boards | `trelloReadBoard` gets a board by URL or id, lists boards, and lists boards by workspace with visibility filters and cursor pagination, including the board's labels; `trelloWriteBoard` creates boards | +| Lists | `trelloWriteList` creates lists on a board and moves them, with `pos` for ordered creation | +| Cards | `trelloReadCard` gets a card by URL or id; `trelloWriteCard` creates, updates, moves, archives, and marks cards done, sets due dates, and attaches or detaches labels | +| Checklists | `trelloWriteChecklist` creates and updates checklists on a card and adds or updates checklist items | +| Inbox | `trelloReadInbox` and `trelloWriteInbox` view, create, update, and archive cards in your personal Inbox, which is separate from boards | +| Planner | `trelloReadPlanner` reads calendar events from a connected Google or Outlook calendar; `trelloWritePlanner` creates focus-time events and links or unlinks cards to them | +| Search | `trelloSearch` finds cards and boards by keyword, with qualifiers such as `due:` | + +Tools are action-dispatched: each takes an `action` parameter that selects the operation. Every id is an Atlassian Resource Identifier (`ari:cloud:trello::card/workspace//`) returned by a read tool, not a raw Trello id or short link. The hosted runtime is the source of truth for tool names and schemas. + +## Notes + +- Writes land on real boards that your teammates see. Ask the agent to confirm before bulk moves, archives, or Inbox clean-ups. +- The server has no permanent delete; cards and lists can only be archived. +- Comments, attachments, custom fields, card members, label management, and board editing are not exposed yet. Atlassian lists them as planned in the server's README. +- Due dates and Planner times are UTC ISO 8601; the agent should read the member's timezone first when you give relative times such as "tomorrow at 1pm". + +## Docs + +- Trello MCP server README: https://github.com/atlassian/trello-mcp-server +- Trello support article: https://support.atlassian.com/trello/docs/connect-trello-to-ai-assistants-with-trello-mcp/ +- Agent skill for calling the tools correctly: https://github.com/atlassian/trello-mcp-server/blob/main/skills/trello-use/SKILL.md +- Server URL: https://mcp.trello.com/v1 + +Logo is Trello's official mark. + +## License + +MIT diff --git a/third_party/trello/assets/logo.png b/third_party/trello/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..acd2247bb7115a430489454fb6d0688895c39871 GIT binary patch literal 2887 zcmbtWc{CLM7B{vg4Td6Nm_jjQUt`1wp+RFXLiQz$B|F)MV$fnTN|GfM*(S2Dm7TI> z9S!+e#@_uhH$op-*=J?DGxcf04_&*vtgO$|6X1UZ-XKxu%6>?NZoc;Ci?Gbu`6u^gM7(ssM(5mk$KRa`E#fcbi-_ z#DfI`&S&WAc989Gnue6we zen6lh7)*php*l!p93IaK0GwoI=4E9S|7S(g#gP+#YYVeXH!OakcVuV(15C zhrUmUY|F-nDuY+@Nl&r)sw*R#Z#?p4Vd^@F^ItA2v^{rISx9+cl>9YeZ)w9U{ve@} zC*@er&d;QI%e8sSs}Vjz$Pa=&l@B*I_V;!6FAvAISd%$7XNW|$GeGtM)tw(D%Ll7( z%RfFDA`0u)Jy7vjyy6vJBN=S!gh{jEOLYP2AVnM;$2T7*-zzJliYdxL-g-+VR1R05 zZokImFSI~=1P2qlTIWc%t%woIDD8>Q5W&DJ&ev^uf-g`J)F3&@|5Pql?5yx=h&^uA zzwiAwT{yLLf46dtEv2yg{Yzm$^>*F(MpMYIINg=_@8#i2(hKkaMVY&A&!%eTw$bil zeQ--cpZZ+uI|P+~v}k%dnH3k57zz-_&rZB6Sw1XQO`@*1eunxO`|}H43bLSsjoOwen#Osx2m6h zU9hz{@*By&xnn<&>R=bt5GhQX=Vv_aW0hiR|agXp&gcp_1P*~MWm5g4SH$Z@77ECC(XQjuoP|d@w-B1op@7~U$bg_Jag{j-OD9W-Y(}@D50r`c_%ok z$O)VGD_Q4v*txQnoou<&Jdc-sYkqG@10bzILZVj;o-+dM#h!gatTbSB1aaL$ z{=13uU|9jvayniEjBaH&f1UPXiD$i}2tWGV3+d5_m256KFvIIcg8`E=qcm=cUt>u>0>)J{5wXySOPM`elBZ^6XdPg@Cipoy z@O0=w5p-Iz$9GA@;rj_&p`DzK3;kQ)#?52)SI%T9BQ9@qK5C(FydDso-`^;T`0Z_W zY+s+E(OtC!w?bK_K!FV&!TOVFahnxsMsG|Krz#b#^6s+g7|MIXtj-!%kh$f0IXy;e zJ39mmqImCN^X=a+@$`al{8v6LaIdB(DtX!4dXR!naxAbbM|h=zN;EV4++~p^X6f@8 zyCMT;@7{f(pI|v5sRk{vzSIV@c|_qIps(?wZdHw>=OE^H$&UHo@U9VbmaVH^9ip#5 zX+q%pZ2uCn{wiyXPEp61b7l@;WHEXNp_j{N8~~MOKw{p6op`>*W`%4S=~H~+4{aZ@CfBj-8|A^ zq(F29t#jtcC@Py+00vviOCHP`PCdRs+45Ex6K}@0Ia!6Ls0~u)S|}U5yVB)gBr=lD z@{zLmr=vv^zx^%v--G&pazrm@wG}~haZ6oazwi5e z+ret04eMY!=GTUBVfp18`sQ*aTTT5}nREP6L1zeA<_EEkgqpqy7%*xmuez6B4;3;ShknG(({Ug)=AL1YNQULbA=d zSPE+muymM}SnSTZ=%?@^pi-s?DWz*`lIWIOw#LrJRTE~?Gx1O7B@`br$HRNv)XSs+ ze6$yT5QC3a@e=zC@4k>Z_mF;BA+P# zv_grM=Y)G#3o?TTw4K~U`bCJUHis)pb-?)MN;Xv=20Q3g}fKn(%U20Kj+-Uyz7gdgDPU*RQbLkFA)kfP5%*Ji(}LeC}27UNlU1h!A8tv6RJARoBGKODcpoRs?ld4Ghk7IsjXX}uo=pqd4j)2e+qhkcaU zxp{GeO}~H6-+oZgynFK}W4A|W-S~PFHhB8{_SHM%2N^v=>9N2l)LZrv#;cesxG@zdofc#)z7sfl=Ysd zlJZiR1zfjOjMi|K((CGtgEFQrIWHu)8#C>z+-e~+FCT?=W>+D)CXlwr05Yy!TV7LRen;Co;uKEBi=+kXFG^C-ljy=- zy7}nzR}*Wj%Mtx%i-S9l6dVdf^hS*U{wMgI*Nz@^KjT=sSjni2nT+&J^~$e0#{C0u Chca*g literal 0 HcmV?d00001 diff --git a/third_party/trello/mcp.json b/third_party/trello/mcp.json new file mode 100644 index 000000000..7c28d306a --- /dev/null +++ b/third_party/trello/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "trello": { + "type": "http", + "url": "https://mcp.trello.com/v1" + } + } +} From 23c914b288705e177f0c64bb0f005f5f94828d7f Mon Sep 17 00:00:00 2001 From: Minu Palaniappan Date: Fri, 25 Sep 2026 13:59:46 -0700 Subject: [PATCH 2/2] trello: pad the mark to match sibling logos --- third_party/trello/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/trello/CHANGELOG.md b/third_party/trello/CHANGELOG.md index bba8ca517..26a206e76 100644 --- a/third_party/trello/CHANGELOG.md +++ b/third_party/trello/CHANGELOG.md @@ -6,4 +6,4 @@ All notable changes to this plugin will be documented here. - Added the `trello` MCP server pointing at Atlassian's hosted Streamable HTTP endpoint for Trello (`https://mcp.trello.com/v1`). - Auth uses OAuth with Atlassian account login (PKCE, dynamic client registration via Atlassian's authorization server at `auth.atlassian.com`) — no API key or client ID to configure. Registration was verified to accept every Cursor redirect set, including Grok Bot mobile. -- Logo: Trello's official mark, taken from the logo Atlassian publishes in the `atlassian/trello-mcp-server` repository, on a 192×192 tile. +- Logo: Trello's official mark, taken from the logo Atlassian publishes in the `atlassian/trello-mcp-server` repository, at 160×160 with 16px padding on a white 192×192 tile.