add_module_issues
Assign issues to a module in a project. Use this tool to link specific issue UUIDs to a module, ensuring organized task management within Plane MCP Server.
Instructions
Add issues to a module. Assign module to issues.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issues | Yes | Array of issue UUIDs to add to the module | |
| module_id | Yes | The uuid identifier of the module to add issues to | |
| project_id | Yes | The uuid identifier of the project containing the module |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"issues": {
"description": "Array of issue UUIDs to add to the module",
"items": {
"type": "string"
},
"type": "array"
},
"module_id": {
"description": "The uuid identifier of the module to add issues to",
"type": "string"
},
"project_id": {
"description": "The uuid identifier of the project containing the module",
"type": "string"
}
},
"required": [
"project_id",
"module_id",
"issues"
],
"type": "object"
}
Implementation Reference
- src/tools/module-issues.ts:38-52 (handler)The main handler function that performs the POST request to the Plane API endpoint to associate issues with a module.async ({ project_id, module_id, issues }) => { const response = await makePlaneRequest( "POST", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/modules/${module_id}/module-issues/`, { issues } ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; }
- src/tools/module-issues.ts:33-37 (schema)Input schema using Zod validators for the tool parameters.{ project_id: z.string().describe("The uuid identifier of the project containing the module"), module_id: z.string().describe("The uuid identifier of the module to add issues to"), issues: z.array(z.string()).describe("Array of issue UUIDs to add to the module"), },
- src/tools/module-issues.ts:30-53 (registration)MCP server tool registration call, specifying name, description, input schema, and handler function.server.tool( "add_module_issues", "Add issues to a module. Assign module to issues.", { project_id: z.string().describe("The uuid identifier of the project containing the module"), module_id: z.string().describe("The uuid identifier of the module to add issues to"), issues: z.array(z.string()).describe("Array of issue UUIDs to add to the module"), }, async ({ project_id, module_id, issues }) => { const response = await makePlaneRequest( "POST", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/modules/${module_id}/module-issues/`, { issues } ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } );
- src/tools/index.ts:19-19 (registration)Call to register module issue tools (including add_module_issues) within the aggregate tools registration.registerModuleIssueTools(server);
- src/server.ts:15-15 (registration)Top-level call to register all tools, which chains to module-issues tools.registerTools(server);