Skip to main content
Glama
cdmx-in
by cdmx-in

Goodday MCP Server

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.

Features

Project Management

  • 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

Task Management

  • 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

Sprint Management

  • 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

User Management

  • 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

Related MCP server: Productive Simple MCP

OpenWebUI Integration

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

Features

  • 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

Setup

  1. Copy openwebui/goodday_openwebui_complete_tool.py to your OpenWebUI tools directory

  2. 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)

Vector Database Setup (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

See openwebui/OPENWEBUI_TOOL_README.md for detailed usage instructions.

Installation

pip install goodday-mcp

From Source

Prerequisites

  • Python 3.10 or higher

  • UV package manager (recommended) or pip

  • Goodday API token

Setup with UV

  1. Install UV (if not already installed):

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 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

Setup with pip

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

Configuration

  1. 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:

    • Go to your Goodday organization

    • Navigate to Settings → API

    • Click the generate button to create a new token

Usage

Running the Server Standalone

If installed from PyPI:

goodday-mcp

If running from source with UV:

uv run goodday-mcp

Using with Claude Desktop

  1. Configure Claude Desktop by editing your configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. 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"
          }
        }
      }
    }
  3. Restart Claude Desktop to load the new server.

Using with Other MCP Clients

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.

API Reference

Environment Variables

Variable

Description

Required

GOODDAY_API_TOKEN

Your Goodday API token

Yes

Tool Examples

Get Projects

# Get all active projects
get_projects()

# Get archived projects
get_projects(archived=True)

# Get only root-level projects
get_projects(root_only=True)

Create a Task

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

update_task_status(
    task_id="task_123",
    user_id="user_456",
    status_id="status_completed",
    message="Task completed successfully"
)

Data Formats

Date Format

All dates should be provided in YYYY-MM-DD format (e.g., 2025-06-16).

Priority Levels

  • 1-10: Normal priority levels

  • 50: Blocker

  • 100: Emergency

Project Colors

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

Error Handling

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.

Development

Project Structure

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)

Adding New Tools

To add new tools to the server:

  1. 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"
  2. Test the tool by running the server and testing with an MCP client.

Testing

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.

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

License

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

Support

For issues related to:

Changelog

v1.1.0 (Current)

  • Enhanced Task Management: Added get_task_details and get_task_messages for comprehensive task information

  • Sprint Management: Added get_goodday_sprint_tasks and get_goodday_sprint_summary for sprint tracking

  • Smart Query Interface: Added get_goodday_smart_query for natural language project queries

  • Semantic Search: Added search_goodday_tasks with VectorDB integration for intelligent task search

  • Document Management: Added search_project_documents and get_document_content for document handling

  • Improved Error Handling: Enhanced error messages and status reporting

  • Advanced Filtering: Support for archived projects, closed tasks, and subfolder inclusion

v1.0.0

  • Initial release

  • Full project management capabilities

  • Task management with comments and status updates

  • User management

  • Comprehensive error handling

  • UV support with modern Python packaging

Available Tools

21 tools
add_task_commentC

Add a comment to a task.

Args: task_id: The ID of the task user_id: User on behalf of whom API will execute update message: Comment text

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
user_idYes
messageYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool adds a comment (implying a write/mutation operation) but doesn't mention required permissions, whether comments are editable/deletable, rate limits, or what happens on success/failure. This is inadequate for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the core purpose in the first sentence. The parameter explanations are brief but relevant. There's minimal waste, though the structure could be slightly improved by integrating parameter details more seamlessly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks behavioral context (permissions, side effects), output expectations, and sufficient parameter details, making it inadequate for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It lists all three parameters with brief explanations, adding meaning beyond the bare schema. However, it doesn't provide format details (e.g., ID formats, message length limits) or deeper context, leaving gaps in parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a comment') and resource ('to a task'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from potential alternatives like 'update_task_status' or 'get_task_messages' that might also involve task interactions, so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context for adding comments, or how this differs from other task-related tools like 'update_task_status' or 'get_task_messages' in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_projectB

Create a new project in Goodday.

Args: name: Project name created_by_user_id: ID of user creating the project project_template_id: Project template ID (found in Organization settings → Project templates) parent_project_id: Parent project ID to create a sub project color: Project color (1-24) project_owner_user_id: Project owner user ID start_date: Project start date (YYYY-MM-DD) end_date: Project end date (YYYY-MM-DD) deadline: Project deadline (YYYY-MM-DD)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
created_by_user_idYes
project_template_idYes
parent_project_idNo
colorNo
project_owner_user_idNo
start_dateNo
end_dateNo
deadlineNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Create a new project,' implying a write/mutation operation, but doesn't cover critical aspects like required permissions, whether the creation is irreversible, rate limits, or what happens on success/failure (e.g., returns a project ID). This is inadequate for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a clear purpose statement followed by parameter details, but it's somewhat verbose with repetitive formatting. Every sentence in the 'Args' section adds value, but the overall text could be more streamlined (e.g., combining related parameters). It's front-loaded with the core function, but not optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (9 parameters, mutation operation, no annotations, no output schema), the description is partially complete. It covers parameter semantics well but lacks behavioral context (e.g., permissions, side effects) and output details. For a creation tool, this leaves significant gaps, making it minimally adequate but with clear room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes an 'Args' section that documents all 9 parameters with brief explanations, such as 'Project name' for 'name' and 'Project template ID (found in Organization settings → Project templates)' for 'project_template_id'. Since schema description coverage is 0%, this fully compensates by adding meaning beyond the bare schema, though some explanations could be more detailed (e.g., format hints beyond dates).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a new project in Goodday.' This is a specific verb ('Create') and resource ('project in Goodday'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_project' or 'get_projects', which are read operations, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., user permissions), when not to use it, or refer to sibling tools like 'get_project' for checking existing projects. This lack of context leaves the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_taskB

Create a new task in Goodday.

Args: project_id: Task project ID title: Task title from_user_id: Task created by user ID
parent_task_id: Parent task ID to create a subtask message: Task description/initial message to_user_id: Assigned To/Action required user ID task_type_id: Task type ID start_date: Task start date (YYYY-MM-DD) end_date: Task end date (YYYY-MM-DD) deadline: Task deadline (YYYY-MM-DD) estimate: Task estimate in minutes story_points: Task story points estimate priority: Task priority (1-10), 50 - Blocker, 100 - Emergency

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
titleYes
from_user_idYes
parent_task_idNo
messageNo
to_user_idNo
task_type_idNo
start_dateNo
end_dateNo
deadlineNo
estimateNo
story_pointsNo
priorityNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't mention authentication requirements, rate limits, error conditions, or what happens on success (e.g., returns task ID). It also doesn't clarify if creating subtasks via parent_task_id has special behavior. This leaves significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized but not optimally structured. The opening sentence is clear, but the parameter documentation uses inconsistent formatting and mixes explanations with format notes. Some redundancy exists (e.g., 'Task' repeated in many parameter descriptions). While all information is valuable given the poor schema coverage, the presentation could be more polished.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 13 parameters, no annotations, and no output schema, the description provides good parameter semantics but lacks critical behavioral context. The agent knows what each parameter means but not what authentication is needed, what happens on success/failure, or how this tool relates to others in the system. The parameter documentation is strong, but other aspects are underdeveloped.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage (titles only show parameter names), the description provides crucial semantic information for all 13 parameters. It explains what each parameter represents (e.g., 'Task project ID', 'Task title', 'Task created by user ID'), clarifies data formats (YYYY-MM-DD for dates), defines numeric ranges (priority 1-10 with special values 50 and 100), and explains relationships (parent_task_id creates a subtask). This fully compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new task in Goodday' which is a specific verb+resource combination. It distinguishes this from sibling tools like 'update_task_status' or 'get_task' by focusing on creation rather than modification or retrieval. However, it doesn't explicitly differentiate from 'create_project' which creates a different resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like needing valid project/user IDs), when not to use it, or how it relates to sibling tools like 'create_project' or 'update_task_status'. The agent must infer usage from the tool name and parameter list alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_document_contentC

Get the content of a specific document by its ID.

Args: document_id: The ID of the document to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden but offers minimal behavioral insight. It states it 'retrieves' content, implying a read-only operation, but doesn't cover permissions, rate limits, error handling, or output format (e.g., text, binary, structured data). This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by a brief parameter explanation. It avoids redundancy and is appropriately sized for a simple tool, though the 'Args:' section could be integrated more smoothly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, 0% schema coverage, and no output schema, the description is insufficient. It doesn't explain what 'content' means (e.g., full text, attachments), potential side effects, or how results are returned, making it hard for an agent to use correctly without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds basic meaning by explaining that 'document_id' identifies the document to retrieve, which is helpful since schema description coverage is 0%. However, it doesn't specify the ID format (e.g., numeric, UUID) or where to find it, leaving gaps despite the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('content of a specific document'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'search_project_documents' or 'get_task_details', which might also retrieve document-related content in different contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search_project_documents' and 'get_task_details', it's unclear if this is for raw document content, metadata, or specific contexts, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_goodday_smart_queryB

Natural language interface for common project management queries.

Args: query: Natural language query (e.g., "show me all tasks assigned to John", "what projects do I have")

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool is a 'natural language interface' but doesn't describe what it returns (e.g., structured data, summaries), any limitations (e.g., query complexity, supported intents), or performance aspects. This leaves significant gaps for a tool that likely processes queries in a non-trivial way.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with a clear front-loaded purpose statement and a brief parameter explanation. The two-sentence structure is efficient, though the examples could be integrated more smoothly. It avoids unnecessary repetition, earning its place with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (natural language processing), no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on return values, error handling, query limitations, and how it differs from structured search siblings, making it inadequate for confident agent use without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining the 'query' parameter as a 'natural language query' and provides examples (e.g., 'show me all tasks assigned to John'), which clarifies the expected input format beyond the schema's basic string type. However, it doesn't detail constraints like length, supported languages, or query types, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as a 'natural language interface for common project management queries,' which is specific (verb+resource) and distinguishes it from most sibling tools that are structured API calls. However, it doesn't explicitly differentiate from other query/search siblings like 'search_goodday_tasks' or 'search_project_documents' beyond the natural language aspect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the phrase 'common project management queries' and provides examples, suggesting it's for general queries rather than specific structured operations. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_goodday_tasks' or when not to use it, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_goodday_sprint_summaryB

Generate a comprehensive sprint summary with task details, status distribution, and key metrics.

Args: project_name: The name of the main project (e.g., "ASTRA") sprint_name: The name or number of the sprint (e.g., "Sprint 233", "233")

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYes
sprint_nameYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions generating a 'comprehensive' summary but doesn't specify output format (e.g., structured data vs. text report), data sources, permissions required, rate limits, or whether it's a read-only operation. This is inadequate for a tool that presumably queries and aggregates data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: a clear purpose statement followed by an 'Args' section with parameter explanations. Every sentence adds value, with no redundant information. The two-sentence format is appropriately front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of generating a 'comprehensive' summary with metrics, no annotations, no output schema, and 0% schema coverage, the description is incomplete. It doesn't explain what 'comprehensive' includes (e.g., specific metrics like velocity or burndown), output format, or behavioral characteristics like error handling or data freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides clear examples for both parameters ('project_name' with 'ASTRA', 'sprint_name' with 'Sprint 233' or '233'), adding practical meaning beyond the bare schema. However, it doesn't explain constraints like valid project/sprint names or format requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate a comprehensive sprint summary with task details, status distribution, and key metrics.' This specifies the verb ('generate'), resource ('sprint summary'), and scope ('comprehensive'), though it doesn't explicitly differentiate from sibling tools like 'get_goodday_sprint_tasks' or 'get_goodday_smart_query'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_goodday_sprint_tasks' (which might list tasks without summary metrics) or 'get_goodday_smart_query' (which could potentially generate similar reports), leaving the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_goodday_sprint_tasksB

Get tasks from a specific sprint by project name and sprint name/number.

Args: project_name: The name of the main project (e.g., "ASTRA") sprint_name: The name or number of the sprint (e.g., "Sprint 233", "233") include_closed: Whether to include closed tasks (default: True)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYes
sprint_nameYes
include_closedNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It describes a read operation ('Get tasks'), which implies non-destructive behavior, but doesn't address other important traits: authentication requirements, rate limits, pagination, error handling, or return format. The description adds minimal behavioral context beyond the basic operation, leaving significant gaps for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and well-structured: a clear purpose statement followed by an 'Args:' section with parameter details. Every sentence adds value, with no redundant or vague phrasing. It could be slightly more front-loaded by integrating parameter hints into the main description, but overall it's efficient and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no annotations, no output schema), the description is partially complete. It covers the purpose and parameters adequately but lacks behavioral details (e.g., authentication, pagination) and output information. Without annotations or output schema, the agent is left guessing about the return format and operational constraints, making this description minimally viable but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides clear semantics for all three parameters: 'project_name' (name of main project with example 'ASTRA'), 'sprint_name' (name/number with examples 'Sprint 233', '233'), and 'include_closed' (whether to include closed tasks with default True). This adds meaningful context beyond the bare schema, though it doesn't cover edge cases or validation rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get tasks from a specific sprint by project name and sprint name/number.' This specifies the verb ('Get'), resource ('tasks'), and key constraints ('specific sprint', 'by project name and sprint name/number'). However, it doesn't explicitly differentiate from sibling tools like 'get_project_tasks' or 'get_goodday_smart_query', which reduces it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_project_tasks' (for tasks in a project generally) or 'get_goodday_sprint_summary' (for sprint metadata), leaving the agent to infer usage context. The only implied usage is retrieving sprint-specific tasks, but no explicit when/when-not rules or alternatives are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_projectB

Get details of a specific project.

Args: project_id: The ID of the project to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves project details, implying a read-only operation, but does not specify aspects like authentication requirements, rate limits, error handling, or what 'details' include (e.g., fields returned). For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a concise 'Args' section. There is no wasted text, and the structure is easy to parse. It could be slightly more efficient by integrating the parameter explanation into the main description, but it remains highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It explains the purpose and parameter, but lacks details on behavior, output format, or usage context. For a simple read operation, this is acceptable but leaves gaps that could hinder an agent's understanding without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context for the single parameter: 'project_id: The ID of the project to retrieve.' Since schema description coverage is 0% (the schema only provides a title 'Project Id' with no description), this compensates well by explaining the parameter's purpose. With 1 parameter and low schema coverage, the description effectively clarifies semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get details of a specific project.' It uses a specific verb ('Get') and resource ('project'), but does not explicitly differentiate from sibling tools like 'get_projects' (which likely lists multiple projects) or 'get_project_tasks' (which focuses on tasks within a project). The purpose is clear but lacks sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'get_projects' for listing projects or 'get_project_tasks' for project-related tasks, nor does it specify prerequisites or exclusions. Usage is implied only by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_projectsB

Get list of projects from Goodday.

Args: archived: Set to true to retrieve archived/closed projects root_only: Set to true to return only root projects

ParametersJSON Schema
NameRequiredDescriptionDefault
archivedNo
root_onlyNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It only describes two filtering parameters without mentioning important behavioral aspects like: whether this is a read-only operation, what format the list returns (pagination, sorting, fields included), authentication requirements, rate limits, or error conditions. The description is insufficient for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with a clear purpose statement followed by parameter explanations. Every sentence earns its place by providing essential information. The two-sentence format with parameter documentation is appropriately sized for this tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and 0% schema description coverage, the description is incomplete. While it covers parameter semantics well, it lacks crucial information about the tool's behavior, return format, authentication requirements, and error handling. For a tool that presumably returns a list of projects, more context about what to expect would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantic context for both parameters that goes beyond the schema. While the schema only shows boolean parameters with titles 'Archived' and 'Root Only', the description explains what these actually mean: 'retrieve archived/closed projects' and 'return only root projects'. This provides crucial understanding of what these filters accomplish, compensating for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'list of projects from Goodday', making the purpose understandable. It distinguishes from sibling 'get_project' (singular) by indicating it returns a list, but doesn't explicitly differentiate from other project-related tools like 'get_project_tasks' or 'get_project_users'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention when you'd want a list of projects versus using other project-related tools like 'get_project' (singular) or 'search_goodday_tasks', nor does it provide any context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_tasksB

Get tasks from a specific project.

Args: project_id: The ID of the project closed: Set to true to retrieve all open and closed tasks subfolders: Set to true to return tasks from project subfolders

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
closedNo
subfoldersNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions retrieving tasks but doesn't disclose behavioral traits like pagination, rate limits, authentication requirements, error conditions, or what happens when project_id is invalid. The boolean parameter explanations add some context but don't cover broader operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with a clear purpose statement followed by parameter explanations. The Args section is well-structured, though the initial sentence could be slightly more specific (e.g., 'Retrieve tasks...'). No wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with 3 parameters and no output schema, the description covers the basics but lacks important context. It explains parameters well but doesn't describe return format, pagination, error handling, or relationship to sibling tools. Without annotations or output schema, more behavioral disclosure would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by explaining all three parameters: project_id identifies the project, closed controls inclusion of completed tasks, and subfolders extends scope to nested folders. This adds meaningful semantics beyond the bare schema titles, though it doesn't specify format for project_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'tasks from a specific project', making the purpose immediately understandable. It distinguishes from siblings like 'get_task' (single task) and 'get_projects' (projects list), though it doesn't explicitly contrast with 'search_goodday_tasks' or 'get_user_assigned_tasks'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search_goodday_tasks', 'get_user_assigned_tasks', and 'get_task', there's no indication whether this is the primary task-listing method or when project-specific filtering is preferred over other filters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_usersB

Get users associated with a specific project.

Args: project_id: The ID of the project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get users') without mentioning any behavioral traits such as whether it's read-only (implied by 'Get' but not explicit), what permissions are required, how results are returned (e.g., list format, pagination), or error handling. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence clearly states the purpose, followed by a brief 'Args' section for parameters. There is no wasted text, and every sentence earns its place by providing essential information efficiently. It's structured for quick comprehension without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no nested objects, no output schema) and lack of annotations, the description is minimally complete. It covers the basic purpose and parameter semantics but lacks behavioral details (e.g., return format, error cases) and usage guidelines vs. siblings. For a simple read operation, this might be adequate, but it doesn't fully compensate for the missing annotations and output schema, leaving room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context for the single parameter: 'project_id: The ID of the project.' Since schema description coverage is 0% (the schema only provides a title 'Project Id' and type 'string'), this description compensates by explaining what the parameter represents. However, it doesn't specify format (e.g., numeric, UUID) or where to find the ID, leaving minor gaps. With 0% coverage and 1 parameter, a baseline of 4 is appropriate as it adds value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get users associated with a specific project.' It specifies the verb ('Get') and resource ('users'), and distinguishes it from sibling tools like 'get_users' (which presumably gets all users) by focusing on project-specific users. However, it doesn't explicitly differentiate from 'get_user' (which gets a single user) or 'get_user_assigned_tasks' (which focuses on tasks), so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating it's for getting users 'associated with a specific project,' suggesting it should be used when you need project-related user data. However, it doesn't explicitly say when to use this vs. alternatives like 'get_users' (for all users) or 'get_user' (for a single user), nor does it mention any exclusions or prerequisites. This leaves some ambiguity in tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_taskC

Get details of a specific task.

Args: task_id: The ID of the task to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions retrieving task details but doesn't cover aspects like authentication needs, rate limits, error handling, or response format. This is inadequate for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by a concise parameter explanation. There is no wasted text, and the structure is clear and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of task management tools, no annotations, no output schema, and low schema coverage, the description is insufficient. It lacks details on return values, error conditions, and how it differs from similar tools, making it incomplete for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds minimal semantics by specifying 'task_id' as 'The ID of the task to retrieve'. This clarifies the parameter's purpose slightly beyond the schema's title 'Task Id', though it doesn't detail format or constraints. Baseline 3 is appropriate as it compensates somewhat for low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'details of a specific task', making the purpose evident. However, it doesn't differentiate from sibling tools like 'get_task_details' or 'get_project_tasks', which could cause confusion about scope or specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'get_task_details' or 'get_project_tasks'. The description only states what it does, leaving the agent to infer usage context from tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_task_detailsB

Get comprehensive task details including subtasks, custom fields, and full metadata.

Args: task_short_id: The short ID of the task (e.g., RAD-434) project_name: The name of the project containing the task (required, case-insensitive)

ParametersJSON Schema
NameRequiredDescriptionDefault
task_short_idYes
project_nameYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. While 'Get' implies a read operation, it doesn't disclose behavioral aspects like authentication requirements, rate limits, error conditions, or whether this is a heavy API call. The description mentions what data is returned but not how it's structured or formatted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with a clear main sentence followed by parameter explanations. The Args section is well-structured, though the formatting could be slightly cleaner. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter read tool with no annotations and no output schema, the description covers the purpose and parameters adequately but lacks behavioral context and usage guidance. It doesn't explain what 'comprehensive' means in practice or how the output is structured, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds significant value by explaining both parameters. It clarifies that 'task_short_id' uses a specific format (e.g., RAD-434) and that 'project_name' is case-insensitive and required. This compensates well for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'comprehensive task details', specifying what information is included (subtasks, custom fields, full metadata). It distinguishes from simpler sibling tools like 'get_task' by emphasizing comprehensiveness, though it doesn't explicitly contrast with all siblings like 'get_task_messages'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'get_task', 'get_project_tasks', and 'search_goodday_tasks', there's no indication of when this comprehensive details tool is preferred over simpler or broader alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_task_messagesB

Retrieve all messages/comments for a specific task.

Args: task_short_id: The short ID of the task (e.g., RAD-434) project_name: Optional project name for disambiguation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_short_idYes
project_nameNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a retrieval operation but doesn't mention important behavioral aspects: whether this requires authentication, rate limits, pagination behavior, error conditions, or what format the messages/comments are returned in. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the core purpose in the first sentence. The parameter documentation is cleanly separated with 'Args:' formatting. There's minimal waste, though the structure could be slightly improved by integrating parameter explanations more naturally rather than as a separate section.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with 2 parameters and no output schema, the description covers the basic purpose and parameters adequately. However, it lacks important context about return format, error handling, authentication requirements, and relationship to sibling tools. Without annotations or output schema, the description should do more to explain what the agent can expect from this tool's behavior and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by explaining both parameters: 'task_short_id' is described with an example format ('RAD-434'), and 'project_name' is explained as 'Optional project name for disambiguation.' This adds meaningful context beyond what the bare schema provides, though it doesn't elaborate on when disambiguation is needed or how the project name affects results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Retrieve') and resource ('all messages/comments for a specific task'), making the purpose immediately understandable. It distinguishes from siblings like 'get_task' or 'get_task_details' by focusing specifically on messages/comments rather than task metadata. However, it doesn't explicitly contrast with 'add_task_comment' which is the natural sibling for message operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_task_details' that might include messages, 'search_goodday_tasks' for broader queries, and 'add_task_comment' for creating messages, there's no indication of when this specific retrieval tool is preferred. The parameter documentation implies usage but doesn't provide contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_userB

Get details of a specific user.

Args: user_id: The ID of the user to retrieve

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves user details, implying a read-only operation, but does not disclose any behavioral traits such as authentication requirements, rate limits, error handling, or what specific details are returned. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a structured 'Args' section for parameters. There is no wasted text, and the structure enhances readability. However, it could be slightly more concise by integrating the parameter explanation into the main description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a read operation with one parameter), lack of annotations, and no output schema, the description is incomplete. It does not explain what details are returned (e.g., user name, email, role), potential errors, or how it differs from sibling tools like 'get_users'. For a tool with no structured data support, more contextual information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful context for the single parameter: 'user_id: The ID of the user to retrieve.' With schema description coverage at 0% (the schema only provides a title 'User Id' and type 'string'), the description compensates by explaining the parameter's purpose. Since there is only one parameter, the baseline is high, and the description adequately clarifies its semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get details of a specific user.' It specifies the verb ('Get') and resource ('user'), but does not distinguish it from sibling tools like 'get_users' (which likely retrieves multiple users) or 'get_project_users' (which might retrieve users within a project context). The purpose is clear but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools such as 'get_users' (for listing users) or 'get_project_users' (for users in a project), nor does it specify prerequisites or exclusions. Usage is implied only by the tool name and description, with no explicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_action_required_tasksC

Get action required tasks for a specific user.

Args: user_id: The ID of the user

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does without mentioning permissions, rate limits, return format, or pagination. For a read operation with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main purpose in the first sentence. The additional 'Args' section is brief and relevant, though it could be integrated more seamlessly. Overall, it avoids unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It does not explain what 'action required tasks' entail, how results are returned, or any behavioral traits. For a tool with one parameter but no structured support, more context is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal semantics for the 'user_id' parameter by stating it's 'The ID of the user', which is slightly more informative than the schema's 'User Id' title. With 0% schema description coverage, this provides some value, but it does not fully compensate for the lack of detailed parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'action required tasks for a specific user', making the purpose understandable. However, it does not explicitly differentiate from sibling tools like 'get_user_assigned_tasks' or 'get_task', leaving some ambiguity about what distinguishes 'action required' tasks from other task types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'get_user_assigned_tasks' or 'get_task', nor does it specify prerequisites or exclusions, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_assigned_tasksB

Get tasks assigned to a specific user.

Args: user_id: The ID of the user closed: Set to true to retrieve all open and closed tasks

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
closedNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves tasks but doesn't describe return format (e.g., list structure, fields included), pagination, error handling, or authentication needs. The 'closed' parameter hint adds some context, but overall, behavioral traits are minimally covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with the core purpose stated first and parameter details following in a clear 'Args:' section. Every sentence adds value, and there's no redundant information. It could be slightly more structured but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but has gaps. It covers the basic purpose and parameters but lacks details on output format, error cases, and differentiation from siblings. Without annotations or output schema, it provides a minimum viable understanding but could be more complete for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics beyond the input schema, which has 0% description coverage. It explains 'user_id' as 'The ID of the user' and 'closed' as 'Set to true to retrieve all open and closed tasks,' clarifying default behavior and usage. This compensates well for the schema's lack of descriptions, though it doesn't detail parameter formats or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get tasks assigned to a specific user.' This is a specific verb ('Get') and resource ('tasks assigned to a specific user'), making the function unambiguous. However, it doesn't explicitly differentiate from siblings like 'get_user_action_required_tasks' or 'search_goodday_tasks', which might also retrieve user-related tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'get_user_action_required_tasks' (which might filter by action required) or 'search_goodday_tasks' (which might allow broader searches), nor does it specify prerequisites or exclusions. Usage is implied by the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usersB

Get list of organization users.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states it 'gets' data (implied read-only) but doesn't cover pagination, sorting, filtering, rate limits, authentication needs, or what 'organization users' entails (e.g., active vs. all).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no parameters and no output schema, the description is minimally adequate but lacks depth. It doesn't explain return format (e.g., list structure, fields) or behavioral context, leaving gaps for an agent to infer usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema coverage, so no parameter documentation is needed. The description doesn't add parameter details, but that's appropriate here, earning a baseline high score for simplicity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('list of organization users'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_user' (singular) or 'get_project_users', which could cause confusion about scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_user' (for a single user) or 'get_project_users' (for users in a specific project). There's no mention of prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_goodday_tasksB

Search for tasks using vector similarity search with optional filters.

Args: query: Search query (natural language) limit: Maximum number of results to return (default: 10, max: 50) project_name: Optional project name filter (case-insensitive partial match) user_name: Optional user name/email filter for assigned tasks include_closed: Whether to include closed/completed tasks (default: False)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
limitNo
project_nameNo
user_nameNo
include_closedNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'vector similarity search' which provides some technical context, but doesn't describe what 'vector similarity' means in practice, how results are ranked, whether this is a read-only operation, what authentication is required, or any rate limits. The description is insufficient for a search tool with 5 parameters and no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with a clear opening sentence followed by a well-structured Args section. Each parameter explanation is concise and adds value. The structure helps the agent quickly understand the tool's purpose and parameters without unnecessary verbiage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 5 parameters, no annotations, and no output schema, the description provides adequate parameter semantics but lacks important context about the search behavior, result format, and how it differs from sibling search tools. The absence of output schema means the description should ideally mention what the search returns, but it doesn't. The parameter explanations help, but behavioral context is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by explaining all 5 parameters in the Args section. It clarifies that 'query' accepts natural language, 'limit' has default and maximum values, 'project_name' uses case-insensitive partial matching, 'user_name' filters for assigned tasks, and 'include_closed' controls completed task inclusion. This adds substantial value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for tasks using vector similarity search with optional filters, which is a specific verb+resource combination. It distinguishes itself from other task-related tools like get_task or get_user_assigned_tasks by emphasizing vector similarity search capabilities. However, it doesn't explicitly differentiate from search_project_documents which also uses search functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like get_goodday_smart_query, get_user_assigned_tasks, or search_project_documents. There's no mention of prerequisites, performance considerations, or specific scenarios where vector similarity search is preferred over other search methods available in the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_project_documentsB

Search for documents in a specific project.

Args: project_name: The name of the project to search in (case-insensitive) document_name: Optional document name to filter by (case-insensitive partial match) include_content: Whether to include the full content of each document

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYes
document_nameNo
include_contentNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that searches are 'case-insensitive' and 'partial match' for document_name, which adds useful context beyond the schema. However, it doesn't cover critical behaviors like pagination, rate limits, authentication needs, error conditions, or what the output looks like (e.g., list format). For a search tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a structured 'Args:' section with concise explanations for each parameter. There's no wasted text, and the information is organized for quick scanning. It could be slightly more concise by integrating the parameter details into the main flow, but it's efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a search tool with 3 parameters), no annotations, and no output schema, the description is partially complete. It covers parameter semantics well but lacks details on behavioral aspects like output format, error handling, or performance characteristics. For a tool with no structured output or annotation support, the description should do more to compensate, but it meets a minimum viable level by explaining the parameters and basic search behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaningful semantics for all three parameters: 'project_name' is required and case-insensitive, 'document_name' is optional with case-insensitive partial matching, and 'include_content' controls whether full content is returned. This goes beyond the schema's basic type definitions, providing practical usage details that help the agent invoke the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search for documents in a specific project.' It specifies the verb ('search'), resource ('documents'), and scope ('in a specific project'), which is clear and specific. However, it doesn't explicitly differentiate from sibling tools like 'get_document_content' or 'search_goodday_tasks', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of sibling tools like 'get_document_content' (for retrieving content of a specific document) or 'search_goodday_tasks' (for searching tasks instead of documents), nor any context about prerequisites or exclusions. The only implied usage is searching documents within projects, but this is basic and lacks explicit alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_task_statusC

Update the status of a task.

Args: task_id: The ID of the task to update user_id: User on behalf of whom API will execute update status_id: New status ID message: Optional comment

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
user_idYes
status_idYes
messageNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation (implying mutation) but doesn't describe what happens during status updates: whether this triggers notifications, changes task visibility, requires specific permissions, or has side effects. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the core purpose in the first sentence. The parameter explanations are concise and directly relevant. While efficient, the structure could be slightly improved by grouping required vs optional parameters more clearly, but overall it's well-organized with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, 0% schema description coverage, and no output schema, the description is incomplete. It doesn't explain what happens after the update, what the return value might be, error conditions, or behavioral implications. For a tool that modifies task state, this leaves too many contextual gaps for reliable agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It provides basic semantic meaning for all 4 parameters beyond their titles, explaining what each represents. However, it doesn't provide format details (what valid status_id values are, how task_id/user_id are formatted), constraints, or examples. The description adds value but doesn't fully compensate for the complete lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Update') and resource ('status of a task'), making the purpose immediately understandable. It distinguishes from siblings like 'add_task_comment' or 'create_task' by focusing specifically on status modification rather than creation or commenting. However, it doesn't explicitly differentiate from potential status-related alternatives that might not exist in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. While it's clear this updates task status, there's no mention of prerequisites, when status updates are appropriate versus using 'add_task_comment', or any context about status transitions. The agent must infer usage from the tool name alone without explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • Addedget_document_content
    • Addedget_goodday_smart_query
    • Addedget_goodday_sprint_summary
    • Addedget_goodday_sprint_tasks
    • Addedget_task_details
    • Addedget_task_messages
    • Addedsearch_goodday_tasks
    • Addedsearch_project_documents
  2. 13 tool updates
    • First observedadd_task_comment
    • First observedcreate_project
    • First observedcreate_task
    • First observedget_project
    • First observedget_project_tasks
    • First observedget_project_users
    • First observedget_projects
    • First observedget_task
    • First observedget_user
    • First observedget_user_action_required_tasks
    • First observedget_user_assigned_tasks
    • First observedget_users
    • First observedupdate_task_status

TDQS

B3.1/5.0
Disambiguation3/5

Most tools have distinct purposes, but there is notable overlap between get_task and get_task_details, and between get_project_tasks and get_goodday_sprint_tasks, which could cause confusion. Additionally, get_goodday_smart_query overlaps with several search and retrieval tools, though its natural language interface is a differentiating factor.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern (e.g., create_project, get_task, update_task_status) with minor deviations like get_goodday_smart_query and search_goodday_tasks that include 'goodday' inconsistently. Overall, the pattern is clear and readable, with only slight inconsistencies.

Tool Count3/5

With 21 tools, the count is on the higher side for a project management server, bordering on heavy. While it covers many aspects, some tools might be redundant or could be consolidated, making it feel slightly bloated but still within a reasonable range for the domain.

Completeness4/5

The toolset provides comprehensive coverage for project and task management, including CRUD operations for projects, tasks, and comments, as well as retrieval for users, documents, and sprints. Minor gaps include lack of update/delete for projects and tasks, and no direct document creation tool, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Model Context Protocol (MCP) server for Freedcamp task management. Create, update, and list tasks in Freedcamp projects via a local MCP server. Includes robust validation, environment variable support, and easy integration with IDEs like Cursor and Roo.
    4
    22
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server for accessing Productive.io API endpoints (projects, tasks, comments, todos), tailored for read-only operations, providing streamlined access to essential data while minimizing token consumption
    18
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A unified Model Context Protocol server that provides a consistent interface for AI assistants to interact with productivity tools like Linear, GitHub, Slack, and Notion. It enables users to search, retrieve, and manage tasks and data across multiple workplace services from a single endpoint.
    20
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that provides seamless integration with the Documize API. This server enables AI assistants like Claude to interact with your Documize knowledge base - search documents, manage spaces, handle attachments, and more.
    20
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cdmx-in/goodday-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server