Azure DevOps MCP Server
- src
import { WebApi } from 'azure-devops-node-api';
import * as dotenv from 'dotenv';
import { getPersonalAccessTokenHandler } from 'azure-devops-node-api';
// Load environment variables
dotenv.config();
// This is a simple test file to verify that the Azure DevOps API can be used
// It's not meant to be run in production, just for testing during development
async function testAzureDevOpsApi() {
console.log('Testing Azure DevOps API...');
// Check if the PAT is set
const pat = process.env.AZURE_DEVOPS_PAT;
if (!pat) {
console.log('AZURE_DEVOPS_PAT environment variable is not set. Skipping API test.');
return;
}
// Check if the organization is set
const org = process.env.AZURE_DEVOPS_ORG;
if (!org) {
console.log('AZURE_DEVOPS_ORG environment variable is not set. Skipping API test.');
return;
}
try {
// Create a connection to Azure DevOps
const orgUrl = `https://dev.azure.com/${org}`;
const authHandler = getPersonalAccessTokenHandler(pat);
const webApi = new WebApi(orgUrl, authHandler);
// Get the Core API
const coreApi = await webApi.getCoreApi();
// List projects
console.log(`Listing projects for organization: ${org}`);
const projects = await coreApi.getProjects();
if (projects && projects.length > 0) {
console.log(`Found ${projects.length} projects:`);
projects.forEach(project => {
console.log(`- ${project.name} (${project.id})`);
});
} else {
console.log('No projects found.');
}
console.log('Azure DevOps API test completed successfully.');
} catch (error) {
console.error('Error testing Azure DevOps API:', error);
}
}
// Run the test
testAzureDevOpsApi();