Skip to main content
Glama
dazeb

GitHub Mapper MCP Server

by dazeb

GitHub Mapper MCP Server

GitHub Mapper is a Model Context Protocol (MCP) server that provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.

Features

  • Set GitHub Personal Access Token for authentication

  • Map and analyze GitHub repository structure

  • Retrieve repository summary information (stars, forks, language, etc.)

  • Provide a detailed repository file structure

Related MCP server: GitHub MCP Server

Prerequisites

  • Node.js (v18.0.0 or later recommended)

  • npm (comes with Node.js)

  • A GitHub Personal Access Token with appropriate permissions

Installation

Installing via Smithery

To install GitHub Mapper for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install github-mapper-mcp-server --client claude

Manual Installation

  1. Clone the repository:

    git clone https://github.com/your-username/github-mapper-mcp-server.git
    cd github-mapper-mcp-server
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Usage

  1. Start the server:

    npm start
  2. The server will run on stdio, allowing it to communicate with MCP clients.

Available Tools

1. set-github-token

Sets the GitHub Personal Access Token for authentication.

  • Create your Personal Access Token here. Choose Tokens (classic). Scopes: repo image

Example, in your IDE or Claude Desktop:

Please set-github-token to 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

2. map-github-repo

Maps a GitHub repository structure and provides summary information.

Example:

Please map-github-repo https://github.com/dazeb/MCP-Github-Mapper

Manual install in Cline or Roo-Cline MCP Client:

{
  "mcpServers": {
    "github-mapper": {
      "command": "node",
      "args": ["/home/user/Documents/Cline/MCP/github-mapper/build/index.js"]
    }
  }
}

Example Output

Repository Analysis Summary:

Name: Hello-World
Description: My first repository on GitHub!
Stars: 1234
Forks: 567
Primary Language: JavaScript
Created: 2023-01-01
Last Updated: 2023-06-15

Repository Structure:

{
  "src": {
    "components": {
      "Header.js": null,
      "Footer.js": null
    },
    "pages": {
      "index.js": null,
      "about.js": null
    },
    "styles": {
      "global.css": null
    }
  },
  "public": {
    "images": {
      "logo.png": null
    },
    "favicon.ico": null
  },
  "package.json": null,
  "README.md": null
}

Images

image

Running evals

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

Error Handling

  • If the GitHub token is not set, you'll receive an error message prompting you to use the set-github-token tool first.

  • Invalid GitHub URLs or repository paths will result in appropriate error messages.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Available Tools

2 tools
map-github-repoC

Map a GitHub repository structure and provide summary information

ParametersJSON Schema
NameRequiredDescriptionDefault
repoUrlYesURL of the GitHub repository (e.g., https://github.com/username/repo)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Map' implies a read operation, it doesn't specify what 'summary information' includes, whether authentication is needed, rate limits, error conditions, or how the mapping is performed (e.g., depth, file types included). The description is too vague about the tool's behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a tool with one parameter and gets straight to the point without unnecessary elaboration.

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

Completeness2/5

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

Given no annotations, no output schema, and a description that lacks behavioral details, this is incomplete for a tool that presumably analyzes repository structure. The description doesn't explain what 'summary information' means, how results are returned, or any constraints. For a tool that likely interacts with external APIs, this leaves significant gaps.

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

Parameters3/5

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 the single parameter 'repoUrl' with its format. The description adds no additional parameter semantics beyond what the schema provides (no format examples, validation rules, or usage context). Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Map') and resource ('GitHub repository structure'), providing a specific verb+resource combination. However, it doesn't differentiate from the sibling tool 'set-github-token' (which appears to be for authentication configuration rather than repository analysis), so it doesn't fully distinguish from alternatives.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like authentication), comparison to other repository analysis tools, or limitations. The sibling tool 'set-github-token' suggests authentication might be required, but this isn't addressed.

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

set-github-tokenC

Set the GitHub Personal Access Token for authentication

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesGitHub Personal Access Token

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the authentication purpose without detailing behavioral traits. It doesn't disclose if this is a one-time setup, if it persists across sessions, what permissions the token needs, or potential side effects like overwriting existing tokens.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

For an authentication tool with no annotations and no output schema, the description is insufficient. It doesn't explain the authentication mechanism, how the token is stored/used, error handling, or what happens after setting the token, leaving critical context gaps.

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

Parameters3/5

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 the 'token' parameter fully. The description adds no additional meaning beyond what's in the schema, such as token format requirements or scopes needed, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the action ('Set') and the resource ('GitHub Personal Access Token for authentication'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'map-github-repo' or explain how this token setting relates to other GitHub operations, keeping it from a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context. It doesn't mention if this is for initial setup, token updates, or how it interacts with the sibling 'map-github-repo' tool, leaving usage unclear.

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. 2 tool updatesv1.0.0
    • First observedmap-github-repo
    • First observedset-github-token

TDQS

C2.9/5.0
Disambiguation5/5

The two tools have completely distinct purposes: one maps repository structures, while the other handles authentication. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool based on the task.

Naming Consistency3/5

The tools use a mixed naming convention: 'map-github-repo' follows a verb-noun pattern with hyphens, while 'set-github-token' uses a verb-noun pattern but with a different structure. This inconsistency in style (hyphenated vs. standard verb_noun) reduces predictability, though both are readable.

Tool Count2/5

With only 2 tools, the server feels thin for a GitHub-related domain, which typically involves operations like creating, updating, or deleting repositories, issues, or pull requests. The limited scope may hinder comprehensive agent workflows, as core functionalities are missing.

Completeness2/5

The server covers authentication and repository mapping but lacks essential GitHub operations such as CRUD for repositories, issues, or pull requests. This creates significant gaps that will likely cause agent failures when attempting common tasks like creating an issue or fetching repository details beyond structure.

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to analyze GitHub repository structures and read file contents with features like directory traversal, file type analysis, syntax highlighting, and code pattern detection. Supports both public and private repositories through GitHub API integration.
    17
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables access to GitHub repositories and data through the GitHub API. Supports retrieving repositories, issues, pull requests, and searching code across GitHub with authentication via personal access tokens.
    -

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/dazeb/MCP-Github-Mapper'

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