@mcp-apps/azure-devops-mcp-server
Version:
A Model Context Protocol (MCP) server for Azure DevOps integration
66 lines • 5.88 kB
JavaScript
;
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