Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_project_create_recurring_task

Creates a recurring task definition with customizable schedule rules to automate repetitive task creation. Specify interval type, start date, and due time for project workflows.

Instructions

PROJECT MANAGEMENT API — hierarchy is spaces -> folders -> lists -> tasks (+ comments, space statuses, recurring tasks). Task batch-get is RBAC-filtered (inaccessible ids are omitted, not errors) and omits embedded subtasks. position is an opaque server-assigned lexorank string; there is no public reorder endpoint. Recurring tasks use owners/contactIds and rruleOptions.intervalType (task create uses assignees/contactId). Task search supports updatedAt filtering/sorting for incremental sync. The docs do not describe what a delete cascades to — treat every delete as destructive. Create Recurring Task Creates one recurring task definition. There is no list endpoint and no list binding. The schedule uses rruleOptions (intervalType, not a raw RRULE string). owners and contactIds are the recurring fields — task create uses assignees and contactId. Requires projects/tasks.recurring.write. Endpoint: POST /projects/recurring-tasks (Version header: v3; source: v3/projects-v3.json) OAuth scopes: projects/tasks.recurring.write

Input Schema

NameRequiredDescriptionDefault
bodyYesRequest body (schema carried verbatim from the official OpenAPI spec).
locationIdNoLocation id. Required for APP channel (`?locationId=`). Ignored for OAuth/PIT (token location is used). Do not send in path, body, or headers.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare this is a non-read-only, non-idempotent, open-world operation, and the description adds meaningful context: required OAuth scope, endpoint/version, no list endpoint or binding, and the recurring-specific field model. It does not describe the creation response or side effects beyond creation, and the long generic API preface includes some unrelated behavior notes.

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 relevant tool-specific text is clear, but the description is front-loaded with a broad project-management API preface containing unrelated details about batch-get RBAC, lexorank positioning, search syncing, and delete destructiveness. It also repeats the recurring-field distinction and OAuth scope, which makes it less tight than it could be.

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 create tool with a nested request body and no output schema, the description covers prerequisites, endpoint, scope, and key field differences well. However, it does not explain what the create call returns or what side effects to expect from initial task creation, leaving a meaningful gap for invocation and follow-up 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic value by warning that recurring tasks use `owners` and `contactIds` while ordinary task create uses `assignees` and `contactId`. It also clarifies that scheduling uses `rruleOptions.intervalType` rather than a raw RRULE string.

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

Purpose5/5

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

The description names a specific verb and resource: "Creates one recurring task definition." It also distinguishes this recurring-task creation from ordinary task creation by noting the different field names (`owners`/`contactIds` vs `assignees`/`contactId`) and that there is no list endpoint or list binding.

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

Usage Guidelines4/5

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

It gives useful context for when this tool applies: it creates a standalone recurring task definition, has no list binding, and requires the `projects/tasks.recurring.write` scope. It stops short of explicitly naming alternative sibling tools such as the recurring-task update/get/delete endpoints, so it is not a full when-to-use/when-not-to-use guide.

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

Deploy Server

Other Tools