get_project_versions
Retrieve all version information for a MantisBT project, including active, obsolete, and inherited versions, to track project development stages.
Instructions
List all versions defined for a MantisBT project.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Numeric project ID | |
| obsolete | No | Include obsolete (deprecated) versions (default: false) | |
| inherit | No | Include versions inherited from parent projects (default: false) |
Implementation Reference
- src/tools/projects.ts:85-115 (handler)The handler and registration for the 'get_project_versions' tool.
server.registerTool( 'get_project_versions', { title: 'Get Project Versions', description: 'List all versions defined for a MantisBT project.', inputSchema: z.object({ project_id: z.coerce.number().int().positive().describe('Numeric project ID'), obsolete: z.boolean().default(false).describe('Include obsolete (deprecated) versions (default: false)'), inherit: z.boolean().default(false).describe('Include versions inherited from parent projects (default: false)'), }), annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, }, }, async ({ project_id, obsolete, inherit }) => { try { const params: Record<string, number> = {}; if (obsolete) params.obsolete = 1; if (inherit) params.inherit = 1; const result = await client.get<{ versions: MantisVersion[] }>(`projects/${project_id}/versions`, params); return { content: [{ type: 'text', text: JSON.stringify(result.versions ?? result, null, 2) }], }; } catch (error) { const msg = error instanceof Error ? error.message : String(error); return { content: [{ type: 'text', text: errorText(msg) }], isError: true }; } } );