GitHub Mapper MCP Server
GitHub Mapper MCP 服务器
GitHub Mapper 是一个模型上下文协议 (MCP) 服务器,提供用于映射和分析 GitHub 存储库的工具。它允许用户设置 GitHub 个人访问令牌并检索指定存储库的详细信息,包括其结构和摘要统计信息。
特征
设置 GitHub 个人访问令牌进行身份验证
映射并分析 GitHub 存储库结构
检索存储库摘要信息(星标、分支、语言等)
提供详细的存储库文件结构
Related MCP server: GitHub MCP Server
先决条件
Node.js(建议使用 v18.0.0 或更高版本)
npm(Node.js 附带)
具有适当权限的 GitHub 个人访问令牌
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 GitHub Mapper:
npx -y @smithery/cli install github-mapper-mcp-server --client claude手动安装
克隆存储库:
git clone https://github.com/your-username/github-mapper-mcp-server.git cd github-mapper-mcp-server安装依赖项:
npm install构建项目:
npm run build
用法
启动服务器:
npm start服务器将在 stdio 上运行,从而允许它与 MCP 客户端进行通信。
可用工具
1. set-github-token
设置 GitHub 个人访问令牌进行身份验证。
在此创建您的个人访问令牌。选择“令牌(经典)”。范围:repo
例如,在您的 IDE 或 Claude Desktop 中:
Please set-github-token to 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2. map-github-repo
映射 GitHub 存储库结构并提供摘要信息。
例子:
Please map-github-repo https://github.com/dazeb/MCP-Github-Mapper在 Cline 或 Roo-Cline MCP 客户端中手动安装:
{
"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
}图片
运行评估
evals 包会加载一个 mcp 客户端,然后运行 index.ts 文件,因此测试之间无需重新构建。您可以通过在 npx 命令前添加前缀来加载环境变量。完整文档可在此处找到。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts错误处理
如果未设置 GitHub 令牌,您将收到一条错误消息,提示您先使用
set-github-token工具。无效的 GitHub URL 或存储库路径将导致相应的错误消息。
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
执照
该项目已获得 MIT 许可。
Available Tools
2 toolsmap-github-repoC
Map a GitHub repository structure and provide summary information
| Name | Required | Description | Default |
|---|---|---|---|
| repoUrl | Yes | URL of the GitHub repository (e.g., https://github.com/username/repo) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | GitHub Personal Access Token |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v1.0.0- First observed
map-github-repo - First observed
set-github-token
TDQS
Scored across 2 tools
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.
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.
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.
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
Related MCP Connectors
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Manage repositories, users, releases, and automate GitHub workflows
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Large Language Models to analyze GitHub repositories in real-time, providing tools for retrieving repository information, analyzing issues, accessing documentation, and visualizing activity.-
- AlicenseNot gradedqualityDmaintenanceEnables 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.8 npmApache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze GitHub repositories, including fetching repository details, searching, and retrieving README content.442 npm2ISC