github-mcp-server
Server Details
GitHub repo analytics: stars, trending, code search, contributor maps for project research.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 4 of 4 tools scored.
Each tool targets a distinct operation: comparing repositories, analyzing languages, fetching stats, and searching. No overlaps.
All tools follow a clear verb_noun pattern with consistent action prefix (compare, get, search) and repository-themed nouns.
4 tools is appropriate for a focused analysis server; covers essential repository lookup and comparison needs without bloat.
Covers key repository analysis operations (search, compare, stats, languages). Missing actions like listing or creating are outside the stated scope.
Available Tools
4 toolscompare_reposARead-onlyInspect
Compare multiple GitHub repositories side-by-side with key metrics. Returns star counts, fork counts, issues, primary language, and comparative analysis for each repository. Use for choosing between similar projects or analyzing competitive landscape.
| Name | Required | Description | Default |
|---|---|---|---|
| repos | Yes | List of repositories to compare (minimum 2) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. Description adds value by detailing output fields (star counts, forks, issues, language, comparative analysis), no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded purpose and metrics list; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, description fully explains return values and use case; tool is simple with one parameter, so completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter description including format and minimum 2. Description does not add additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'compare' and resource 'multiple GitHub repositories side-by-side', lists specific metrics, and distinguishes from sibling tools like get_repo_stats (single repo) and search_repos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: 'choosing between similar projects or analyzing competitive landscape', but does not specify when not to use or mention alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_repo_languagesARead-onlyInspect
Analyze the programming language composition of a GitHub repository. Returns percentage breakdown of languages used, dominant language, and file counts per language. Use for understanding project tech stack or evaluating language distribution.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name (e.g. 'cpython', 'go') | |
| owner | Yes | Repository owner GitHub username or organization (e.g. 'python', 'golang') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, confirming no destructive action. The description adds behavioral details beyond annotations: it specifies the return values (percentage breakdown, dominant language, file counts). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and return details. Every sentence is essential, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 required parameters and no output schema, the description fully explains the purpose and return structure. It covers all needed context for the agent to understand what the tool does and what it returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with explicit descriptions for owner and repo. The description does not add parameter-specific information beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Analyze the programming language composition of a GitHub repository' and specifies returns (percentage breakdown, dominant language, file counts). It distinguishes from siblings like compare_repos or search_repos by focusing specifically on language composition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: 'Use for understanding project tech stack or evaluating language distribution.' This gives clear context, though it lacks explicit guidance on when not to use or alternative sibling tools, which would elevate it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_repo_statsARead-onlyInspect
Fetch comprehensive statistics for a specific GitHub repository. Returns total stars, forks, issues (open/closed), pull requests, watchers, last commit date, and contributor count. Returns metrics useful for assessing project popularity and maintenance status.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name within the owner (e.g. 'linux', 'vscode', 'gpt-2') | |
| owner | Yes | GitHub username or organization name (e.g. 'torvalds', 'microsoft', 'openai') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true; description adds no additional behavioral context such as rate limits or error cases, but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundant information; front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers purpose and return values for a simple read-only tool, though could mention error handling or repo existence requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions; description does not add further meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it fetches comprehensive statistics for a specific GitHub repository and lists specific metrics, distinguishing it from siblings like compare_repos and get_repo_languages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like compare_repos or search_repos; only implies utility for assessing popularity and maintenance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_reposARead-onlyInspect
Search across GitHub for repositories matching keywords, sorted by relevance or metrics. Returns matching repositories with description, star count, language, and last update timestamp. Use for finding projects, libraries, or code samples related to specific topics.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort results by most stars, most forked, or most recently updated (default: relevance) | |
| query | Yes | Search terms to find repositories (e.g. 'todo app', 'machine learning framework', 'authentication middleware') | |
| max_results | No | Number of repositories to return (default 10, max 100 for comprehensive search) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint: true and openWorldHint: true, so the description does not need to re-state safety. It adds context about return fields, but no additional behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the core purpose. Every sentence adds value with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, high schema coverage, and no output schema, the description is sufficient. It covers purpose, return fields, and usage. Could mention max results limit but schema covers it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal extra meaning beyond what is in the schema (e.g., mentions sorting by relevance or metrics). Baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search across GitHub for repositories matching keywords') and the resource ('repositories'). It also specifies the return fields (description, star count, language, last update), distinguishing it from siblings like compare_repos and get_repo_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context: 'Use for finding projects, libraries, or code samples related to specific topics.' This implies when to use it, but does not explicitly exclude cases or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!