Add GitHub MCP Server Integration to Java Spring AI#108
Open
parthloglogn wants to merge 2 commits intospring-projects:mainfrom
Open
Add GitHub MCP Server Integration to Java Spring AI#108parthloglogn wants to merge 2 commits intospring-projects:mainfrom
parthloglogn wants to merge 2 commits intospring-projects:mainfrom
Conversation
Signed-off-by: loglogn <parthloglogn@gmail.com>
Signed-off-by: loglogn <parthloglogn@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces the initial implementation of a Java/Spring-based GitHub MCP server. The changes lay the foundation for a production-ready server that exposes the GitHub API via the MCP protocol, supporting repository, issue, pull request, and search operations through a natural language interface. The implementation includes core configuration, HTTP clients for REST and GraphQL, DTOs for API responses and requests, and basic health endpoints. It also provides comprehensive documentation and environment setup.
Key highlights of the changes:
Documentation and Project Setup
README.mddescribing features, architecture, configuration, client integration, Docker usage, troubleshooting, and package structure..gitignorewith rules for IDEs, build outputs, logs, and environment files.Core Application and Configuration
GithubMcpApplication.javaand enabled configuration properties scanning.GitHubProperties.javato centralize all configuration options (token, host, toolsets, etc.).WebConfig.javato configure the JacksonObjectMapper(snake_case, JavaTime support) and provide aRestTemplatebean.GitHub API Clients
GitHubRestClient.javafor REST API communication, including authentication, error handling, and serialization.GitHubGraphqlClient.javafor GraphQL API access, supporting queries with variables and proper header management.API Structure and DTOs
ApiResponse.javaandPagedResponse.javafor consistent API responses, including error handling and pagination. [1] [2]CreateBranchRequest.javaandCreateFileRequest.javafor repository operations. [1] [2]Health and Utility Endpoints
HealthController.javawith/healthand/pingendpoints for service monitoring.