Integrate with the Goodday project management platform to manage projects, tasks, and users via its API.
A Model Context Protocol (MCP) server for integrating with Goodday project management platform. This server provides tools for managing projects, tasks, and users through the Goodday API v2.
This package also includes an OpenWebUI tool that provides a complete interface for Goodday project management directly in chat interfaces. The OpenWebUI tool includes:
openwebui/goodday_openwebui_complete_tool.py
to your OpenWebUI tools directoryapi_key
: Your Goodday API tokensearch_url
: Your VectorDB search endpoint (optional)bearer_token
: Bearer token for search API (optional)For semantic search functionality, you can set up a vector database using the provided n8n workflow (openwebui/n8n-workflow-goodday-vectordb.json
). This workflow:
See openwebui/OPENWEBUI_TOOL_README.md
for detailed usage instructions.
pip install goodday-mcp
Install UV (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh
Clone and set up the project:
git clone https://github.com/cdmx1/goodday-mcp.git
cd goodday-mcp
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync
git clone https://github.com/cdmx1/goodday-mcp.git
cd goodday-mcp
pip install -e .
Set up environment variables:
Create a .env
file in your project root or export the variable:
export GOODDAY_API_TOKEN=your_goodday_api_token_here
To get your Goodday API token:
If installed from PyPI:
goodday-mcp
If running from source with UV:
uv run goodday-mcp
Configure Claude Desktop by editing your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the server configuration:
Option A: If installed from PyPI:
{
"mcpServers": {
"goodday": {
"command": "goodday-mcp",
"env": {
"GOODDAY_API_TOKEN": "your_goodday_api_token_here"
}
}
}
}
Option B: If running from source:
{
"mcpServers": {
"goodday": {
"command": "uv",
"args": ["run", "goodday-mcp"],
"env": {
"GOODDAY_API_TOKEN": "your_goodday_api_token_here"
}
}
}
}
Restart Claude Desktop to load the new server.
The server communicates via stdio transport and can be integrated with any MCP-compatible client. Refer to the MCP documentation for client-specific integration instructions.
Variable | Description | Required |
---|---|---|
GOODDAY_API_TOKEN | Your Goodday API token | Yes |
# Get all active projects
get_projects()
# Get archived projects
get_projects(archived=True)
# Get only root-level projects
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"
)
All dates should be provided in YYYY-MM-DD
format (e.g., 2025-06-16
).
Project colors are specified as integers from 1-24, corresponding to Goodday's color palette.
The server includes comprehensive error handling:
All errors are returned as descriptive strings to help with troubleshooting.
goodday-mcp/
├── goodday_mcp/ # Main package directory
│ ├── __init__.py # Package initialization
│ └── main.py # Main MCP server implementation
├── pyproject.toml # Project configuration and dependencies
├── README.md # This file
├── LICENSE # MIT license
├── uv.lock # Dependency lock file
└── .env # Environment variables (create this)
To add new tools to the server:
Add the tool function in goodday_mcp/main.py
using the @mcp.tool()
decorator:
@mcp.tool()
async def your_new_tool(param1: str, param2: Optional[int] = None) -> str:
"""Description of what the tool does.
Args:
param1: Description of parameter 1
param2: Description of optional parameter 2
"""
# Implementation here
return "Result"
Test the tool by running the server and testing with an MCP client.
Test the server by running it directly:
# If installed from PyPI
goodday-mcp
# If running from source
uv run goodday-mcp
The server will start and wait for MCP protocol messages via stdin/stdout.
This project is licensed under the MIT License - see the LICENSE file for details.
For issues related to:
Interact with the DeepWriter API, an AI-powered writing assistant.
Perform queries and entity operations in your Fibery workspace.
A CLI tool to synchronize MCP (Model Context Protocol) settings across multiple AI coding tools.
Interact with Google Calendar APIs to manage events and calendars.
Breaks down complex tasks into manageable pieces and stores them in structured JSON.
Manage tasks in Directus with automatic schema synchronization.
Integrate with Odoo ERP systems to manage business data and operations. Requires external configuration for connection parameters.
A tool for systematic problem-solving based on Claude Shannon's methodology, breaking down complex problems into structured thoughts.
Trello Desktop MCP server that enables Claude Desktop to interact with Trello boards, cards, lists, and team members through natural language commands.
AI-powered task orchestration and workflow automation with specialized agent roles, intelligent task decomposition, and seamless integration across Claude Desktop, Cursor IDE, Windsurf, and VS Code.