Skip to main content
Glama

vet

Analyze GitHub issues to identify suitable contribution opportunities by evaluating clarity, scope, assignment status, and activity level.

Instructions

Analyze a GitHub issue to determine if it is a good candidate for contribution. Checks for clarity, scope, existing assignees, and staleness.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issueUrlYesFull GitHub issue URL to vet (e.g. https://github.com/owner/repo/issues/123)

Implementation Reference

  • The main logic function for vetting a GitHub issue.
    export async function runVet(options: VetOptions): Promise<VetOutput> {
      validateUrl(options.issueUrl);
      validateGitHubUrl(options.issueUrl, ISSUE_URL_PATTERN, 'issue');
    
      const token = requireGitHubToken();
    
      const discovery = new IssueDiscovery(token);
    
      const candidate = await discovery.vetIssue(options.issueUrl);
    
      return {
        issue: {
          repo: candidate.issue.repo,
          number: candidate.issue.number,
          title: candidate.issue.title,
          url: candidate.issue.url,
          labels: candidate.issue.labels,
        },
        recommendation: candidate.recommendation,
        reasonsToApprove: candidate.reasonsToApprove,
        reasonsToSkip: candidate.reasonsToSkip,
        projectHealth: candidate.projectHealth,
        vettingResult: candidate.vettingResult,
      };
    }
  • MCP tool registration for the 'vet' command.
    // 4. vet — Vet an issue for contribution suitability
    server.registerTool(
      'vet',
      {
        description:
          'Analyze a GitHub issue to determine if it is a good candidate for contribution. Checks for clarity, scope, existing assignees, and staleness.',
        inputSchema: {
          issueUrl: z.string().describe('Full GitHub issue URL to vet (e.g. https://github.com/owner/repo/issues/123)'),
        },
        annotations: { readOnlyHint: true },
      },
      wrapTool(runVet),
    );
  • Zod input schema definition for the 'vet' tool.
      inputSchema: {
        issueUrl: z.string().describe('Full GitHub issue URL to vet (e.g. https://github.com/owner/repo/issues/123)'),
      },
      annotations: { readOnlyHint: true },
    },

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/costajohnt/oss-autopilot'

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