57 lines
No EOL
1.9 KiB
Markdown
57 lines
No EOL
1.9 KiB
Markdown
# Google Drive server
|
|
|
|
This MCP server integrates with Google Drive to allow listing, reading, and searching over files.
|
|
|
|
## Components
|
|
|
|
### Tools
|
|
|
|
- **search**
|
|
- Search for files in Google Drive
|
|
- Input: `query` (string): Search query
|
|
- Returns file names and MIME types of matching files
|
|
|
|
### Resources
|
|
|
|
The server provides access to Google Drive files:
|
|
|
|
- **Files** (`gdrive:///<file_id>`)
|
|
- Supports all file types
|
|
- Google Workspace files are automatically exported:
|
|
- Docs → Markdown
|
|
- Sheets → CSV
|
|
- Presentations → Plain text
|
|
- Drawings → PNG
|
|
- Other files are provided in their native format
|
|
|
|
## Getting started
|
|
|
|
1. [Create a new Google Cloud project](https://console.cloud.google.com/projectcreate)
|
|
2. [Enable the Google Drive API](https://console.cloud.google.com/workspace-api/products)
|
|
3. [Configure an OAuth consent screen](https://console.cloud.google.com/apis/credentials/consent) ("internal" is fine for testing)
|
|
4. Add OAuth scope `https://www.googleapis.com/auth/drive.readonly`
|
|
5. [Create an OAuth Client ID](https://console.cloud.google.com/apis/credentials/oauthclient) for application type "Desktop App"
|
|
6. Download the JSON file of your client's OAuth keys
|
|
7. Rename the key file to `gcp-oauth.keys.json` and place into the root of this repo (i.e. `servers/gcp-oauth.keys.json`)
|
|
|
|
Make sure to build the server with either `npm run build` or `npm run watch`.
|
|
|
|
### Authentication
|
|
|
|
To authenticate and save credentials:
|
|
|
|
1. Run the server with the `auth` argument: `node ./dist auth`
|
|
2. This will open an authentication flow in your system browser
|
|
3. Complete the authentication process
|
|
4. Credentials will be saved in the root of this repo (i.e. `servers/.gdrive-server-credentials.json`)
|
|
|
|
### Usage with Desktop App
|
|
|
|
To integrate this server with the desktop app, add the following to your app's server configuration:
|
|
|
|
```json
|
|
{
|
|
"mcp-server-gdrive": {
|
|
"command": "mcp-server-gdrive"
|
|
}
|
|
} |