Goodday

by cdmx1

Not rated
GitHub

About

A read-only server for the Goodday project management platform.

Details

Author
cdmx1
Categories
Productivity, Project Management

Setup

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

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

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

A read-only Model Context Protocol (MCP) server for integrating with Goodday project management platform. This server provides read-only tools for querying projects, tasks, and users through the Goodday API v2, ensuring no data can be modified.

- get_projects: Retrieve list of projects (with options for archived and root-only filtering)
- get_project: Get detailed information about a specific project
- 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_users: Retrieve list of organization users
- get_user: Get detailed information about a specific user

- 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/your-username/goodday-ro-mcp.git cd goodday-ro-mcp uv sync
git clone https://github.com/your-username/goodday-ro-mcp.git cd goodday-ro-mcp pip install -e .

Set your Goodday API token as an environment variable:

export GOODDAY_API_TOKEN="your_goodday_api_token_here"

- Log in to your Goodday account
- Go to Settings → API & Integrations
- Generate or copy your API token

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

{ "mcpServers": { "goodday-ro": { "command": "goodday-ro-mcp", "env": { "GOODDAY_API_TOKEN": "your_goodday_api_token_here" } } } }

You can also run this as a standalone HTTP server with OpenAPI documentation and Server-Sent Events support:

# Run directly goodday-ro-mcp-server # Or with Docker (see Docker section below) docker run -e GOODDAY_API_TOKEN=your_token -p 8000:8000 goodday-ro-mcp:latest

- Main API:http://localhost:8000
- OpenAPI docs:
http://localhost:8000/docs
- Health check:
http://localhost:8000/health
- SSE endpoint:
http://localhost:8000/sse
- Available tools:
http://localhost:8000/tools

cd goodday-ro-mcp docker build -t goodday-ro-mcp:latest .
docker run -d \ --name goodday-ro-mcp \ -e GOODDAY_API_TOKEN=your_goodday_api_token_here \ -p 8000:8000 \ goodday-ro-mcp:latest
version: '3.8' services: goodday-ro-mcp: build: . environment: - GOODDAY_API_TOKEN=${GOODDAY_API_TOKEN} ports: - "8000:8000" restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3

When running as an HTTP server, the following endpoints are available:

- GET /- Server information and available tools
- GET /health- Health check endpoint
- GET /tools- List of available tools with descriptions
- POST /tools/call- Execute a tool with arguments
- GET /sse- Server-Sent Events for real-time updates
- GET /docs- OpenAPI documentation (Swagger UI)

# Get all projects curl -X POST http://localhost:8000/tools/call \ -H "Content-Type: application/json" \ -d '{"name": "get_projects", "arguments": {"archived": false, "root_only": true}}' # Get specific project curl -X POST http://localhost:8000/tools/call \ -H "Content-Type: application/json" \ -d '{"name": "get_project", "arguments": {"project_id": "12345"}}' # Get project tasks curl -X POST http://localhost:8000/tools/call \ -H "Content-Type: application/json" \ -d '{"name": "get_project_tasks", "arguments": {"project_id": "12345", "closed": false}}'

All tools are read-only and will not modify any data in your Goodday account.

- get_projects(archived=False, root_only=False)- List projects
- get_project(project_id)- Get project details
- get_project_users(project_id)- Get project team members

- get_project_tasks(project_id, closed=False, subfolders=False)- List project tasks
- get_task(task_id)- Get task details
- get_user_assigned_tasks(user_id, closed=False)- Get user's assigned tasks
- get_user_action_required_tasks(user_id)- Get user's action required tasks

- get_users()- List organization users
- get_user(user_id)- Get user details

The server includes comprehensive error handling:

- API Errors: Goodday API errors are caught and returned with descriptive messages
- Network Errors: Connection timeouts and network issues are handled gracefully
- Authentication Errors: Missing or invalid API tokens are reported clearly
- Data Validation: Invalid responses from the API are handled safely

uv run black goodday_ro_mcp/ uv run isort goodday_ro_mcp/

- Only makes GET requests to the Goodday API
- Cannot create, update, or delete any data
- Validates all inputs to prevent injection attacks
- Uses secure HTTP headers and CORS policies

- Read-Only: Cannot create, update, or delete projects, tasks, or users
- Rate Limiting: Subject to Goodday API rate limits
- Authentication: Requires a valid Goodday API token
- Permissions: Limited to data accessible by the API token's associated user

MIT License - see LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request

- GitHub Issues:https://github.com/your-username/goodday-ro-mcp/issues
- Goodday API Documentation:
https://developers.goodday.work

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

Remote MCP server for MeisterTask. Create and manage projects, tasks, and notes from your AI assistant. Hosted (streamable-HTTP) — connect at https://mcp.meistertask.com/mcp

The official Plane MCP server provides integration with Plane APIs, enabling full AI automation of Plane projects, work items, cycles and more.

Keep teams & agents coordinated automatically

From the creators of Wunderlist — the all-in-one task management app for to-do lists, notes, and projects. AI-powered productivity that replaces 5 apps.

Connect to the Taskade platform via MCP. Access tasks, projects, workflows, and AI agents in real-time through a unified workspace and API.

Official Taskeract MCP Server for integrating your Taskeract project tasks and load the context of your tasks into your MCP enabled app.

Manage your Todoist tasks and projects directly from your LLM.

Interact with Asana tasks, projects, workspaces, and comments using the Asana API.

Comprehensive Trello integration: 46 tools covering boards, cards, lists, labels, checklists, attachments, members, custom fields, and search. Read-only mode, image attachment auto-download. Active fork of kocakli/Trello-Desktop-MCP integrating contributions from across the Trello MCP fork ecosystem

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.