Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mcp gdrive #621

Merged
merged 11 commits into from
Jan 17, 2025
Merged

mcp gdrive #621

merged 11 commits into from
Jan 17, 2025

Conversation

kalvinnchau
Copy link
Collaborator

add rust google-drive mcp server

Uses https://docs.rs/google-drive3/6.0.0+20240618/google_drive3/index.html to hit the google api.

Implements resources/list, resources/read, and has two tool calls: search and read.

Inspired heavily by https://github.com/modelcontextprotocol/servers/tree/main/src/gdrive.

Some differences the upstream one:

  • search only searches the name of the things in google drive now
  • we order the results by viewedByMeTime desc
  • there is a read tool
  • envvar changes prefixes are GOOGLE_DRIVE_
  • attempts a localhost browser opening for the oauth authentication

Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@@ -34,6 +34,10 @@ chrono = { version = "0.4.38", features = ["serde"] }
dirs = "5.0.1"
tempfile = "3.8"
include_dir = "0.7.4"
google-drive3 = "6.0.0"
webbrowser = "1.0.3"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks like a hefty dependency add?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks to be about 4ish MiB:

# v1.0  sha: 829359584bb23614049078b097b54da830d5aa7e
76964320 Jan 15 21:05 ./target/release/goose
73M Jan 15 21:05 ./target/release/goose


# gdrive-mcp
80313472 Jan 15 21:07 ./target/release/goose
77M Jan 15 21:07 ./target/release/goose

@michaelneale
Copy link
Collaborator

looking nice - what is the size added of those dependencies (as there are quite a few being added)?

Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@kalvinnchau kalvinnchau marked this pull request as ready for review January 16, 2025 19:31
Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

user explicity needs the image data.

## File Format Handling
The server automatically handles different file types:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you test if it can handle these different file types?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think the PNG one is missing which is okay. lets remove it from the instructions here

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah yeah i'll need to add a note that for Google Sheets due to how the export works https://developers.google.com/drive/api/guides/ref-export-formats, it only exports the first sheet

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a note about the limitation and get this in response, when asking it to read a sheet.

0:"Note: This appears to be the first sheet of the spreadsheet, and due to technical limitations, I can only access the first sheet of Google Sheets documents.\n"

Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

Copy link

Desktop App for this PR

The following build is available for testing:

The app is signed and notarized for macOS. After downloading, unzip the file and drag the Goose.app to your Applications folder.

This link is provided by nightly.link and will work even if you're not logged into GitHub.

@kalvinnchau kalvinnchau merged commit c0f7e3e into v1.0 Jan 17, 2025
6 checks passed
@kalvinnchau kalvinnchau deleted the kalvin/mcp-gdrive branch January 17, 2025 00:05
@kalvinnchau kalvinnchau changed the title Kalvin/mcp gdrive mcp gdrive Jan 17, 2025
acekyd pushed a commit that referenced this pull request Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants