Goodday MCP 服务器是一个模型上下文协议(MCP)服务器,用于与 Goodday 项目管理平台集成。该服务器通过 Goodday API v2 提供了管理项目、任务和用户的工具。
pip install goodday-mcp
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/cdmx1/goodday-mcp.git
cd goodday-mcp
# 创建虚拟环境并安装依赖
uv venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
uv sync
git clone https://github.com/cdmx1/goodday-mcp.git
cd goodday-mcp
pip install -e .
.env 文件或导出变量:export GOODDAY_API_TOKEN=your_goodday_api_token_here
要获取你的 Goodday API 令牌:
如果从 PyPI 安装:
goodday-mcp
如果从源码使用 UV 运行:
uv run goodday-mcp
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"goodday": {
"command": "goodday-mcp",
"env": {
"GOODDAY_API_TOKEN": "your_goodday_api_token_here"
}
}
}
}
选项 B:如果从源码运行:
{
"mcpServers": {
"goodday": {
"command": "uv",
"args": ["run", "goodday-mcp"],
"env": {
"GOODDAY_API_TOKEN": "your_goodday_api_token_here"
}
}
}
}
服务器通过标准输入输出传输进行通信,可以与任何 MCP 兼容的客户端集成。请参考 MCP 文档 获取特定客户端的集成说明。
这个包还包含一个 OpenWebUI 工具,它直接在聊天界面中为 Goodday 项目管理提供了一个完整的界面。OpenWebUI 工具包括:
openwebui/goodday_openwebui_complete_tool.py 复制到你的 OpenWebUI 工具目录。api_key:你的 Goodday API 令牌search_url:你的 VectorDB 搜索端点(可选)bearer_token:搜索 API 的承载令牌(可选)对于语义搜索功能,你可以使用提供的 n8n 工作流(openwebui/n8n-workflow-goodday-vectordb.json)设置一个向量数据库。此工作流:
详细使用说明请参阅 openwebui/OPENWEBUI_TOOL_README.md。
| 属性 | 详情 |
|---|---|
| 模型类型 | GOODDAY_API_TOKEN:你的 Goodday API 令牌,必需 |
# 获取所有活跃项目
get_projects()
# 获取已存档项目
get_projects(archived=True)
# 仅获取根级项目
get_projects(root_only=True)
create_task(
project_id="project_123",
title="Implement new feature",
from_user_id="user_456",
message="Detailed description of the task",
to_user_id="user_789",
deadline="2025-06-30",
priority=5
)
update_task_status(
task_id="task_123",
user_id="user_456",
status_id="status_completed",
message="Task completed successfully"
)
所有日期应采用 YYYY-MM-DD 格式(例如,2025-06-16)。
项目颜色指定为 1 - 24 的整数,对应 Goodday 的调色板。
服务器包含全面的错误处理:
所有错误都以描述性字符串的形式返回,以帮助进行故障排除。
goodday-mcp/
├── goodday_mcp/ # 主包目录
│ ├── __init__.py # 包初始化
│ └── main.py # 主 MCP 服务器实现
├── pyproject.toml # 项目配置和依赖项
├── README.md # 本文件
├── LICENSE # MIT 许可证
├── uv.lock # 依赖项锁定文件
└── .env # 环境变量(需创建)
要向服务器添加新工具:
goodday_mcp/main.py 中使用 @mcp.tool() 装饰器添加工具函数:@mcp.tool()
async def your_new_tool(param1: str, param2: Optional[int] = None) -> str:
"""描述工具的功能。
Args:
param1: 参数 1 的描述
param2: 可选参数 2 的描述
"""
# 实现代码
return "Result"
直接运行服务器进行测试:
# 如果从 PyPI 安装
goodday-mcp
# 如果从源码运行
uv run goodday-mcp
服务器将启动并通过标准输入输出等待 MCP 协议消息。
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。