Trello MCP服务器

一个强大的MCP服务器,用于通过AI主机与Trello看板、列表和卡片进行交互。

  • by m0xai
  • Python
  • 混合部署
  • 54 星标
  • 更新于
在 GitHub 查看 m0xai/trello-mcp-server

使用说明

Trello MCP服务器

一个强大的MCP服务器,用于通过AI主机与Trello板、列表和卡进行交互。

目录

先决条件

  1. Python 3.12或更高版本,易于管理 uv
  2. Claude桌面版 安装
  3. Trello帐户和API证书
  4. 紫外线 已安装包管理器

预安装

  1. 确保您已安装Claude桌面应用程序
  2. 请确保您已经使用您的帐户登录到Claude。
  3. 启动克劳德

安装

  1. 设置Trello API凭据:

    • 首选 Trello应用程序管理
    • 在以下位置创建新的集成 新加电或集成
    • 填写您的信息(您可以将Iframe连接器URL留空),并确保选择正确的工作区
    • 点击应用程序的图标,从左侧栏导航到“API键”。
    • 复制您的“API密钥”,在右侧:“您可以手动生成代币。”点击单词代币即可获得Trello代币。
  2. 重命名 .env.example 项目根目录中的文件 .env 并设置你刚刚得到的变量:

TRELLO_API_KEY=your_api_key_here
TRELLO_TOKEN=your_token_here
  1. 如果您还没有安装uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆此存储库:
git clone https://github.com/m0xai/trello-mcp-server.git
cd trello-mcp-server
  1. 使用uv为Claude安装依赖项并设置服务器::
uv run mcp install main.py
  1. 重新启动Claude Desktop应用程序

服务器模式

此MCP服务器可以在两种不同模式下运行:

克劳德应用模式

此模式直接与Claude Desktop应用程序集成:

  1. 集 USE_CLAUDE_APP=true 在你的 .env 文件(这是默认值)
  2. 使用以下命令运行服务器:
uv run mcp install main.py
  1. 重新启动Claude Desktop应用程序

SSE服务器模式

此模式作为独立的SSE服务器运行,可以与任何MCP兼容的客户端一起使用,包括Cursor:

  1. 集 USE_CLAUDE_APP=false 在你的 .env 文件
  2. 使用以下命令运行服务器:
python main.py
  1. 服务器将在以下时间可用 http://localhost:8000 默认情况下(或您配置的端口)

Docker模式

您还可以使用Docker Compose运行服务器:

  1. 确保你已经安装了Docker和Docker Compose
  2. 创建您的 .env 使用您的配置文件
  3. 构建并启动容器:
docker-compose up -d
  1. 默认情况下,服务器将以SSE模式运行
  2. 要查看日志,请执行以下操作:
docker-compose logs -f
  1. 要停止服务器,请执行以下操作:
docker-compose down

配置

可以使用中的环境变量配置服务器 .env 文件:

变量 描述 默认值
TRELLO_API_KEY 您的TRELLO API密钥 必需
TRELLO_TOKEN 您的TRELLO API代币 必需
MCP_SERVER_NAME MCP服务器的名称 Trello MCP服务器
MCP_SERVER_HOST SSE模式的主机地址 0.0.0.0
MCP_SERVER_PORT SSE模式端口 8000
USE_CLAUDE_APP 是否使用克劳德应用模式 true

您可以通过在您的 .env 文件。

客户端集成

与Claude Desktop一起使用

  1. 在Claude应用程序模式下运行服务器(USE_CLAUDE_APP=true)
  2. 启动或重新启动Claude Desktop
  3. Claude将自动检测并连接到您的MCP服务器

与光标一起使用

要将MCP服务器连接到Cursor,请执行以下操作:

  1. 以SSE模式运行服务器(USE_CLAUDE_APP=false)
  2. 在光标中,转到设置(齿轮图标)>AI>模型上下文协议
  3. 使用URL添加新服务器 http://localhost:8000 (或您配置的主机/端口)
  4. 使用Cursor的AI功能时选择服务器

您还可以将此配置添加到游标设置JSON文件中(通常在 ~/.cursor/mcp.json):

{
  "mcpServers": {
    "trello": {
      "url": "http://localhost:8000/sse"
    }
  }
}

与其他MCP客户端一起使用

对于其他兼容MCP的客户端,将其指向SSE端点 http://localhost:8000.

最小客户端示例

下面是一个连接到SSE端点的最小Python示例:

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())

能力

操作 板 列表 卡 检查表 检查表项目
阅读 ✅ ✅ ✅ ✅ ✅
写 ❌ ✅ ✅ ✅ ✅
更新 ❌ ✅ ✅ ✅ ✅
删除 ❌ ✅ ✅ ✅ ✅

详细功能

董事会运营

  • ✅ 阅读所有公告板
  • ✅ 阅读特定的电路板详细信息

清单的操作

  • ✅ 阅读公告板中的所有列表
  • ✅ 阅读具体列表详细信息
  • ✅ 创建新列表
  • ✅ 更新列表名称
  • ✅ 存档(删除)列表

卡操作

  • ✅ 读取列表中的所有卡片
  • ✅ 读取特定卡详细信息
  • ✅ 创建新卡
  • ✅ 更新卡片属性
  • ✅ 删除卡片

检查表操作

  • ✅ 获取一份具体的检查表
  • ✅ 在卡片中列出所有清单
  • ✅ 创建新的检查表
  • ✅ 更新检查表
  • ✅ 删除检查表
  • ✅ 将检查项添加到检查表中
  • ✅ 更新检查项
  • ✅ 删除选中项

用法

安装后,您可以通过Claude与Trello板进行交互。以下是一些示例查询:

  • “给我看看我所有的板子”
  • “[board_name]中有哪些列表?”
  • “在列表[list_name]中创建标题为[title]的新卡”
  • “更新卡[card_name]的描述”
  • “存档列表[list_name]”

以下是我的示例用法:

故障排除

如果您遇到问题:

  1. 在中验证您的Trello API凭据 .env 文件
  2. 检查您在Trello工作区中是否具有适当的权限
  3. 确保Claude for Desktop运行的是最新版本
  4. 检查日志中是否有任何错误消息 uv run mcp dev main.py 命令。
  5. 确保uv已正确安装并位于PATH中

贡献

请随时提交问题和增强请求!