different-ai/openwork · error · EnterpriseMcpCatalogError
MCP_CATALOG_BYTE_LIMIT
MCP_CATALOG_BYTE_LIMIT
Error message
MCP_CATALOG_BYTE_LIMIT
What it means
Error "MCP_CATALOG_BYTE_LIMIT" thrown in different-ai/openwork.
Source
Thrown at packages/enterprise-mcp-client/src/tool-catalog.ts:98
requestOptions: RequestOptions
}): Promise<EnterpriseMcpTool[]> {
const tools: EnterpriseMcpTool[] = []
const names = new Set<string>()
const cursors = new Set<string>()
let cursor: string | undefined
let catalogBytes = 0
for (let page = 0; page < ENTERPRISE_MCP_TOOL_PAGE_LIMIT; page += 1) {
const result = await input.listPage(cursor, input.requestOptions)
for (const tool of result.tools) {
if (tools.length >= ENTERPRISE_MCP_TOOL_ITEM_LIMIT) {
throw new EnterpriseMcpCatalogError("MCP_CATALOG_ITEM_LIMIT")
}
if (names.has(tool.name)) throw new EnterpriseMcpCatalogError("MCP_CATALOG_DUPLICATE_TOOL")
assertTool(tool)
const toolBytes = serializedBytes(tool)
if (catalogBytes + toolBytes > ENTERPRISE_MCP_CATALOG_LIMIT_BYTES) {
throw new EnterpriseMcpCatalogError("MCP_CATALOG_BYTE_LIMIT")
}
catalogBytes += toolBytes
names.add(tool.name)
tools.push(tool)
}
if (!result.nextCursor) return tools
if (serializedBytes(result.nextCursor) > ENTERPRISE_MCP_CURSOR_LIMIT_BYTES) {
throw new EnterpriseMcpCatalogError("MCP_CATALOG_CURSOR_SIZE_LIMIT")
}
if (cursors.has(result.nextCursor)) throw new EnterpriseMcpCatalogError("MCP_CATALOG_CURSOR_LOOP")
cursors.add(result.nextCursor)
cursor = result.nextCursor
}
throw new EnterpriseMcpCatalogError("MCP_CATALOG_PAGE_LIMIT")
}
View on GitHub (pinned to 2b7df46e8a)
When it happens
Trigger: Thrown at packages/enterprise-mcp-client/src/tool-catalog.ts:98 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of different-ai/openwork@2b7df46e8a (2026-09-01).
Data as JSON: /api/errors/a599d053fc48a6a1.
Report an issue: GitHub.