trello · Capability

Trello Project Management

Unified capability for teams to manage projects, tasks, and workflows using Trello's kanban-style boards. Provides board management, card tracking, list organization, team collaboration, and search for project managers, developers, and team leads.

Run with Naftiko AtlassianBoardsCardsCollaborationKanbanProject ManagementTask Management

What You Can Do

POST
Create board — Create a new project board
/v1/boards
GET
Get board — Get board details
/v1/boards/{id}
PUT
Update board — Update board settings
/v1/boards/{id}
DELETE
Delete board — Delete a board
/v1/boards/{id}
GET
Get board cards — Get all cards on a board
/v1/boards/{id}/cards
GET
Get board lists — Get board lists
/v1/boards/{id}/lists
GET
Get board members — Get board members
/v1/boards/{id}/members
POST
Create card — Create a task card
/v1/cards
GET
Get card — Get card
/v1/cards/{id}
PUT
Update card — Update card
/v1/cards/{id}
DELETE
Delete card — Delete card
/v1/cards/{id}
POST
Create list — Create a list
/v1/lists
GET
Get list — Get list
/v1/lists/{id}
PUT
Update list — Update list
/v1/lists/{id}
GET
Get list cards — Get cards in list
/v1/lists/{id}/cards
GET
Get member — Get member
/v1/members/{id}
GET
Get member boards — Get member boards
/v1/members/{id}/boards
GET
Search — Search Trello
/v1/search
POST
Create webhook — Create webhook
/v1/webhooks
GET
Get webhook — Get webhook
/v1/webhooks/{id}
DELETE
Delete webhook — Delete webhook
/v1/webhooks/{id}

MCP Tools

get-board

Get a Trello board by ID including metadata and settings.

read-only
create-board

Create a new Trello board for a project or team workflow.

get-board-cards

Get all cards on a board to review the full task backlog or sprint.

read-only
get-board-lists

Get all lists on a board (workflow columns like To Do, In Progress, Done).

read-only
get-board-members

Get all team members with access to a board.

read-only
create-card

Create a new task card on a Trello list with name, description, and due date.

get-card

Get a specific Trello card including description, labels, due date, and members.

read-only
update-card

Update a Trello card to change name, description, due date, or move to another list.

idempotent
delete-card

Permanently delete a Trello card.

idempotent
create-list

Create a new workflow column (list) on a Trello board.

get-list-cards

Get all cards in a specific Trello list (workflow column).

read-only
get-member-boards

Get all Trello boards accessible to a specific member.

read-only
search

Search across Trello for boards, cards, or members matching a query.

read-only
create-webhook

Create a webhook to receive real-time notifications when Trello resources change.

APIs Used

trello

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Trello Project Management"
  description: >-
    Unified capability for teams to manage projects, tasks, and workflows
    using Trello's kanban-style boards. Provides board management, card tracking,
    list organization, team collaboration, and search for project managers,
    developers, and team leads.
  tags:
    - Atlassian
    - Boards
    - Cards
    - Collaboration
    - Kanban
    - Project Management
    - Task Management
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      TRELLO_API_KEY: TRELLO_API_KEY
      TRELLO_TOKEN: TRELLO_TOKEN

capability:
  consumes:
    - import: trello
      location: ./shared/trello-rest-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: trello-project-mgmt-api
      description: "Unified REST API for Trello project and task management."
      resources:
        - path: /v1/boards
          name: boards
          description: "Trello boards for project organization"
          operations:
            - method: POST
              name: create-board
              description: "Create a new project board"
              call: "trello.create-board"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/boards/{id}
          name: board-detail
          description: "Project board detail"
          operations:
            - method: GET
              name: get-board
              description: "Get board details"
              call: "trello.get-board"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-board
              description: "Update board settings"
              call: "trello.update-board"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-board
              description: "Delete a board"
              call: "trello.delete-board"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/boards/{id}/cards
          name: board-cards
          description: "All cards on a board"
          operations:
            - method: GET
              name: get-board-cards
              description: "Get all cards on a board"
              call: "trello.get-board-cards"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/boards/{id}/lists
          name: board-lists
          description: "Lists on a board"
          operations:
            - method: GET
              name: get-board-lists
              description: "Get board lists"
              call: "trello.get-board-lists"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/boards/{id}/members
          name: board-members
          description: "Board team members"
          operations:
            - method: GET
              name: get-board-members
              description: "Get board members"
              call: "trello.get-board-members"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cards
          name: cards
          description: "Task cards"
          operations:
            - method: POST
              name: create-card
              description: "Create a task card"
              call: "trello.create-card"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/cards/{id}
          name: card-detail
          description: "Task card detail"
          operations:
            - method: GET
              name: get-card
              description: "Get card"
              call: "trello.get-card"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-card
              description: "Update card"
              call: "trello.update-card"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-card
              description: "Delete card"
              call: "trello.delete-card"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/lists
          name: lists
          description: "Workflow lists (columns)"
          operations:
            - method: POST
              name: create-list
              description: "Create a list"
              call: "trello.create-list"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/lists/{id}
          name: list-detail
          description: "List detail"
          operations:
            - method: GET
              name: get-list
              description: "Get list"
              call: "trello.get-list"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: update-list
              description: "Update list"
              call: "trello.update-list"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/lists/{id}/cards
          name: list-cards
          description: "Cards in a list"
          operations:
            - method: GET
              name: get-list-cards
              description: "Get cards in list"
              call: "trello.get-list-cards"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/members/{id}
          name: member-detail
          description: "Team member"
          operations:
            - method: GET
              name: get-member
              description: "Get member"
              call: "trello.get-member"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/members/{id}/boards
          name: member-boards
          description: "Member's boards"
          operations:
            - method: GET
              name: get-member-boards
              description: "Get member boards"
              call: "trello.get-member-boards"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/search
          name: search
          description: "Search all Trello resources"
          operations:
            - method: GET
              name: search
              description: "Search Trello"
              call: "trello.search"
              with:
                query: "rest.query"
                modelTypes: "rest.modelTypes"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/webhooks
          name: webhooks
          description: "Trello webhooks"
          operations:
            - method: POST
              name: create-webhook
              description: "Create webhook"
              call: "trello.create-webhook"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/webhooks/{id}
          name: webhook-detail
          description: "Webhook detail"
          operations:
            - method: GET
              name: get-webhook
              description: "Get webhook"
              call: "trello.get-webhook"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-webhook
              description: "Delete webhook"
              call: "trello.delete-webhook"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: trello-project-mgmt-mcp
      transport: http
      description: "MCP server for AI-assisted project management using Trello boards, lists, and cards."
      tools:
        - name: get-board
          description: "Get a Trello board by ID including metadata and settings."
          hints:
            readOnly: true
            openWorld: false
          call: "trello.get-board"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-board
          description: "Create a new Trello board for a project or team workflow."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "trello.create-board"
          with:
            name: "tools.name"
            desc: "tools.desc"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-board-cards
          description: "Get all cards on a board to review the full task backlog or sprint."
          hints:
            readOnly: true
            openWorld: true
          call: "trello.get-board-cards"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-board-lists
          description: "Get all lists on a board (workflow columns like To Do, In Progress, Done)."
          hints:
            readOnly: true
            openWorld: true
          call: "trello.get-board-lists"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-board-members
          description: "Get all team members with access to a board."
          hints:
            readOnly: true
            openWorld: true
          call: "trello.get-board-members"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-card
          description: "Create a new task card on a Trello list with name, description, and due date."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "trello.create-card"
          with:
            name: "tools.name"
            idList: "tools.idList"
            desc: "tools.desc"
            due: "tools.due"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-card
          description: "Get a specific Trello card including description, labels, due date, and members."
          hints:
            readOnly: true
            openWorld: false
          call: "trello.get-card"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: update-card
          description: "Update a Trello card to change name, description, due date, or move to another list."
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "trello.update-card"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: delete-card
          description: "Permanently delete a Trello card."
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "trello.delete-card"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-list
          description: "Create a new workflow column (list) on a Trello board."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "trello.create-list"
          with:
            name: "tools.name"
            idBoard: "tools.idBoard"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-list-cards
          description: "Get all cards in a specific Trello list (workflow column)."
          hints:
            readOnly: true
            openWorld: true
          call: "trello.get-list-cards"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-member-boards
          description: "Get all Trello boards accessible to a specific member."
          hints:
            readOnly: true
            openWorld: true
          call: "trello.get-member-boards"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: search
          description: "Search across Trello for boards, cards, or members matching a query."
          hints:
            readOnly: true
            openWorld: true
          call: "trello.search"
          with:
            query: "tools.query"
            modelTypes: "tools.modelTypes"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-webhook
          description: "Create a webhook to receive real-time notifications when Trello resources change."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "trello.create-webhook"
          with:
            description: "tools.description"
            callbackURL: "tools.callbackURL"
            idModel: "tools.idModel"
          outputParameters:
            - type: object
              mapping: "$."