UNPKG

@ryancardin/azuredevops-mcp-server

Version:

MCP server for Azure DevOps integration - provides seamless access to work items, repositories, projects, boards, and sprints

147 lines 5.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProjectToolMethods = exports.ProjectTools = void 0; const ProjectService_1 = require("../Services/ProjectService"); const Common_1 = require("../Interfaces/Common"); const getClassMethods_1 = __importDefault(require("../utils/getClassMethods")); class ProjectTools { constructor(config) { this.projectService = new ProjectService_1.ProjectService(config); } /** * List all projects */ async listProjects(params) { try { const projects = await this.projectService.listProjects(params); return (0, Common_1.formatMcpResponse)(projects, `Found ${projects.length} projects`); } catch (error) { console.error('Error in listProjects tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Get project details */ async getProjectDetails(params) { try { const project = await this.projectService.getProjectDetails(params); return (0, Common_1.formatMcpResponse)(project, `Project details for ${project.name}`); } catch (error) { console.error('Error in getProjectDetails tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Create a project */ async createProject(params) { try { const project = await this.projectService.createProject(params); return (0, Common_1.formatMcpResponse)(project, `Project ${params.name} creation initiated`); } catch (error) { console.error('Error in createProject tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Get areas */ async getAreas(params) { try { const areas = await this.projectService.getAreas(params); return (0, Common_1.formatMcpResponse)(areas, `Retrieved areas for project ${params.projectId}`); } catch (error) { console.error('Error in getAreas tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Get iterations */ async getIterations(params) { try { const iterations = await this.projectService.getIterations(params); return (0, Common_1.formatMcpResponse)(iterations, `Retrieved iterations for project ${params.projectId}`); } catch (error) { console.error('Error in getIterations tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Create area */ async createArea(params) { try { const area = await this.projectService.createArea(params); return (0, Common_1.formatMcpResponse)(area, `Created area ${params.name} in project ${params.projectId}`); } catch (error) { console.error('Error in createArea tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Create iteration */ async createIteration(params) { try { const iteration = await this.projectService.createIteration(params); return (0, Common_1.formatMcpResponse)(iteration, `Created iteration ${params.name} in project ${params.projectId}`); } catch (error) { console.error('Error in createIteration tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Get processes */ async getProcesses(params) { try { const processes = await this.projectService.getProcesses(params); return (0, Common_1.formatMcpResponse)(processes, `Retrieved ${processes.length} processes`); } catch (error) { console.error('Error in getProcesses tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Get work item types */ async getWorkItemTypes(params) { try { const types = await this.projectService.getWorkItemTypes(params); return (0, Common_1.formatMcpResponse)(types, `Retrieved work item types for process ${params.processId}`); } catch (error) { console.error('Error in getWorkItemTypes tool:', error); return (0, Common_1.formatErrorResponse)(error); } } /** * Get work item type fields */ async getWorkItemTypeFields(params) { try { const fields = await this.projectService.getWorkItemTypeFields(params); return (0, Common_1.formatMcpResponse)(fields, `Retrieved fields for work item type ${params.witRefName}`); } catch (error) { console.error('Error in getWorkItemTypeFields tool:', error); return (0, Common_1.formatErrorResponse)(error); } } } exports.ProjectTools = ProjectTools; exports.ProjectToolMethods = (0, getClassMethods_1.default)(ProjectTools.prototype); //# sourceMappingURL=ProjectTools.js.map