Mcp Drive

Google Drive integration with file operations, folder navigation, search, and sharing

LLM Mart 2 views 6 listing impressions
Transport
Not stated
Package
—
Registry id
io.github.mcp-z/mcp-drive

No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.

MCP server for Google Drive integration with file operations, folder navigation, search capabilities, and sharing management

Requires Node.js >=20. The examples use npx, included with npm, to run this server and @mcp-z/cli.

Common uses

  • Search files and folders
  • Browse folder contents and paths
  • Move, create, and trash Drive items
  • Upload files from a local path or URL

Transports

MCP supports stdio and HTTP.

Both the 2025 and 2026-07-28 protocol revisions are served, over either transport, from the same server. Your client negotiates whichever it speaks. A 2025 client keeps working with no change, and support for it is not being dropped. The 2026-07-28 revision is stateless, so a client speaking it sends no initialize handshake and carries no session id.

Stdio

{
  "mcpServers": {
    "drive": {
      "command": "npx",
      "args": ["-y", "@mcp-z/mcp-drive"]
    }
  }
}

HTTP

{
  "mcpServers": {
    "drive": {
      "type": "http",
      "url": "http://localhost:9001/mcp",
      "start": {
        "command": "npx",
        "args": ["-y", "@mcp-z/mcp-drive", "--port=9001"]
      }
    }
  }
}

start is an extension used by npx @mcp-z/cli up to launch HTTP servers for you.

Create a Google Cloud app

  1. Go to Google Cloud Console.
  2. Create or select a project.
  3. Enable the Google Drive API.
  4. Create OAuth 2.0 credentials (Desktop app).
  5. Copy the Client ID and Client Secret.
  6. Select your MCP transport (stdio for local and http for remote) and platform
  • For stdio, choose "APIs & Services", + Create client, "Desktop app" type
  • For http, choose "APIs & Services", + Create client, "Web application" type, add your URL (default is http://localhost:3000/oauth/callback based on the --port or PORT)
  • For local hosting, add "http://127.0.0.1" for Ephemeral redirect URL
  1. Enable OAuth2 scopes: openid https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/drive
  2. Add test emails

OAuth modes

Configure via environment variables or the env block in .mcp.json. The configuration reference below lists every option.

Loopback OAuth (default)

Environment variables:

GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret

Example (stdio) - Create .mcp.json:

{
  "mcpServers": {
    "drive": {
      "command": "npx",
      "args": ["-y", "@mcp-z/mcp-drive"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id"
      }
    }
  }
}

Example (http) - Create .mcp.json:

{
  "mcpServers": {
    "drive": {
      "type": "http",
      "url": "http://localhost:3000/mcp",
      "start": {
        "command": "npx",
        "args": ["-y", "@mcp-z/mcp-drive", "--port=3000"],
        "env": {
          "GOOGLE_CLIENT_ID": "your-client-id"
        }
      }
    }
  }
}

Local (default): omit REDIRECT_URI → ephemeral loopback. Cloud: set REDIRECT_URI to your public /oauth/callback and expose the service publicly.

Note: the start block is a helper in npx @mcp-z/cli up for starting an HTTP server from your .mcp.json. See @mcp-z/cli for details.

Service account

Environment variables:

AUTH_MODE=service-account
GOOGLE_SERVICE_ACCOUNT_KEY_FILE=/path/to/service-account.json

Example:

{
  "mcpServers": {
    "drive": {
      "command": "npx",
      "args": ["-y", "@mcp-z/mcp-drive", "--auth=service-account"],
      "env": {
        "GOOGLE_SERVICE_ACCOUNT_KEY_FILE": "/path/to/service-account.json"
      }
    }
  }
}

DCR (self-hosted)

HTTP only. Requires a public base URL.

From the project's README.