VS Code workspace with GitHub MCP server pre-configured. Contains multiple agents for GitHub interaction, job market analysis, and trending repository tracking.
This server has significant quality gaps across definition, schema, and error handling. While tool names follow verb_noun conventions (getUser, searchRepos, createIssue), descriptions are extremely brief (many under 50 chars), most input/output schemas are not explicitly defined in the source code shown, and there is no visible error handling or validation guidance. The server also lacks MCP tool registration, the code shows a raw Node.js class with GitHub API calls, not an MCP server that exposes these as callable tools via the Model Context Protocol. Tools 8-16 (job analyzer and trending digest) have even less visible schema definition. Critical: this appears to be a demo agent script, not an MCP server ready for production integration.
Analyze trending repositories by language and correlate with job market data
Calculate opportunity score based on job market data (salary, growth, demand)
Correlate trending repositories with job market data including openings, salary, and growth
Correlate GitHub trends with job market demand and salary data
Create an issue in a repository
Detect AI/ML related trending repositories using keyword analysis
Generate a starting guide for learning the latest trending AI technology
No MCP server implementation visible, code is a raw Node.js GitHub API client class, not an MCP-compliant server. Tools are not registered with the Model Context Protocol; this is a demo agent, not an MCP server.
Input/output schemas not defined or visible in source. Tools like getUser, getRepo, getFileContent, detectAITrends, generateRecommendations, generateAIStartingGuide, and generateNewsletter have no documented schema. LLMs cannot plan downstream calls or validate responses.
Descriptions are too brief and lack context. Examples: 'Get authenticated user information' (36 chars), 'Create an issue in a repository' (31 chars), 'Detect AI/ML related trending repositories using keyword analysis' (62 chars). Most lack WHEN to use, dependencies, or return value details.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 30 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Generate formatted newsletter with trending repositories, AI trends, and career recommendations
Generate personalized career recommendations based on trending technologies and job market demand
Get file content from a repository
Get repository details for a specific owner and repo
Get trending repositories by language with optional time range
Get authenticated user information
List issues for a repository with optional state and limit parameters
List pull requests for a repository with optional state and limit parameters
Search repositories with optional limit parameter
No error handling or recovery guidance in any tool. The code shows generic error handling ('GitHub API error: {statusCode} {data}') with no actionable next steps for the LLM. When a lookup fails, there is no suggestion for alternatives or recovery strategies.
Duplicate tool name 'correlateWithJobMarket' appears in both job-analyzer and trending-digest. LLMs will be unable to distinguish between them; one should be renamed (e.g., correlateJobsWithTrends).
No input validation documented. Parameters like 'limit', 'state', 'timeRange' lack constraints (min/max, valid enum values). LLMs have no formal guidance on what values are allowed and will guess, potentially causing API errors.
GITHUB_TOKEN is required as an environment variable but not documented in tool descriptions. If a tool fails due to missing token, the error message provides no recovery guidance.
No pagination support documented. Tools like searchRepos and listIssues accept a 'limit' parameter but do not return cursor/offset or total count, making it impossible for agents to iterate through large result sets.
Job market data is hardcoded in the source (JOB_MARKET_DATA object) with no indication that it is stale or how often it updates. LLMs will treat 2024-2025 salary/growth figures as current indefinitely.