Skip to main content
Glama
makeplane

Plane MCP Server

Official
by makeplane

delete_cycle

Remove a specific cycle from a project in Plane MCP Server by providing the project and cycle IDs. Ideal for managing project workflows and maintaining system accuracy.

Instructions

Delete a cycle

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cycle_idYesThe uuid identifier of the cycle to delete
project_idYesThe uuid identifier of the project containing the cycle

Implementation Reference

  • The asynchronous handler function that sends a DELETE request to the Plane API endpoint to delete the cycle identified by project_id and cycle_id, then returns a success message.
    async ({ project_id, cycle_id }) => {
      await makePlaneRequest(
        "DELETE",
        `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/cycles/${cycle_id}/`
      );
      return {
        content: [
          {
            type: "text",
            text: "Cycle deleted successfully",
          },
        ],
      };
    }
  • Input schema using Zod for validating project_id and cycle_id parameters required by the delete_cycle tool.
    {
      project_id: z.string().describe("The uuid identifier of the project containing the cycle"),
      cycle_id: z.string().describe("The uuid identifier of the cycle to delete"),
    },
  • Tool registration using server.tool() with name 'delete_cycle', description, input schema, and handler function.
    server.tool(
      "delete_cycle",
      "Delete a cycle",
      {
        project_id: z.string().describe("The uuid identifier of the project containing the cycle"),
        cycle_id: z.string().describe("The uuid identifier of the cycle to delete"),
      },
      async ({ project_id, cycle_id }) => {
        await makePlaneRequest(
          "DELETE",
          `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/cycles/${cycle_id}/`
        );
        return {
          content: [
            {
              type: "text",
              text: "Cycle deleted successfully",
            },
          ],
        };
      }
    );
  • Higher-level registration call that invokes registerCycleTools, which includes the delete_cycle tool.
    registerCycleTools(server);
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. 'Delete a cycle' implies a destructive mutation, but it doesn't specify whether this is reversible, what permissions are required, what happens to associated data (like issues in the cycle), or any rate limits. For a destructive operation with zero annotation coverage, this represents a significant transparency gap.

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 maximally concise at just three words. While this represents under-specification rather than ideal conciseness, according to the scoring framework, 'Process' received a 2 for conciseness as under-specification. 'Delete a cycle' is similarly brief but more meaningful than 'Process', earning the highest score for efficiency with zero wasted words.

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 destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address critical context like what 'cycle' means in this system, whether deletion cascades to related resources, what confirmation or validation occurs, or what the response contains. The agent lacks sufficient information to use this tool safely and effectively.

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 schema has 100% description coverage, with both parameters ('cycle_id' and 'project_id') clearly documented as UUID identifiers. The description adds no additional parameter information beyond what the schema already provides. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose2/5

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

The description 'Delete a cycle' is a tautology that merely restates the tool name without adding specificity. It doesn't clarify what a 'cycle' represents in this context or how this deletion differs from similar operations like 'delete_cycle_issue' or 'delete_module'. The description lacks the verb+resource specificity needed for clear differentiation.

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

Usage Guidelines1/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, dependencies, or when-not-to-use scenarios. With siblings like 'delete_cycle_issue' and 'delete_module' available, the absence of any comparative context leaves the agent guessing about appropriate usage contexts.

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

Install Server

Other Tools

Related Tools

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/makeplane/plane-mcp-server'

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