The Origin and Purpose of GSOC
GSOC, namely Google Summer of Code, is a global initiative launched by Google. It aims to encourage students to participate in the development of open-source software projects. Here is a detailed introduction:
- GSOC started in 2005. Initially, it was a project established by Google to promote the development of the open-source community and encourage more students to engage in the development and innovation of open-source software. Through this project, Google hopes to inject fresh blood into the open-source world, enabling students to enhance their technical capabilities through practice, and at the same time, bring new ideas and contributions to open-source projects.
Task: An AI Agent for Monitoring Information Interaction Based on the MCP Protocol
Website: https://hertzbeat.apache.org/
Github: http://github.com/apache/hertzbeat/
Background
Apache HertzBeat is an open-source real-time monitoring tool that supports a wide range of monitoring targets, including web services, databases, middleware, and more. It is characterized by high performance, scalability, and security.
With the continuous advancement of artificial intelligence (AI) technology, integrating AI with monitoring systems can significantly improve their usability and interactivity. By developing an AI agent based on the Model Context Protocol (MCP), we aim to enable conversational interaction for querying monitoring information, adding new monitoring tasks, and retrieving monitoring metrics. This will provide a more user-friendly and intelligent monitoring management experience.
Functional Requirements
Query Monitoring and Alarm Information
Monitoring Item Status Monitoring Be able to obtain the status of monitoring items through natural language; For example: Which monitoring items are currently abnormal? It should inform the user which monitoring items are abnormal and the time when the abnormality occurred.
Search for Metric Data Be able to obtain metric data through natural language; For example: a. Which servers currently have a CPU usage rate exceeding 80%? b. Display the CPU usage of server 192.168.1.1 in the last day in the form of a chart.
Alarm Data Obtain alarm data through natural language; For example: Which monitoring alarms have been more frequent recently?
Add New Monitoring Tasks
- Add New Monitoring Targets Be able to add new monitoring targets through natural language; For example: a. I want to monitor the response time of the web service. b. Please help me add monitoring for the database connection pool.
- Configure Alarm Thresholds Be able to configure alarm thresholds through natural language; For example: a. Trigger an alarm when the web service response time exceeds 5 seconds. b. Send a notification when the database connection pool usage rate exceeds 90%.
Considerations During Design
- There are many data sources supported by the underlying storage. How to monitor? For example: Natural language -> SQL -> Query data source -> Large language model.
- Compatibility with large language models, supporting commonly used models.
- The usability of the solution, making it convenient for users to use.
Requirement Analysis
- Apache HertzBeat: As the core backend of the monitoring system, it provides data collection, storage, and management functions.
- MCP Protocol: An open protocol that enables seamless integration between large language model (LLM) applications and external data sources and tools.
- Front-end Interaction: Develop a user-friendly interface that supports voice or text input and displays monitoring information and interaction results.
Recommended Skills
- Java + TypeScript: Apache HertzBeat is developed based on this technology stack. Therefore, mastering these technologies is crucial for integrating with HertzBeat.
- SpringAi: It is recommended to use SpringAi to build the AI agent.
- LLM + MCP: You need to understand large language models (LLM) and the MCP protocol. SpringAi seems to support the MCP protocol, or you can consider using the mcp-sdk directly.
Scale
- Difficulty: Difficult
- Project Scale: Approximately 350 hours
Mentors
If you are interested, you can send an email to the mentors, including your solution and ideas.
- Gong Chao:
gongchao@apache.org
- Zhang Shenghang:
shenghang@apache.org
How Can I Increase My Chances of Being Selected as a GSoC Contributor?
- After the list of organizations is announced, please visit the program website to view these organizations and find several organizations that interest you.
- Carefully read the "Project Ideas" list of these organizations.
- If you see an idea that interests you, please contact the organization through the organization's preferred communication method (listed on the organization's page on the GSoC website).
- Communicate with the mentors and community members to determine whether this project idea is something you are willing to implement during the program. If what you do is not something you are interested in, it will not be a pleasant summer vacation for you and your mentor.
- During the communication with the mentors and other members of the organization's community, you have obtained some information. Use this information to write a proposal.
- Please submit the proposal as early as possible so that the mentors have time to provide feedback. You need to have time to make revisions based on their feedback and resubmit it before the deadline. Do not wait until the last minute to submit the proposal!
2025 Google Summer of Code Timeline
All times are Coordinated Universal Time (UTC)
- January 27th - 18:00: Mentor organizations can start submitting applications to Google.
- February 11th - 18:00: Deadline for mentor organization applications.
- February 11th to 26th: Google program administrators review organization applications.
- February 27th - 18:00: Release the list of approved mentor organizations.
- February 27th to March 24th: Potential GSoC contributors discuss proposal ideas with the mentoring organizations.
- March 24th - 18:00: Start accepting applications from Google Summer of Code contributors (i.e., GSoC contributors).
- April 8th - 18:00: Deadline for GSoC contributor applications.
- April 29th - 18:00: Organization administrators need to determine the ranking of GSoC contributor proposals.
- May 8th - 18:00: Announce the accepted GSoC contributor projects.
- May 8th to June 1st: Community interaction period. Participating Google Summer of Code contributors (GSoC contributors) get to know the mentors, read the documentation, learn relevant information, and prepare for starting the project work.
- June 2nd: Start coding officially!
- July 14th - 18:00: Mentors and Google Summer of Code contributors can start submitting mid-term evaluations (applicable to standard 12-week programming projects).
- July 18th - 18:00: Deadline for mid-term evaluations (standard coding cycle).
- July 14th to August 25th: Working stage. Under the guidance of the mentors, GSoC contributors carry out the projects.
- August 25th to September 1st - 18:00: Final week. GSoC contributors submit the final results and the final mentor evaluations (standard coding cycle).
- September 1st to 8th - 18:00: Mentors submit the final evaluation results of GSoC contributors (standard coding cycle).
- September 1st to November 9th: GSoC contributors with an extended schedule can continue coding.
- November 10th - 18:00: Deadline for all Google Summer of Code contributors to submit the final results and final evaluations.
- November 17th - 18:00: Final date for mentors to submit evaluations for GSoC contributor projects with an extended deadline.