Refactor Google Drive Server: Transition to Tool-Based Architecture with Enhanced File Handling #1353
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.
Description
This PR transitions the server from a resource-based architecture to a tool-based architecture. It introduces new tools for interacting with Google Drive, improves error handling, and adds support for file downloads to a configurable directory.
Server Details
example-servers/gdrive
)Motivation and Context
The changes simplify the server's architecture by focusing on tools rather than resources. This makes the server more modular, user-friendly, and aligned with its intended use cases. Additionally, the introduction of a configurable download directory enhances flexibility.
How Has This Been Tested?
The changes have been tested with an LLM client to ensure the following scenarios work as expected:
Breaking Changes
Yes, this change removes the
ListResourcesRequestSchema
andReadResourceRequestSchema
handlers. Users will need to update their MCP client configurations to use the new tools (gdrive_list_all
,gdrive_search
, andgdrive_read_file
).Types of changes
Checklist
Additional context
dotenv
package to manage environment variables.GDRIVE_DOWNLOAD_DIRECTORY
environment variable for specifying the download directory.