{"record":{"id":"c03074fbd85e74b6","repo":"paperclipai/paperclip","slug":"32700","errorCode":"-32700","errorMessage":"Request body too large.","messagePattern":"Request body too large\\.","errorType":"http","errorClass":null,"httpStatus":400,"severity":"error","filePath":"packages/google-sheets-mcp-server/src/http.ts","lineNumber":44,"sourceCode":"    \"content-type\": \"application/json\",\n    \"content-length\": Buffer.byteLength(payload),\n  });\n  res.end(payload);\n}\n\nfunction presentedToken(req: IncomingMessage): string | null {\n  const header = req.headers.authorization;\n  if (header?.startsWith(\"Bearer \")) return header.slice(\"Bearer \".length).trim();\n  return null;\n}\n\nasync function readJsonBody(req: IncomingMessage): Promise<unknown> {\n  const chunks: Buffer[] = [];\n  let size = 0;\n  for await (const chunk of req) {\n    const buffer = chunk as Buffer;\n    size += buffer.length;\n    if (size > 1_000_000) throw new Error(\"Request body too large.\");\n    chunks.push(buffer);\n  }\n  if (chunks.length === 0) return undefined;\n  const raw = Buffer.concat(chunks).toString(\"utf8\").trim();\n  if (!raw) return undefined;\n  return JSON.parse(raw);\n}\n\nasync function handleMcp(\n  req: IncomingMessage,\n  res: ServerResponse,\n  config: GoogleSheetsMcpConfig,\n  client: GoogleSheetsClient,\n): Promise<void> {\n  let parsedBody: unknown;\n  try {\n    parsedBody = req.method === \"POST\" ? await readJsonBody(req) : undefined;\n  } catch (error) {","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/google-sheets-mcp-server/src/http.ts#L26-L62","documentation":"Error \"Request body too large.\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/google-sheets-mcp-server/src/http.ts:44 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reduce the request payload below the configured body-size limit, or batch the operation into smaller requests."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}