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.
- 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
- Node.js (v18.0.0 or later recommended)
- npm (comes with Node.js)
- A GitHub Personal Access Token with appropriate permissions
-
Clone the repository:
git clone https://github.com/your-username/github-mapper-mcp-server.git cd github-mapper-mcp-server
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Start the server:
npm start
-
The server will run on stdio, allowing it to communicate with MCP clients.
Sets the GitHub Personal Access Token for authentication.
- Create your Personal Access Token here. Choose Tokens (classic). Scopes: repo
Example, in your IDE or Claude Desktop:
Please set-github-token to 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
Maps a GitHub repository structure and provides summary information.
Example:
Please map-github-repo https://github.com/dazeb/MCP-Github-Mapper
{
"mcpServers": {
"github-mapper": {
"command": "node",
"args": ["/home/user/Documents/Cline/MCP/github-mapper/build/index.js"]
}
}
}
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
}
- 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.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.