-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
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:
- 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"
}
}
}
}
- 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.
matsfinsas, monkeydaichan, briandonahue, dandeliongold, a777med and 4 more
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working