Trello
STDIO全方位Trello API集成服务器
全方位Trello API集成服务器
A Model Context Protocol (MCP) server that provides tools for interacting with the Trello API. Built on the Generic MCP Server Template.
trello-mcp-server/
├── src/
│   ├── services/       # Service classes for Trello API interactions
│   │   ├── base-service.ts        # Abstract base service with common functionality
│   │   ├── trello-service.ts      # Core Trello API service
│   │   ├── board-service.ts       # Service for Trello boards
│   │   ├── list-service.ts        # Service for Trello lists
│   │   ├── card-service.ts        # Service for Trello cards
│   │   ├── member-service.ts      # Service for Trello members
│   │   ├── label-service.ts       # Service for Trello labels
│   │   ├── checklist-service.ts   # Service for Trello checklists
│   │   └── service-factory.ts     # Factory for creating service instances
│   ├── tools/          # MCP tool definitions and handlers
│   │   ├── board-tools.ts         # Board tool definitions
│   │   ├── board-tool-handlers.ts # Board tool handlers
│   │   ├── list-tools.ts          # List tool definitions
│   │   ├── list-tool-handlers.ts  # List tool handlers
│   │   ├── card-tools.ts          # Card tool definitions
│   │   ├── card-tool-handlers.ts  # Card tool handlers
│   │   ├── member-tools.ts        # Member tool definitions
│   │   ├── member-tool-handlers.ts # Member tool handlers
│   │   ├── label-tools.ts         # Label tool definitions
│   │   ├── label-tool-handlers.ts # Label tool handlers
│   │   ├── checklist-tools.ts     # Checklist tool definitions
│   │   ├── checklist-tool-handlers.ts # Checklist tool handlers
│   │   ├── trello-tools.ts        # Combined tool definitions
│   │   └── trello-tool-handlers.ts # Combined tool handlers
│   ├── types/          # TypeScript type definitions
│   │   └── trello-types.ts        # Trello type definitions
│   ├── config.ts       # Configuration management
│   └── index.ts        # Main entry point
├── .env.example        # Example environment variables
├── package.json        # Project dependencies and scripts
├── tsconfig.json       # TypeScript configuration
└── README.md           # Project documentation
Clone this repository:
git clone https://github.com/yourusername/trello-mcp-server.git cd trello-mcp-server
Install dependencies:
npm install
Create a .env file based on .env.example:
cp .env.example .env
Edit the .env file with your Trello API key and token:
TRELLO_API_KEY=your_trello_api_key
TRELLO_TOKEN=your_trello_token
You can obtain these from the Trello Developer Portal.
Build the project:
npm run build
Run the server:
npm start
The server provides tools for interacting with all major Trello resources:
get_boards - Get all boards for the authenticated userget_board - Get a specific board by IDcreate_board - Create a new boardupdate_board - Update an existing boarddelete_board - Delete a boardget_board_lists - Get all lists on a boardget_board_members - Get all members of a boardget_board_labels - Get all labels on a boardclose_board - Close (archive) a boardreopen_board - Reopen a closed boardget_list - Get a specific list by IDcreate_list - Create a new list on a boardupdate_list - Update an existing listarchive_list - Archive a listunarchive_list - Unarchive a listmove_list_to_board - Move a list to a different boardget_cards_in_list - Get all cards in a listarchive_all_cards - Archive all cards in a listmove_all_cards - Move all cards in a list to another listupdate_list_position - Update the position of a list on a boardupdate_list_name - Update the name of a listsubscribe_to_list - Subscribe to a listget_card - Get a specific card by IDcreate_card - Create a new cardupdate_card - Update an existing carddelete_card - Delete a cardarchive_card - Archive a cardunarchive_card - Unarchive a cardmove_card_to_list - Move a card to a different listadd_comment - Add a comment to a cardget_comments - Get comments on a cardadd_attachment - Add an attachment to a cardget_attachments - Get attachments on a carddelete_attachment - Delete an attachment from a cardadd_member - Add a member to a cardremove_member - Remove a member from a cardadd_label - Add a label to a cardremove_label - Remove a label from a cardset_due_date - Set the due date for a cardset_due_complete - Mark a card's due date as complete or incompleteget_me - Get the authenticated member (current user)get_member - Get a specific member by ID or usernameget_member_boards - Get boards that a member belongs toget_member_cards - Get cards assigned to a memberget_boards_invited - Get boards that a member has been invited toget_member_organizations - Get organizations that a member belongs toget_notifications - Get notifications for the authenticated memberupdate_me - Update the authenticated member's informationget_avatar - Get the authenticated member's avatarsearch_members - Search for members by nameget_board_members - Get members of a boardget_organization_members - Get members of an organizationget_card_members - Get members assigned to a cardget_label - Get a specific label by IDcreate_label - Create a new label on a boardupdate_label - Update an existing labeldelete_label - Delete a labelget_board_labels - Get all labels on a boardupdate_label_name - Update the name of a labelupdate_label_color - Update the color of a labelcreate_label_on_card - Create a new label directly on a cardget_card_labels - Get all labels on a cardadd_label_to_card - Add a label to a cardremove_label_from_card - Remove a label from a cardget_checklist - Get a specific checklist by IDcreate_checklist - Create a new checklist on a cardupdate_checklist - Update an existing checklistdelete_checklist - Delete a checklistget_checkitems - Get all checkitems on a checklistcreate_checkitem - Create a new checkitem on a checklistget_checkitem - Get a specific checkitem on a checklistupdate_checkitem - Update a checkitem on a checklistdelete_checkitem - Delete a checkitem from a checklistupdate_checklist_name - Update the name of a checklistupdate_checklist_position - Update the position of a checklist on a cardget_checklist_board - Get the board a checklist is onget_checklist_card - Get the card a checklist is onupdate_checkitem_state_on_card - Update a checkitem's state on a cardThe server uses a centralized configuration system in src/config.ts. Configuration can be provided through:
--env KEY=VALUE)Required environment variables:
TRELLO_API_KEY - Your Trello API keyTRELLO_TOKEN - Your Trello API tokenThe server includes comprehensive error handling:
This project is licensed under the MIT License - see the LICENSE file for details.