GitHub URL MCP Server
Enables URL building and parsing of GitHub repositories with validation capabilities to distinguish between public, private, and non-existent repositories without requiring authentication.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub URL MCP Serverparse the GitHub URL https://github.com/microsoft/vscode/tree/main/src"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GitHub URL MCP Server
An MCP (Model Context Protocol) server for handling GitHub URLs with validation and parsing capabilities.
This server provides tools to convert between GitHub repository information and URLs, with intelligent validation to distinguish between public repositories, private repositories, and non-existent repositories.
Background
This tool was created to solve the problem where LLMs often struggle to properly handle GitHub-related tasks and fail to appropriately call MCP tools for GitHub operations. Many LLMs have difficulty constructing correct GitHub URLs from repository information, parsing GitHub URLs to extract meaningful components, or knowing when to use available MCP tools for GitHub-related requests. This server provides specialized tools that make these operations reliable and consistent for AI applications.
Note: This issue might be specific to the LLMs I commonly use, but providing dedicated tools ensures consistent behavior across different AI systems. Or perhaps I should just quietly invest a fortune in Claude Code's max plan instead.
Related MCP server: GitHub Prod MCP
Features
URL Building: Convert owner/repo pairs to properly formatted GitHub URLs
URL Parsing: Extract owner, repository, and path information from GitHub URLs
Smart Repository Validation: Distinguish between public, private, and non-existent repositories
Private Repository Detection: Identify when a repository exists but is private
Comprehensive Status Reporting: Clear status indicators for repository accessibility
Error Handling: Detailed error messages for invalid inputs
No Authentication Required: Works without GitHub API tokens
Timeout Protection: Network requests have built-in timeouts
Tools
github/build_url
Converts GitHub owner and repository name into a properly formatted GitHub URL with validation.
Parameters:
owner(string): GitHub username or organization namerepo(string): Repository name
Example:
{
"owner": "microsoft",
"repo": "vscode"
}Returns:
https://github.com/microsoft/vscode(for public repositories)https://github.com/owner/repo+ 🔒 Note (for private repositories)https://github.com/owner/repo+ ⚠️ Warning (for non-existent repositories)https://github.com/owner/repo+ ❌ Error (for validation errors)
github/parse_url
Parses a GitHub URL to extract owner, repository name, and additional path information with validation.
Parameters:
url(string): GitHub URL to parse
Example:
{
"url": "https://github.com/microsoft/vscode/tree/main/src"
}Returns:
{
"owner": "microsoft",
"repo": "vscode",
"url": "https://github.com/microsoft/vscode",
"additionalPath": "tree/main/src",
"status": "public",
"accessible": true
}Status Values:
"public": Repository is publicly accessible"private": Repository exists but is private"not_found": Repository does not exist"error": Validation error occurred
Additional Fields:
accessible: Boolean indicating if the repository is publicly accessiblenote: Information message for private repositorieswarning: Warning message for non-existent repositorieserror: Error message for validation failures
Development
Setup
npm installStart the server
npm run startDevelopment mode with CLI interaction
npm run devTesting
npm run testLinting and formatting
npm run lint
npm run formatBuild
npm run buildAvailable Tools
2 toolsgithub/build_urlARead-only
Converts GitHub owner and repository name into a properly formatted GitHub URL with validation
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | GitHub username or organization name (e.g., 'microsoft', 'facebook') | |
| repo | Yes | Repository name (e.g., 'vscode', 'react') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=false, indicating this is a safe, deterministic operation. The description adds value by mentioning 'validation', which implies error-checking or formatting rules beyond basic concatenation, but does not detail specific behaviors like rate limits, authentication needs, or exact validation rules. No contradiction with annotations exists.
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?
The description is a single, efficient sentence that front-loads the core purpose ('Converts GitHub owner and repository name into a properly formatted GitHub URL') and adds a useful detail ('with validation'). There is no wasted text, and every word contributes to understanding the tool's function.
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 parameters, 100% schema coverage, and annotations indicating safety and determinism, the description is largely complete. It covers the purpose, hints at validation, and distinguishes from siblings. However, without an output schema, it could briefly mention the return type (e.g., a string URL) to enhance completeness, though this is a minor gap given the tool's simplicity.
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?
The input schema has 100% description coverage, with clear descriptions for both parameters (owner and repo). The description adds minimal semantics by contextualizing the parameters as 'GitHub owner and repository name' and hinting at validation, but does not provide additional details beyond what the schema already covers. With high schema coverage, the baseline score of 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 specific action ('Converts'), the resources involved ('GitHub owner and repository name'), and the output ('properly formatted GitHub URL with validation'). It distinguishes itself from the sibling tool github/parse_url by focusing on construction rather than parsing of URLs.
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 implies usage context by mentioning 'GitHub owner and repository name' and 'validation', suggesting it should be used when you have these components and need a valid URL. However, it does not explicitly state when to use this tool versus alternatives like manual string concatenation or the sibling parse_url tool, nor does it provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
github/parse_urlARead-only
Parses a GitHub URL to extract owner, repository name, and additional path information with validation
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | GitHub URL to parse (e.g., 'https://github.com/microsoft/vscode' or 'https://github.com/facebook/react/tree/main/packages') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and openWorldHint=false, which already inform the agent that this is a safe, deterministic read operation. The description adds value by specifying 'with validation', which is a behavioral trait not covered by annotations, but does not detail error handling, rate limits, or output format. No contradiction with annotations exists.
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?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose, what it extracts, and a key behavioral trait ('with validation'). It is front-loaded with essential information and has 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?
Given the tool's low complexity (single parameter, no output schema, simple annotations), the description is mostly complete. It covers the parsing action and validation, but could benefit from mentioning the output structure (e.g., what fields are returned) since there is no output schema. However, it adequately addresses the core functionality.
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%, with the parameter 'url' fully documented in the schema including examples. The description adds minimal semantic context by mentioning what is extracted from the URL, but does not provide additional details beyond what the schema already covers. Baseline 3 is appropriate given high schema coverage.
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 specific verb 'parses' and the resource 'GitHub URL', and specifies what it extracts: 'owner, repository name, and additional path information with validation'. It distinguishes from the sibling tool 'github/build_url' by focusing on parsing rather than constructing URLs.
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 implies usage context by mentioning 'GitHub URL' and providing examples, but does not explicitly state when to use this tool versus alternatives like the sibling 'github/build_url' or other parsing methods. It gives clear context for when to use it (parsing GitHub URLs) but lacks explicit exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct and complementary purposes: one builds URLs from components, the other parses URLs into components. There is no overlap in functionality, and an agent would easily differentiate between them based on their input/output needs.
Both tools follow a consistent verb_noun pattern (build_url, parse_url) under the same 'github/' namespace. The naming is predictable and aligned, making it easy for agents to understand their roles without confusion.
With only 2 tools, the server feels thin for a GitHub-related purpose, as typical GitHub MCP servers offer more comprehensive operations (e.g., managing repos, issues, PRs). However, for the narrow scope of URL handling, it is minimally functional but limited in broader utility.
For the specific domain of GitHub URL manipulation, the tools provide complete coverage: building and parsing URLs. A minor gap might be the lack of tools for validating URLs without parsing or building, but the core operations are well-covered for this focused task.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create, deploy, and operate MCP servers directly from your GitHub repositories.
GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)
A MCP server built for developers enabling Git based project management with project and personal…
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- -licenseNot gradedqualityAmaintenanceMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.117,29690,042MIT
- AlicenseCqualityCmaintenanceA production-ready MCP server for GitHub operations, providing tools for repository management, issues, pull requests, and more via both MCP stdio and REST API.27MIT
- AlicenseAqualityBmaintenanceA secure MCP server for interacting with GitHub issues, pull requests, repository files, and search, supporting both github.com and GitHub Enterprise Server.11AGPL 3.0
- AlicenseBqualityDmaintenanceMCP (Model Context Protocol) server for GitHub API integration. This server provides comprehensive tools for interacting with GitHub repositories, issues, pull requests, branches, and code search through a unified interface.1514MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kongyo2/GitHub-URL-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server