Trello MCP Server
# Trello MCP Server (TypeScript)
A TypeScript implementation of a Model Context Protocol (MCP) server for Trello integration, providing tools for AI assistants to interact with Trello boards, lists, and cards.
## Features
- Full Trello API integration through MCP tools
- Asynchronous operations for better performance
- Type-safe implementation using TypeScript
- Comprehensive error handling
- Environment-based configuration
## Prerequisites
- Node.js 18.x or higher
- npm or yarn
- Trello API credentials
## Installation
```bash
# Install dependencies
make install
```
## Configuration
Create a `.env` file in the root directory with your Trello credentials:
```env
TRELLO_API_KEY=your_api_key
TRELLO_TOKEN=your_token
```
## Available Commands
```bash
# Install dependencies
make install
# Build the project
make build
# Start the server
make start
# Clean build artifacts
make clean
# Run linter
make lint
```
## MCP Tools
### get_boards
Retrieves all Trello boards for the authenticated user.
```typescript
// No input parameters required
```
### get_lists
Fetches all lists from a specified board.
```typescript
{
"request": {
"board_id": string // ID of the board
}
}
```
### get_cards
Gets cards from a board or specific list.
```typescript
{
"request": {
"board_id": string, // ID of the board
"list_id"?: string // Optional: ID of a specific list
}
}
```
### get_card_details
Retrieves detailed information about a specific card.
```typescript
{
"request": {
"card_id": string // ID of the card
}
}
```
## Development
The project uses TypeScript for type safety and better developer experience. The source code is organized as follows:
- `src/index.ts` - Main server entry point
- `src/trello-client.ts` - Trello API client implementation
- `src/types.ts` - TypeScript type definitions
## Building
The project uses TypeScript compiler for building:
```bash
# Build the project
make build
# The output will be in the build/ directory
```
## Error Handling
The server implements comprehensive error handling for:
- API authentication errors
- Rate limiting
- Network issues
- Invalid request parameters
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## Using with Cline
To use this MCP server with Cline, add the following configuration to your Cline MCP settings file (`~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`):
```json
{
"mcpServers": {
"trello-ts": {
"command": "node",
"args": ["/path/to/mcp-server-ts-trello/build/index.js"],
"env": {
"TRELLO_API_KEY": "your_api_key",
"TRELLO_TOKEN": "your_token"
}
}
}
}
```
After adding the configuration and restarting Cline, you can use the following MCP tools:
- `get_boards`: List all Trello boards
- `get_lists`: Get lists from a board
- `get_cards`: Get cards from a board or list
- `get_card_details`: Get detailed card information
## License
ISC License - See LICENSE file for details
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting specific Trello resources: get_boards (boards), get_lists (lists), get_cards (cards in board/list), get_card_details (specific card details), and update_card (modify card). No ambiguity or overlap exists between these operations.
All tools follow a consistent verb_noun pattern with snake_case: get_boards, get_card_details, get_cards, get_lists, update_card. The naming is predictable and readable throughout the set.
Five tools is reasonable for a Trello server, covering core read operations and one update. It's slightly under-scoped as it lacks create/delete operations for boards, lists, or cards, but the count itself is appropriate for the provided functionality.
The toolset covers read operations well (boards, lists, cards, card details) and one update (card), but there are notable gaps: no create or delete tools for any resources (boards, lists, cards), and missing operations like moving cards between lists or managing members. This limits full lifecycle management.