Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
vudayani opened this issue Jan 17, 2025 · 0 comments
Open

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

vudayani opened this issue Jan 17, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@vudayani
Copy link

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.

@vudayani vudayani added the bug Something isn't working label Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant