Skip to main content
Glama

list-issues

Retrieve and filter project issues by state, priority, or assignee to manage and track work items effectively.

Instructions

List issues from a project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assignee_idNoFilter by assignee ID (optional)
limitNoMaximum number of issues to return (default: 50)
priorityNoFilter by priority (optional)
project_idYesID of the project to get issues from
state_idNoFilter by state ID (optional)

Implementation Reference

  • Executes the list-issues tool: validates project_id, builds query parameters from input, calls Plane API to fetch issues, and returns JSON response.
    case "list-issues": { if (!args || typeof args.project_id !== "string") { throw new Error("Project ID is required"); } const { project_id, ...queryParams } = args; // Build query string from other parameters const queryString = Object.entries(queryParams) .filter(([_, value]) => value !== undefined) .map(([key, value]) => `${key}=${encodeURIComponent(String(value))}`) .join("&"); const endpoint = `/projects/${project_id}/issues/${ queryString ? `?${queryString}` : "" }`; const issues = await callPlaneAPI(endpoint, "GET"); return { content: [{ type: "text", text: JSON.stringify(issues, null, 2) }], isError: false, }; }
  • Defines the Tool metadata including name, description, and input schema for the list-issues tool, specifying required project_id and optional filters.
    const LIST_ISSUES_TOOL: Tool = { name: "list-issues", description: "List issues from a project", inputSchema: { type: "object", properties: { project_id: { type: "string", description: "ID of the project to get issues from", }, state_id: { type: "string", description: "Filter by state ID (optional)", }, priority: { type: "string", description: "Filter by priority (optional)", enum: ["urgent", "high", "medium", "low", "none"], }, assignee_id: { type: "string", description: "Filter by assignee ID (optional)", }, limit: { type: "number", description: "Maximum number of issues to return (default: 50)", }, }, required: ["project_id"], }, };
  • src/index.ts:261-270 (registration)
    Registers the list-issues tool (via LIST_ISSUES_TOOL) in the server's list of available tools for ListTools requests.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ LIST_PROJECTS_TOOL, GET_PROJECT_TOOL, CREATE_ISSUE_TOOL, LIST_ISSUES_TOOL, GET_ISSUE_TOOL, UPDATE_ISSUE_TOOL, ], }));

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

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