orca-drive-sa-mcp
ORCA Drive SA MCP
A Model Context Protocol (MCP) server that exposes a Google Drive folder over Streamable HTTP, deployed as a Vercel serverless function.
It reads Google Drive through a Google service account (Drive API v3, read-only scope), so no Apps Script web app is needed.
Tools
Tool | Description |
| List files in a folder (defaults to |
| Search files by name substring |
| Fetch metadata for a single file by ID |
| Read text content of a file (JSON, CSV, TXT, etc.) |
1. Create a Google service account
Go to https://console.cloud.google.com and create (or select) a project.
Enable the Google Drive API (APIs & Services → Library → "Google Drive API").
Create a service account:
APIs & Services → Credentials → Create credentials → Service account.
Give it a name and click Create and continue, then Done.
Generate a key:
Open the service account → Keys → Add key → Create new key → JSON.
Download the JSON key file.
Copy the service account email (e.g.
orca-drive@my-project.iam.gserviceaccount.com).Share the target Drive folder with that email (right-click the folder in Drive → Share → paste the email → Viewer).
Only files/folders shared with the service account are accessible.
2. Configure environment variables
Copy .env.example to .env (local dev) and set the same values in Vercel
(Project > Settings > Environment Variables):
Variable | Description |
| The full JSON key contents (single line) |
| Set to |
| Default folder ID to list |
3. Run locally
npm install
vercel devTest with the MCP Inspector (npx @modelcontextprotocol/inspector) using
transport Streamable HTTP and URL http://localhost:3000/.
4. Deploy to Vercel
vercel --prodYour endpoint will be https://<project>.vercel.app/.
5. Connect a client
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"orca-drive-sa": {
"type": "http",
"url": "https://<project>.vercel.app/"
}
}
}