christo707/gmail-mcp-java-server
If you are the rightful owner of gmail-mcp-java-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Gmail MCP Server is a Spring Boot server for interacting with Gmail using the Model Context Protocol.
Gmail MCP Server
This project is a Spring Boot MCP (Model Context Protocol) server for Gmail. It provides various tools for interacting with Gmail through the GMailer class. Additionally, it includes a client, ClientStdio, to test the MCP server functionality.
Features
-
GMailer Tools:
trashEmail: Moves an email to the trash given its ID.markEmailAsRead: Marks an email as read given its ID.sendEmail: Sends an email to a specified recipient.getUnreadMessages: Retrieves unread messages.readEmail: Reads an email given its ID.
-
ClientStdio: A client to test the MCP server functionality using standard I/O.
Prerequisites
- Java 17 or higher
- Maven
- Gmail API credentials
Setup
-
Clone the repository:
git clone <repository-url> cd <repository-directory> -
Configure Gmail API credentials:
- Create a new Google Cloud project
- Enable the Gmail API
- Configure an OAuth consent screen
- Select "external". However, we will not publish the app.
- Add your personal email address as a "Test user".
- Add OAuth scope
https://www.googleapis.com/auth/gmail/modify - Create an OAuth Client ID for application type "Desktop App"
- Download the JSON file of your client's OAuth keys
- Rename the key file to
credentials.jsonand save it to your local machine in a secure location. Take note of the location. - Place your
credentials.jsonfile in thesrc/main/resourcesdirectory.
-
Build the project:
mvn clean install
Running the MCP Server
To start the MCP server, run the following command:
mvn spring-boot:run
Testing with ClientStdio
The ClientStdio class can be used to test the MCP server functionality. It interacts with the server using standard I/O.
Build the project first using the command:
mvn clean install -DskipTests
Then run the ClientStdio class.
License
This project is licensed under the MIT License. See the LICENSE file for details.