X

mcp-github-server-plus

Information

GitHub MCP Server Plus MCP 服务器用于 GitHub API,支持文件操作、仓库管理、搜索功能等。 功能 自动分支创建:在创建/更新文件或推送更改时,如果分支不存在,则会自动创建 全面的错误处理:针对常见问题提供清晰的错误信息 Git 历史记录保留:操作过程中不会强制推送,从而保持正确的 Git 历史记录 批量操作:支持单个文件和多个文件的操作,可以使用内容或文件路径 高级搜索:支持代码、问题/PR 和用户的搜索 工具 create_or_update_file Create or update a single file in a repository Inputs: owner (string): Repository owner (username or organization) repo (string): Repository name path (string): Path where to create/update the file content (string): Content of the file message (string): Commit message branch (string): Branch to create/update the file in sha (optional string): SHA of file being replaced (for updates) Returns: File content and commit details push_files_content Push multiple files with direct content in a single commit Inputs: owner (string): Repository owner repo (string): Repository name branch (string): Branch to push to files (array): Files to push, each with path and content message (string): Commit message Returns: Updated branch reference push_files_from_path Push multiple files from filesystem paths in a single commit Inputs: owner (string): Repository owner repo (string): Repository name branch (string): Branch to push to files (array): Files to push, each with: path (string): Target path in the repository filepath (string): Source filesystem path to read from message (string): Commit message Returns: Updated branch reference search_repositories Search for GitHub repositories Inputs: query (string): Search query page (optional number): Page number for pagination perPage (optional number): Results per page (max 100) Returns: Repository search results create_repository Create a new GitHub repository Inputs: name (string): Repository name description (optional string): Repository description private (optional boolean): Whether repo should be private autoInit (optional boolean): Initialize with README Returns: Created repository details get_file_contents Get contents of a file or directory Inputs: owner (string): Repository owner repo (string): Repository name path (string): Path to file/directory branch (optional string): Branch to get contents from Returns: File/directory contents create_issue Create a new issue Inputs: owner (string): Repository owner repo (string): Repository name title (string): Issue title body (optional string): Issue description assignees (optional string[]): Usernames to assign labels (optional string[]): Labels to add milestone (optional number): Milestone number Returns: Created issue details create_pull_request Create a new pull request Inputs: owner (string): Repository owner repo (string): Repository name title (string): PR title body (optional string): PR description head (string): Branch containing changes base (string): Branch to merge into draft (optional boolean): Create as draft PR maintainer_can_modify (optional boolean): Allow maintainer edits Returns: Created pull request details fork_repository Fork a repository Inputs: owner (string): Repository owner repo (string): Repository name organization (optional string): Organization to fork to Returns: Forked repository details create_branch Create a new branch Inputs: owner (string): Repository owner repo (string): Repository name branch (string): Name for new branch from_branch (optional string): Source branch (defaults to repo default) Returns: Created branch reference list_issues List and filter repository issues Inputs: owner (string): Repository owner repo (string): Repository name state (optional string): Filter by state ('open', 'closed', 'all') labels (optional string[]): Filter by labels sort (optional string): Sort by ('created', 'updated', 'comments') direction (optional string): Sort direction ('asc', 'desc') since (optional string): Filter by date (ISO 8601 timestamp) page (optional number): Page number per_page (optional number): Results per page Returns: Array of issue details update_issue Update an existing issue Inputs: owner (string): Repository owner repo (string): Repository name issue_number (number): Issue number to update title (optional string): New title body (optional string): New description state (optional string): New state ('open' or 'closed') labels (optional string[]): New labels assignees (optional string[]): New assignees milestone (optional number): New milestone number Returns: Updated issue details add_issue_comment Add a comment to an issue Inputs: owner (string): Repository owner repo (string): Repository name issue_number (number): Issue number to comment on body (string): Comment text Returns: Created comment details search_code Search for code across GitHub repositories Inputs: q (string): Search query using GitHub code search syntax sort (optional string): Sort field ('indexed' only) order (optional string): Sort order ('asc' or 'desc') per_page (optional number): Results per page (max 100) page (optional number): Page number Returns: Code search results with repository context search_issues Search for issues and pull requests Inputs: q (string): Search query using GitHub issues search syntax sort (optional string): Sort field (comments, reactions, created, etc.) order (optional string): Sort order ('asc' or 'desc') per_page (optional number): Results per page (max 100) page (optional number): Page number Returns: Issue and pull request search results search_users Search for GitHub users Inputs: q (string): Search query using GitHub users search syntax sort (optional string): Sort field (followers, repositories, joined) order (optional string): Sort order ('asc' or 'desc') per_page (optional number): Results per page (max 100) page (optional number): Page number Returns: User search results list_commits Gets commits of a branch in a repository Inputs: owner (string): Repository owner repo (string): Repository name page (optional string): page number per_page (optional string): number of record per page sha (optional string): branch name Returns: List of commits get_issue Gets the contents of an issue within a repository Inputs: owner (string): Repository owner repo (string): Repository name issue_number (number): Issue number to retrieve Returns: GitHub Issue object & details get_pull_request Get details of a specific pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number Returns: Pull request details including diff and review status list_pull_requests List and filter repository pull requests Inputs: owner (string): Repository owner repo (string): Repository name state (optional string): Filter by state ('open', 'closed', 'all') head (optional string): Filter by head user/org and branch base (optional string): Filter by base branch sort (optional string): Sort by ('created', 'updated', 'popularity', 'long-running') direction (optional string): Sort direction ('asc', 'desc') per_page (optional number): Results per page (max 100) page (optional number): Page number Returns: Array of pull request details create_pull_request_review Create a review on a pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number body (string): Review comment text event (string): Review action ('APPROVE', 'REQUEST_CHANGES', 'COMMENT') commit_id (optional string): SHA of commit to review comments (optional array): Line-specific comments, each with: path (string): File path position (number): Line position in diff body (string): Comment text Returns: Created review details merge_pull_request Merge a pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number commit_title (optional string): Title for merge commit commit_message (optional string): Extra detail for merge commit merge_method (optional string): Merge method ('merge', 'squash', 'rebase') Returns: Merge result details get_pull_request_files Get the list of files changed in a pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number Returns: Array of changed files with patch and status details get_pull_request_status Get the combined status of all status checks for a pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number Returns: Combined status check results and individual check details update_pull_request_branch Update a pull request branch with the latest changes from the base branch Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number expected_head_sha (optional string): The expected SHA of the pull request's HEAD ref Returns: Success message when branch is updated get_pull_request_comments Get the review comments on a pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number Returns: Array of pull request review comments get_pull_request_reviews Get the reviews on a pull request Inputs: owner (string): Repository owner repo (string): Repository name pull_number (number): Pull request number Returns: Array of pull request reviews 搜索查询语法 代码搜索 language:javascript: 按编程语言搜索 repo:owner/name: 在特定仓库中搜索 path:app/src: 在特定路径中搜索 extension:js: 按文件扩展名搜索 示例: q: "import express" language:typescript path:src/ 问题搜索 is:issue 或 is:pr: 按类型过滤 is:open 或 is:closed: 按状态过滤 label:bug: 按标签搜索 author:username: 按作者搜索 示例: q: "memory leak" is:issue is:open label:bug 用户搜索 type:user 或 type:org: 按账户类型过滤 followers:>1000: 按关注者数量过滤 location:London: 按位置搜索 示例: q: "fullstack developer" location:London followers:>100 有关详细的搜索语法,请参阅 GitHub 的搜索文档。 设置 个人访问令牌 创建一个具有适当权限的 GitHub 个人访问令牌: 前往 个人访问令牌(在 GitHub 设置 > 开发者设置) 选择此令牌可以访问的仓库(公共、全部或选择) 创建一个具有 repo 范围的令牌(“对私有仓库的完全控制”) 或者,如果仅处理公共仓库,则只选择 public_repo 范围 复制生成的令牌 使用 Claude Desktop 要在 Claude Desktop 中使用此功能,请将以下内容添加到您的 claude_desktop_config.json 文件中: Docker \{ "mcpServers": \{ "github": \{ "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "mcp/github" ], "env": \{ "GITHUB_PERSONAL_ACCESS_TOKEN": "" \} \} \} \} NPX \{ "mcpServers": \{ "github": \{ "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": \{ "GITHUB_PERSONAL_ACCESS_TOKEN": "" \} \} \} \} 构建 Docker 构建: docker build -t mcp/github -f src/github/Dockerfile . 许可证 此 MCP 服务器根据 MIT 许可证许可。这意味着您可以在遵守 MIT 许可证条款和条件的前提下自由使用、修改和分发该软件。更多详情,请参见项目存储库中的 LICENSE 文件。

Prompts

Reviews

Tags

Write Your Review

Detailed Ratings

ALL
Correctness
Helpfulness
Interesting
Upload Pictures and Videos

Name
Size
Type
Download
Last Modified
mcp_config_phialsbasement_mcp-github-server-plus_docker_0.json
190.0 B
json
mcp_config_phialsbasement_mcp-github-server-plus_npx_1.json
159.0 B
json
mcp_config_phialsbasement_mcp-github-server-plus_0.json
190.0 B
json
mcp_config_mingzilla_pi-api-mcp-server.json
408.0 B
json
mcp_config_phialsbasement_mcp-github-server-plus_1.json
159.0 B
json
mcp_config_phialsbasement_mcp-webresearch-stealthified.json
102.0 B
json
  • Community

Add Discussion

Upload Pictures and Videos