Goodday MCP Server

by cdmx1

Not rated
GitHub

About

Integrate with the Goodday project management platform to manage projects, tasks, and users via its API.

Details

Author
cdmx1
Categories
Productivity, Project Management, API

Setup

Install Goodday MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/cdmx1/goodday-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

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.

- get_projects: Retrieve list of projects (with options for archived and root-only filtering)
- get_project: Get detailed information about a specific project
- create_project: Create new projects with customizable templates and settings
- get_project_users: Get users associated with a specific project

- get_project_tasks: Retrieve tasks from specific projects (with options for closed tasks and subfolders)
- get_user_assigned_tasks: Get tasks assigned to a specific user
- get_user_action_required_tasks: Get action-required tasks for a user
- get_task: Get detailed information about a specific task
- get_task_details: Get comprehensive task details including subtasks, custom fields, and full metadata
- get_task_messages: Retrieve all messages/comments for a specific task
- create_task: Create new tasks with full customization (subtasks, assignments, dates, priorities)
- update_task_status: Update task status with optional comments
- add_task_comment: Add comments to tasks

- get_goodday_sprint_tasks: Get tasks from specific sprints by project name and sprint name/number
- get_goodday_sprint_summary: Generate comprehensive sprint summaries with task details, status distribution, and key metrics

- get_users: Retrieve list of organization users
- get_user: Get detailed information about a specific user

- get_goodday_smart_query: Natural language interface for common project management queries
- search_goodday_tasks: Semantic search across tasks using VectorDB backend
- search_project_documents: Search for documents within specific projects
- get_document_content: Retrieve full content of specific documents

This package also includes an OpenWebUI tool that provides a complete interface for Goodday project management directly in chat interfaces. The OpenWebUI tool includes:

- Project Management: Get projects, project tasks, and project details
- Sprint Management: Get tasks from specific sprints by name/number, comprehensive sprint summaries
- User Management: Get tasks assigned to specific users, user details
- Task Details: Get comprehensive task information including subtasks, custom fields, and metadata
- Task Messages: Retrieve all messages and comments for tasks
- Smart Query: Natural language interface for common project management requests
- Semantic Search: Search across tasks using VectorDB backend with embeddings
- Document Management: Search project documents and retrieve document content
- Advanced Filtering: Support for archived projects, closed tasks, subfolders, and more
- Copyopenwebui/goodday_openwebui_complete_tool.pyto your OpenWebUI tools directory
- Configure the valves with your API credentials:

- api_key: Your Goodday API token
- search_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:

- Fetches all Goodday projects and tasks
- Extracts task messages and content
- Creates embeddings using Ollama
- Stores in Qdrant vector database
- Provides search API endpoint

Seeopenwebui/OPENWEBUI_TOOL_README.mdfor detailed usage instructions.

- Python 3.10 or higher
- UV package manager (recommended) or pip
- Goodday API token

curl -LsSf https://astral.sh/uv/install.sh | sh
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.envfile in your project root or export the variable:

export GOODDAY_API_TOKEN=your_goodday_api_token_here

- Go to your Goodday organization
- Navigate to Settings → API
- Click the generate button to create a new token
-

Configure Claude Desktopby editing your configuration file:

- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "goodday": { "command": "goodday-mcp", "env": { "GOODDAY_API_TOKEN": "your_goodday_api_token_here" } } } }
{ "mcpServers": { "goodday": { "command": "uv", "args": ["run", "goodday-mcp"], "env": { "GOODDAY_API_TOKEN": "your_goodday_api_token_here" } } } }

Restart Claude Desktopto load the new server.

The server communicates via stdio transport and can be integrated with any MCP-compatible client. Refer to theMCP documentationfor client-specific integration instructions.

# 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 inYYYY-MM-DDformat (e.g.,2025-06-16).

- 1-10: Normal priority levels
- 50: Blocker
- 100: Emergency

Project colors are specified as integers from 1-24, corresponding to Goodday's color palette.

The server includes comprehensive error handling:

- Authentication errors: When API token is missing or invalid
- Network errors: When Goodday API is unreachable
- Validation errors: When required parameters are missing
- Permission errors: When user lacks permissions for requested operations

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)

-

Add the tool functioningoodday_mcp/main.pyusing 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 toolby running the server and testing with an MCP client.

# 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.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request

This project is licensed under the MIT License - see the LICENSE file for details.

- MCP Server: Create an issue in this repository
- Goodday API: Refer toGoodday API documentation
- MCP Protocol: Refer to
MCP documentation

- Enhanced Task Management: Addedget_task_detailsandget_task_messagesfor comprehensive task information
- Sprint Management: Addedget_goodday_sprint_tasksandget_goodday_sprint_summaryfor sprint tracking
- Smart Query Interface: Addedget_goodday_smart_queryfor natural language project queries
- Semantic Search: Addedsearch_goodday_taskswith VectorDB integration for intelligent task search
- Document Management: Addedsearch_project_documentsandget_document_contentfor document handling
- Improved Error Handling: Enhanced error messages and status reporting
- Advanced Filtering: Support for archived projects, closed tasks, and subfolder inclusion

- Initial release
- Full project management capabilities
- Task management with comments and status updates
- User management
- Comprehensive error handling
- UV support with modern Python packaging

Integrates with the Backlog API to manage projects and issues.

Interact with the Backlog API to manage projects, issues, wikis, git repositories, and more.

An MCP server for interacting with the Backlog API, a project management and collaboration tool.

Manage time tracking, projects, clients, and tasks using the Harvest API.

Integrates with Jira's REST API to manage issues programmatically.

An API integration for the Zentao project management system, supporting task management and bug tracking.

Interact with the Taiga project management platform through an MCP bridge, allowing AI tools to manage project resources.

Interact with Yandex Tracker APIs for issue management and search.

Access the YouTrack REST API to manage projects and track issues in real-time.

Interact with task, doc, and project data in Dart, an AI-native project management tool

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.