A powerful MCP server for interacting with Trello boards, lists, and cards via AI Hosts.
uvSet up Trello API credentials:
Rename the .env.example file in the project root with .env and set vairables you just got:
TRELLO_API_KEY=your_api_key_here
TRELLO_TOKEN=your_token_here
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/m0xai/trello-mcp-server.git
cd trello-mcp-server
uv run mcp install main.py
This MCP server can run in two different modes:
This mode integrates directly with the Claude Desktop application:
USE_CLAUDE_APP=true in your .env file (this is the default)uv run mcp install main.py
This mode runs as a standalone SSE server that can be used with any MCP-compatible client, including Cursor:
USE_CLAUDE_APP=false in your .env filepython main.py
http://localhost:8000 by default (or your configured port)You can also run the server using Docker Compose:
.env file with your configurationdocker-compose up -d
docker-compose logs -f
docker-compose down
The server can be configured using environment variables in the .env file:
| Variable | Description | Default |
|---|---|---|
| TRELLO_API_KEY | Your Trello API key | Required |
| TRELLO_TOKEN | Your Trello API token | Required |
| MCP_SERVER_NAME | The name of the MCP server | Trello MCP Server |
| MCP_SERVER_HOST | Host address for SSE mode | 0.0.0.0 |
| MCP_SERVER_PORT | Port for SSE mode | 8000 |
| USE_CLAUDE_APP | Whether to use Claude app mode | true |
You can customize the server by editing these values in your .env file.
USE_CLAUDE_APP=true)To connect your MCP server to Cursor:
USE_CLAUDE_APP=false)http://localhost:8000 (or your configured host/port)You can also add this configuration to your Cursor settings JSON file (typically at ~/.cursor/mcp.json):
{
"mcpServers": {
"trello": {
"url": "http://localhost:8000/sse"
}
}
}
For other MCP-compatible clients, point them to the SSE endpoint at http://localhost:8000.
Here’s a minimal Python example to connect to the SSE endpoint:
import asyncio
import httpx
async def connect_to_mcp_server():
url = "http://localhost:8000/sse"
headers = {"Accept": "text/event-stream"}
async with httpx.AsyncClient() as client:
async with client.stream("GET", url, headers=headers) as response:
# Get the session ID from the first SSE message
session_id = None
async for line in response.aiter_lines():
if line.startswith("data:"):
data = line[5:].strip()
if "session_id=" in data and not session_id:
session_id = data.split("session_id=")[1]
# Send a message using the session ID
message_url = f"http://localhost:8000/messages/?session_id={session_id}"
message = {
"role": "user",
"content": {
"type": "text",
"text": "Show me my Trello boards"
}
}
await client.post(message_url, json=message)
if __name__ == "__main__":
asyncio.run(connect_to_mcp_server())
| Operation | Board | List | Card | Checklist | Checklist Item |
|---|---|---|---|---|---|
| Read | ✅ | ✅ | ✅ | ✅ | ✅ |
| Write | ❌ | ✅ | ✅ | ✅ | ✅ |
| Update | ❌ | ✅ | ✅ | ✅ | ✅ |
| Delete | ❌ | ✅ | ✅ | ✅ | ✅ |
Once installed, you can interact with your Trello boards through Claude. Here are some example queries:
Here are my example usages:
If you encounter issues:
.env fileuv run mcp dev main.py command.Feel free to submit issues and enhancement requests!
Weather Mcp Claudedesktop
An MCP (Model Context Protocol) tool that provides real-time weather data, forecasts, and historical weather information using the OpenWeatherMap API, specifically designed for Claude Desktop.
Adspirer Mcp Server
Model context Protocol (MCP) server for Adspirer
Vilnius Transport Mcp Server
A Model Context Protocol (MCP) server that provides real-time cryptocurrency analysis via CoinCap's API. Enables Claude and other MCP clients to fetch crypto prices, analyze market trends, and track historical data.
MCP server that enables MCP to make REST API calls
A Cloudflare Worker that serves as an MCP (Model Context Protocol) server for code explanation. It analyzes and explains code with a comprehensive breakdown of structure and functionality.