UNPKG

@mcp-apps/azure-devops-mcp-server

Version:

A Model Context Protocol (MCP) server for Azure DevOps integration

66 lines 5.88 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js"); const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js"); // Import tools const work_items_1 = require("./tools/work-items"); const repositories_1 = require("./tools/repositories"); const projects_1 = require("./tools/projects"); const git_commands_1 = require("./tools/git-commands"); const pipelines_1 = require("./tools/pipelines"); const test_cases_js_1 = require("./tools/test-cases.js"); // FOR TESTING ONLY: Uncomment the following lines to use a specific access token // import { getAccessToken } from "./utils/token-manager"; // const accessToken = getAccessToken(); // Create server instance const server = new mcp_js_1.McpServer({ name: "azure-devops-mcp-server", description: "Azure DevOps MCP Server", version: "1.0.0", capabilities: { resources: {}, tools: {}, }, }); // Register tools server.tool(work_items_1.listWorkItemsTool.name, work_items_1.listWorkItemsTool.description, work_items_1.listWorkItemsTool.parameters, work_items_1.listWorkItemsTool.handler); server.tool(work_items_1.createWorkItemTool.name, work_items_1.createWorkItemTool.description, work_items_1.createWorkItemTool.parameters, work_items_1.createWorkItemTool.handler); server.tool(work_items_1.updateWorkItemTool.name, work_items_1.updateWorkItemTool.description, work_items_1.updateWorkItemTool.parameters, work_items_1.updateWorkItemTool.handler); server.tool(repositories_1.listRepositoriesTool.name, repositories_1.listRepositoriesTool.description, repositories_1.listRepositoriesTool.parameters, repositories_1.listRepositoriesTool.handler); server.tool(repositories_1.listPullRequestsTool.name, repositories_1.listPullRequestsTool.description, repositories_1.listPullRequestsTool.parameters, repositories_1.listPullRequestsTool.handler); server.tool(repositories_1.getRepositoryFileTool.name, repositories_1.getRepositoryFileTool.description, repositories_1.getRepositoryFileTool.parameters, repositories_1.getRepositoryFileTool.handler); server.tool(projects_1.listProjectsTool.name, projects_1.listProjectsTool.description, projects_1.listProjectsTool.parameters, projects_1.listProjectsTool.handler); server.tool(repositories_1.createPullRequestTool.name, repositories_1.createPullRequestTool.description, repositories_1.createPullRequestTool.parameters, repositories_1.createPullRequestTool.handler); // Register Git commands tools server.tool(git_commands_1.gitCommandTool.name, git_commands_1.gitCommandTool.description, git_commands_1.gitCommandTool.parameters, git_commands_1.gitCommandTool.handler); server.tool(git_commands_1.cloneRepositoryTool.name, git_commands_1.cloneRepositoryTool.description, git_commands_1.cloneRepositoryTool.parameters, git_commands_1.cloneRepositoryTool.handler); server.tool(git_commands_1.createBranchTool.name, git_commands_1.createBranchTool.description, git_commands_1.createBranchTool.parameters, git_commands_1.createBranchTool.handler); server.tool(git_commands_1.pushChangesTool.name, git_commands_1.pushChangesTool.description, git_commands_1.pushChangesTool.parameters, git_commands_1.pushChangesTool.handler); server.tool(git_commands_1.getRepositoryStatusTool.name, git_commands_1.getRepositoryStatusTool.description, git_commands_1.getRepositoryStatusTool.parameters, git_commands_1.getRepositoryStatusTool.handler); server.tool(git_commands_1.commitChangesTool.name, git_commands_1.commitChangesTool.description, git_commands_1.commitChangesTool.parameters, git_commands_1.commitChangesTool.handler); // Register pipeline tools server.tool(pipelines_1.listBuildPipelinesTool.name, pipelines_1.listBuildPipelinesTool.description, pipelines_1.listBuildPipelinesTool.parameters, pipelines_1.listBuildPipelinesTool.handler); server.tool(pipelines_1.getBuildPipelineDetailsTool.name, pipelines_1.getBuildPipelineDetailsTool.description, pipelines_1.getBuildPipelineDetailsTool.parameters, pipelines_1.getBuildPipelineDetailsTool.handler); server.tool(pipelines_1.listBuildRunsTool.name, pipelines_1.listBuildRunsTool.description, pipelines_1.listBuildRunsTool.parameters, pipelines_1.listBuildRunsTool.handler); server.tool(pipelines_1.listReleasePipelinesTool.name, pipelines_1.listReleasePipelinesTool.description, pipelines_1.listReleasePipelinesTool.parameters, pipelines_1.listReleasePipelinesTool.handler); server.tool(pipelines_1.getReleasePipelineDetailsTool.name, pipelines_1.getReleasePipelineDetailsTool.description, pipelines_1.getReleasePipelineDetailsTool.parameters, pipelines_1.getReleasePipelineDetailsTool.handler); server.tool(pipelines_1.listReleaseRunsTool.name, pipelines_1.listReleaseRunsTool.description, pipelines_1.listReleaseRunsTool.parameters, pipelines_1.listReleaseRunsTool.handler); // Register test case tools server.tool(test_cases_js_1.queryTestCasesTool.name, test_cases_js_1.queryTestCasesTool.description, test_cases_js_1.queryTestCasesTool.parameters, test_cases_js_1.queryTestCasesTool.handler); server.tool(test_cases_js_1.getTestCaseDetailsTool.name, test_cases_js_1.getTestCaseDetailsTool.description, test_cases_js_1.getTestCaseDetailsTool.parameters, test_cases_js_1.getTestCaseDetailsTool.handler); server.tool(test_cases_js_1.createTestCaseTool.name, test_cases_js_1.createTestCaseTool.description, test_cases_js_1.createTestCaseTool.parameters, test_cases_js_1.createTestCaseTool.handler); // Start the server async function main() { try { const transport = new stdio_js_1.StdioServerTransport(); await server.connect(transport); console.error("Azure DevOps MCP Server running on stdio"); } catch (error) { console.error("Error starting server:", error); process.exit(1); } } main(); //# sourceMappingURL=index.js.map