Skip to main content
Glama
stefanskiasan

Azure DevOps MCP Server for Cline

list_pull_requests

Retrieve and filter pull requests in Azure DevOps projects by status, creator, or repository to monitor code review progress.

Instructions

List all pull requests in the project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by PR status (active, completed, abandoned)
creatorIdNoFilter by creator ID (optional)
repositoryIdNoFilter by repository ID (optional)

Implementation Reference

  • The core handler function that executes the list_pull_requests tool by querying the Azure DevOps Git API with optional status, creatorId, and repositoryId filters.
    export async function getPullRequests(args: GetPullRequestsArgs, config: AzureDevOpsConfig) { AzureDevOpsConnection.initialize(config); const connection = AzureDevOpsConnection.getInstance(); const gitApi = await connection.getGitApi(); try { let statusFilter: PullRequestStatus | undefined; if (args.status) { switch (args.status) { case 'active': statusFilter = 1; // PullRequestStatus.Active break; case 'completed': statusFilter = 3; // PullRequestStatus.Completed break; case 'abandoned': statusFilter = 2; // PullRequestStatus.Abandoned break; } } const searchCriteria = { status: statusFilter, creatorId: args.creatorId, repositoryId: args.repositoryId, }; const pullRequests = await gitApi.getPullRequests( args.repositoryId || config.project, searchCriteria ); return { content: [ { type: 'text', text: JSON.stringify(pullRequests, null, 2), }, ], }; } catch (error: unknown) { if (error instanceof McpError) throw error; const errorMessage = error instanceof Error ? error.message : 'Unknown error'; throw new McpError( ErrorCode.InternalError, `Failed to get pull requests: ${errorMessage}` ); } }
  • The input schema and metadata definition for the list_pull_requests tool.
    { name: 'list_pull_requests', description: 'List all pull requests in the project', inputSchema: { type: 'object', properties: { status: { type: 'string', description: 'Filter by PR status (active, completed, abandoned)', enum: ['active', 'completed', 'abandoned'], }, creatorId: { type: 'string', description: 'Filter by creator ID (optional)', }, repositoryId: { type: 'string', description: 'Filter by repository ID (optional)', }, }, }, },
  • src/index.ts:170-173 (registration)
    Registration in the main MCP server switch statement that handles calls to list_pull_requests by invoking the getPullRequests handler.
    case 'list_pull_requests': result = await tools.pullRequest.getPullRequests( validateArgs(request.params.arguments, 'Pull request list arguments required') );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stefanskiasan/azure-devops-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server