paperclipai/paperclip · error
Invalid Google Sheets service-account JSON from ${source}.
Error message
Invalid Google Sheets service-account JSON from ${source}. What it means
Error "Invalid Google Sheets service-account JSON from ${source}." thrown in paperclipai/paperclip.
Source
Thrown at packages/google-sheets-mcp-server/src/config.ts:117
if (inlineOrPath.startsWith("{")) {
return { raw: inlineOrPath, source: "inline JSON" };
}
return { raw: readFileSync(inlineOrPath, "utf8"), source: inlineOrPath };
}
export function createGoogleSheetsMcpConfig(input: GoogleSheetsMcpConfigInput): GoogleSheetsMcpConfig {
const allowedSpreadsheetIds = parseAllowedSpreadsheetIds(input.allowedSpreadsheetIds);
if (allowedSpreadsheetIds.length === 0) {
throw new Error("At least one allowed spreadsheet ID is required.");
}
const { raw, source } = readServiceAccountJson(input);
let parsed: unknown;
try {
parsed = JSON.parse(raw);
} catch {
throw new Error(`Invalid Google Sheets service-account JSON from ${source}.`);
}
const serviceAccount = serviceAccountSchema.parse(parsed);
return {
serviceAccount,
allowedSpreadsheetIds,
secretRedactions: [
raw,
serviceAccount.private_key,
serviceAccount.client_email,
].filter((value) => value.length >= 8),
};
}
export function createGoogleSheetsMcpHttpConfig(input: GoogleSheetsMcpHttpConfigInput): GoogleSheetsMcpHttpConfig {
const token = input.token?.trim();
const host = normalizeBindHost(input.host);
if (!token && !isLoopbackBindHost(host)) {View on GitHub (pinned to 120ae5428f)
Solutions
- Verify the service-account JSON from the reported source is valid, complete JSON copied from Google Cloud Console.
When it happens
Trigger: Thrown at packages/google-sheets-mcp-server/src/config.ts:117 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/9cead6db7a915596.
Report an issue: GitHub.