Skip to main content
Glama
GitHub URL MCP Server

GitHub URL MCP Server

by kongyo2

GitHub URL MCP Server

Ask DeepWiki

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 name

  • repo (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 accessible

  • note: Information message for private repositories

  • warning: Warning message for non-existent repositories

  • error: Error message for validation failures

Development

Setup

npm install

Start the server

npm run start

Development mode with CLI interaction

npm run dev

Testing

npm run test

Linting and formatting

npm run lint
npm run format

Build

npm run build

Available Tools

2 tools
github/build_urlA
Read-only

Converts GitHub owner and repository name into a properly formatted GitHub URL with validation

Inputs: owner (required), repo (required).

github/parse_urlA
Read-only

Parses a GitHub URL to extract owner, repository name, and additional path information with validation

Inputs: url (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 2 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count3/5

    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.

    Completeness4/5

    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.

    Related MCP Connectors

    Related MCP Servers