paperclip/packages/shared/src/app-definitions/google-sheets.json

212 lines
7.4 KiB
JSON

{
"schemaVersion": 1,
"slug": "google-sheets",
"name": "Google Sheets",
"description": "Read and update Google Sheets spreadsheets.",
"categories": [
"data",
"productivity"
],
"featured": true,
"branding": {
"logoUrl": "/brands/apps/google-sheets.svg"
},
"urlPatterns": [
"https://sheetsmcp.googleapis.com/*",
"https://docs.google.com/spreadsheets/*",
"https://sheets.google.com/*"
],
"docsUrl": "https://developers.google.com/workspace/sheets/api/reference/mcp",
"setupPrerequisite": {
"title": "Google Developer Preview access required",
"description": "Google must register both the Workspace email used to authorize Paperclip and the Google Cloud project that owns the OAuth client. Registration is limited to those emails and projects; it does not enable unrelated Paperclip customers.",
"steps": [
"Apply with the Workspace email that will sign in and the Google Cloud project that owns the OAuth client.",
"Wait for the Google Group notification and then Google's final project-registration email, usually within a couple of days.",
"Add every additional tester email or Cloud project through Google's member request forms before connecting."
],
"actionLabel": "Apply or verify Developer Preview enrollment",
"actionUrl": "https://developers.google.com/workspace/preview"
},
"redirectConstraints": "https-or-loopback-http",
"methods": [
{
"key": "paperclip-read",
"label": "Connect with Paperclip",
"transport": "mcp_remote",
"auth": "oauth",
"oauthStrategy": "paperclip_cloud_connector",
"connectorProfile": "sheets.read",
"capabilityProfile": {
"key": "read",
"label": "Read only",
"description": "Read spreadsheet values and structure."
},
"grantKinds": [
"user",
"organization"
],
"ownershipModes": [
"platform_shared"
],
"whenToUse": "Use Paperclip-managed OAuth for read-only Sheets access.",
"defaults": {
"serverUrl": "https://sheetsmcp.googleapis.com/mcp/v1",
"scopesHint": [
"https://www.googleapis.com/auth/drive.readonly",
"https://www.googleapis.com/auth/spreadsheets.readonly"
]
},
"guidanceMd": "Connect Google Sheets to read spreadsheets.",
"warnings": [
"Google Workspace MCP servers are in Developer Preview."
],
"riskTier": "S3"
},
{
"key": "customer-read-oauth",
"label": "Use your own Google OAuth app",
"transport": "mcp_remote",
"auth": "oauth",
"capabilityProfile": {
"key": "read",
"label": "Read only",
"description": "Read spreadsheet values and structure."
},
"grantKinds": [
"user",
"organization"
],
"ownershipModes": [
"customer"
],
"whenToUse": "Use a customer-owned OAuth client for read-only Sheets access.",
"defaults": {
"serverUrl": "https://sheetsmcp.googleapis.com/mcp/v1",
"authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
"tokenEndpoint": "https://oauth2.googleapis.com/token",
"metadataUrl": "https://accounts.google.com/.well-known/openid-configuration",
"scopesHint": [
"https://www.googleapis.com/auth/drive.readonly",
"https://www.googleapis.com/auth/spreadsheets.readonly"
],
"oauthAuthorizationParams": {
"access_type": "offline",
"prompt": "consent"
}
},
"guidanceMd": "Enable the Drive, Sheets, and Sheets MCP APIs, then register Paperclip's callback URI.",
"consoleLinks": {
"register": "https://console.cloud.google.com/auth/clients",
"docs": "https://developers.google.com/workspace/guides/configure-mcp-servers"
},
"warnings": [
"Google Workspace MCP servers are in Developer Preview."
],
"riskTier": "S3"
},
{
"key": "paperclip-write",
"label": "Connect with Paperclip",
"transport": "mcp_remote",
"auth": "oauth",
"oauthStrategy": "paperclip_cloud_connector",
"connectorProfile": "sheets.write",
"capabilityProfile": {
"key": "write",
"label": "Read & edit",
"description": "Read and update spreadsheet values, formulas, and dimensions."
},
"grantKinds": [
"user",
"organization"
],
"ownershipModes": [
"platform_shared"
],
"whenToUse": "Use Paperclip-managed OAuth to read and update Sheets.",
"defaults": {
"serverUrl": "https://sheetsmcp.googleapis.com/mcp/v1",
"scopesHint": [
"https://www.googleapis.com/auth/drive.readonly",
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/spreadsheets"
]
},
"guidanceMd": "Connect Google Sheets to read and update spreadsheets.",
"warnings": [
"Spreadsheet updates require approval.",
"Google Workspace MCP servers are in Developer Preview."
],
"riskTier": "S4"
},
{
"key": "customer-write-oauth",
"label": "Use your own Google OAuth app",
"transport": "mcp_remote",
"auth": "oauth",
"capabilityProfile": {
"key": "write",
"label": "Read & edit",
"description": "Read and update spreadsheet values, formulas, and dimensions."
},
"grantKinds": [
"user",
"organization"
],
"ownershipModes": [
"customer"
],
"whenToUse": "Use a customer-owned OAuth client to read and update Sheets.",
"defaults": {
"serverUrl": "https://sheetsmcp.googleapis.com/mcp/v1",
"authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
"tokenEndpoint": "https://oauth2.googleapis.com/token",
"metadataUrl": "https://accounts.google.com/.well-known/openid-configuration",
"scopesHint": [
"https://www.googleapis.com/auth/drive.readonly",
"https://www.googleapis.com/auth/drive.file",
"https://www.googleapis.com/auth/spreadsheets"
],
"oauthAuthorizationParams": {
"access_type": "offline",
"prompt": "consent"
}
},
"guidanceMd": "Enable the Drive, Sheets, and Sheets MCP APIs, then register Paperclip's callback URI.",
"consoleLinks": {
"register": "https://console.cloud.google.com/auth/clients",
"docs": "https://developers.google.com/workspace/guides/configure-mcp-servers"
},
"warnings": [
"Spreadsheet updates require approval.",
"Google Workspace MCP servers are in Developer Preview."
],
"riskTier": "S4"
},
{
"key": "local",
"label": "Use the Paperclip robot account",
"transport": "local_stdio",
"auth": "none",
"capabilityProfile": {
"key": "robot",
"label": "Share selected sheets",
"description": "Share only named spreadsheets with the Paperclip robot account."
},
"ownershipModes": [
"customer"
],
"whenToUse": "Share selected spreadsheets with the Paperclip robot account instead of connecting a Google identity.",
"defaults": {
"templateKey": "paperclip.google-sheets"
},
"guidanceMd": "Share each spreadsheet with the Paperclip robot email, then paste the sheet links.",
"riskTier": "S3",
"requiredResourceFilters": [
"spreadsheet"
]
}
]
}