home / mcp / goodday mcp server

Goodday MCP Server

Provides an MCP server to manage Goodday projects, tasks, users, and documents via API v2.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cdmx-in-goodday-mcp": {
      "command": "uv",
      "args": [
        "run",
        "goodday-mcp"
      ],
      "env": {
        "GOODDAY_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

You are provisioning an MCP server that links Goodday project management capabilities to an MCP client. This server lets you fetch and manage projects, tasks, users, sprints, documents, and more through a unified MCP interface, enabling automation and chat-based workflows with Goodday data.

How to use

Connect to the Goodday MCP server from your MCP client to start querying projects, tasks, users, and related data. You can run actions such as listing projects, creating tasks, updating task statuses, retrieving sprint summaries, and performing semantic searches over tasks and documents. Use the client’s standard MCP transport (stdio) to communicate with the server, and provide your Goodday API token to authenticate.

How to install

Prerequisites aPython 3.10 or higher and UV package manager (recommended) or pip for installation.

Installation from PyPI

pip install goodday-mcp

Installation from Source with UV

Clone the project, set up a virtual environment, and install dependencies using UV.

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

Installation from Source with pip

git clone https://github.com/cdmx1/goodday-mcp.git
cd goodday-mcp
pip install -e .

Configuration of API token

Set your Goodday API token in an environment variable named GOODDAY_API_TOKEN. This token authenticates requests to the Goodday API.

export GOODDAY_API_TOKEN=your_goodday_api_token_here

Available tools

get_projects

Retrieve a list of projects with options to filter archived status and root-only projects.

get_project

Fetch detailed information about a specific project.

create_project

Create a new project 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 to include 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 metadata.

get_task_messages

Retrieve all messages or comments for a specific task.

create_task

Create new tasks with full customization (subtasks, assignments, dates, priorities).

update_task_status

Update the status of a task, with optional accompanying 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 a 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 a VectorDB backend.

search_project_documents

Search for documents within specific projects.

get_document_content

Retrieve full content of specific documents.