Skip to main content
Glama

MCP GitHub Reader

A lightweight Model Context Protocol (MCP) server for bringing GitHub repositories into context for large language models.

Features

  • API-based: No local repository cloning required - works directly with GitHub's API

  • Repository Analysis: Get overview and statistics for any GitHub repository

  • File Access: Retrieve individual file contents or entire repository file structures

  • Smart Filtering: Include or exclude files with glob and regex patterns

  • Cache-enabled: Smart caching and optimized request patterns to avoid GitHub API limits

  • Search Capabilities: Find files matching specific patterns within repositories

  • MCP Compatible: Works with any LLM client supporting the Model Context Protocol

  • Prompt Templates: Ready-to-use prompt templates for common repository analysis tasks

Related MCP server: code-index-mcp

Installation

npm install -g mcp-github-reader

Local Installation

npm install mcp-github-reader

Usage

Running as a Standalone Server

# If installed globally
mcp-github-reader

# If installed locally
npx mcp-github-reader

Integration with Claude

For npm installation:

Add this to your Claude Desktop tools configuration:

"github-reader": {
  "runtime": "node",
  "command": "npx",
  "args": [
    "-y",
    "mcp-github-reader"
  ]
}

For local installation:

"github-reader-test": {
  "command": "node",
  "args": [
    "/path/to/your/repo/src/mcp-github-reader.js"
  ]
}

Replace /path/to/your/repo with your actual repository location.

Available Tools

The MCP server provides four powerful tools for interacting with GitHub repositories:

1. get_individual_file_content

Retrieves the content of a specific file from a GitHub repository.

Parameters:

  • owner: Repository owner (e.g., "skydeckai")

  • repo: Repository name (e.g., "mcp-server-aidd")

  • path: Path to the file within the repository (e.g., "README.md")

  • branch (optional): Branch name (defaults to the default branch)

2. get_entire_repo_contents

Get an entire repository's content with smart filtering options.

Parameters:

  • owner: Repository owner (e.g., "skydeckai")

  • repo: Repository name (e.g., "mcp-server-aidd")

  • exclude_patterns (optional): Patterns to exclude (e.g., [".test.js", "node_modules/"])

  • include_patterns (optional): Only include files matching these patterns (e.g., [".js", ".json", "*.md"])

  • file_size_limit (optional): Maximum total size of response (e.g., "5m")

  • individual_file_size_limit (optional): Skip files larger than this size (e.g., "500k")

  • max_files (optional): Maximum number of files to include (default: 50)

  • include_contents (optional): Whether to include file contents or just list files (default: true)

  • use_regex (optional): Treat exclude/include patterns as regular expressions

3. analyzeRepository

Analyzes a repository, providing statistics and language breakdown.

Parameters:

  • repository: Repository name in owner/repo format (e.g., "skydeckai/mcp-server-aidd")

  • includeFiles (optional): Include file list in analysis (default: false)

4. searchRepository

Searches for files matching specific patterns within a repository.

Parameters:

  • repository: Repository name in owner/repo format (e.g., "skydeckai/mcp-server-aidd")

  • query: Text to search for in filenames (e.g., "function")

  • path (optional): Filter searches to a specific path (e.g., "src")

Available Prompts

The server also includes useful prompt templates to help LLMs interact with repositories:

  1. repositoryOverview: Analyze a repository's purpose and structure

  2. codeExplanation: Explain code from a specific file

  3. codeSearch: Search for patterns in a repository

  4. fileContent: Get content of a specific file

  5. repositoryInfo: Get repository information

  6. repositoryStructure: View repository file structure

  7. branchList: List repository branches

Examples

Retrieving individual file content

{
  "name": "get_individual_file_content",
  "parameters": {
    "owner": "skydeckai",
    "repo": "mcp-server-aidd",
    "path": "README.md"
  }
}

Getting repository contents with filtering

{
  "name": "get_entire_repo_contents",
  "parameters": {
    "owner": "skydeckai",
    "repo": "mcp-server-aidd",
    "include_patterns": ["*.js", "*.json", "*.md"],
    "exclude_patterns": ["*.test.js", "node_modules/*"],
    "max_files": 30
  }
}

Analyzing a repository

{
  "name": "analyzeRepository",
  "parameters": {
    "repository": "skydeckai/mcp-server-aidd",
    "includeFiles": true
  }
}

Limitations

  • Currently only works with public GitHub repositories

  • No support for private repositories or authentication

  • Subject to GitHub API rate limits (60 requests per hour for unauthenticated requests)

License

Apache License 2.0. See LICENSE file for details.

Copyright © 2025 SkyDeck AI Inc.

Available Tools

4 tools
analyzeRepositoryD
ParametersJSON Schema
NameRequiredDescriptionDefault
repositoryYesRepository name in owner/repo format (e.g., "skydeckai/mcp-server-aidd")
includeFilesNoInclude file list in analysis (default: false)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entire_repo_contentsD
ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (e.g., "skydeckai")
repoYesRepository name (e.g., "mcp-server-aidd")
exclude_patternsNoOptional: Patterns to exclude (e.g. ["*.test.js", "node_modules/*"])
include_patternsNoOptional: Only include files matching these patterns (e.g. ["*.js", "*.json", "*.md"])
file_size_limitNoOptional: Maximum total size of response (e.g. "5m")
individual_file_size_limitNoOptional: Skip files larger than this size (e.g. "500k")
max_filesNoOptional: Maximum number of files to include (default: 50)
include_contentsNoOptional: Whether to include file contents or just list files (default: true)
use_regexNoOptional: Treat exclude/include patterns as regular expressions

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_individual_file_contentD
ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesRepository owner (e.g., "skydeckai")
repoYesRepository name (e.g., "mcp-server-aidd")
pathYesPath to the file within the repository (e.g., "README.md")
branchNoOptional: Branch name (defaults to the default branch)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

searchRepositoryD
ParametersJSON Schema
NameRequiredDescriptionDefault
repositoryYesRepository name in owner/repo format (e.g., "skydeckai/mcp-server-aidd")
queryYesText to search for in filenames (e.g., "function")
pathNoOptional: Filter searches to a specific path (e.g., "src")

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • First observedanalyzeRepository
    • First observedget_entire_repo_contents
    • First observedget_individual_file_content
    • First observedsearchRepository

TDQS

D1.8/5.0
Disambiguation4/5

The tool names indicate distinct actions: 'analyzeRepository' suggests analysis, 'get_entire_repo_contents' and 'get_individual_file_content' differentiate by scope, and 'searchRepository' is for searching. Without descriptions, the names are clear enough to avoid major confusion.

Naming Consistency2/5

The naming convention is inconsistent, mixing camelCase ('analyzeRepository', 'searchRepository') with snake_case ('get_entire_repo_contents', 'get_individual_file_content'). This lack of a consistent pattern makes it harder for agents to predict names.

Tool Count5/5

With 4 tools, the set is well-scoped for a 'GitHub Reader' server. Each tool serves a distinct purpose (analysis, full content retrieval, single file retrieval, search) without being overly minimal or bloated.

Completeness3/5

The tools cover core reading operations (full content, file content, search), but notable gaps exist, such as retrieving repository metadata (e.g., description, stars) or listing branches. The surface is functional but not comprehensive.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

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/skydeckai/mcp-github-reader-prod'

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