Skip to content

GitHub MCP Server missing some tools from the listed featuresΒ #541

@vudayani

Description

@vudayani

Describe the bug
The GitHub MCP server does not return all the 26 tools as listed in the README file here. When integrating the server with Claude for Desktop or a Spring AI MCP client, only 17 tools are available.

To Reproduce
Steps to reproduce the behavior:

  1. On Claude for Desktop
    Update the Claude config to use the latest release 2025.1.17:
{
    "mcpServers": {
        "github": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-github@2025.1.17"
            ],
            "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN"
            }
        }
    }
}
  1. Test the same with Spring AI MCP client code:
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    CommandLineRunner getRepositoryOperations(ChatClient.Builder chatClientBuilder, McpSyncClient githubMcpClient,
            ConfigurableApplicationContext context) {
        return args -> {
            var chatClient = chatClientBuilder
                    .defaultFunctions(githubMcpClient.listTools(null).tools().stream().map(tool -> {
                        System.out.println(tool.name() + " : " + tool.description());
                        return new McpFunctionCallback(githubMcpClient, tool);
                    }).toArray(McpFunctionCallback[]::new)).build();

            context.close();
        };
    }

    @Bean(destroyMethod = "close")
    McpSyncClient githubMcpClient() {
        var githubMcpClient = ServerParameters.builder("npx")
                .args("-y", "@modelcontextprotocol/server-github@2025.1.17")
                .addEnvVar("GITHUB_PERSONAL_ACCESS_TOKEN", System.getenv("GITHUB_PERSONAL_ACCESS_TOKEN")).build();

        var mcpClient = McpClient.using(new StdioClientTransport(githubMcpClient))
                .requestTimeout(Duration.ofSeconds(10)).sync();

        var init = mcpClient.initialize();
        System.out.println("MCP Initialized: " + init);

        return mcpClient;
    }
}

The tools currently available are:

  • add_issue_comment: Add a comment to an existing issue
  • create_branch: Create a new branch in a GitHub repository
  • create_issue: Create a new issue in a GitHub repository
  • create_or_update_file: Create or update a single file in a GitHub repository
  • create_pull_request: Create a new pull request in a GitHub repository
  • create_repository: Create a new GitHub repository in your account
  • fork_repository: Fork a GitHub repository to your account or specified organization
  • get_file_contents: Get the contents of a file or directory from a GitHub repository
  • get_issue: Get details of a specific issue in a GitHub repository
  • list_commits: Get list of commits of a branch in a GitHub repository
  • list_issues: List issues in a GitHub repository with filtering options
  • push_files: Push multiple files to a GitHub repository in a single commit
  • search_code: Search for code across GitHub repositories
  • search_issues: Search for issues and pull requests across GitHub repositories
  • search_repositories: Search for GitHub repositories
  • search_users: Search for users on GitHub
  • update_issue: Update an existing issue in a GitHub repository

The tools list_pull_requests, get_pull_request_status, get_pull_request_comments, get_pull_request_reviews, get_pull_request_files are missing.

Expected behavior
The server should provide all 26 tools listed in the README.
It would be nice to have all tools available. It would greatly enhance the server's usability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions