different-ai/openwork · error · EnterpriseMcpCatalogError

MCP_RESOURCE_URI_LIMIT

MCP_RESOURCE_URI_LIMIT

Error message

MCP_RESOURCE_URI_LIMIT

What it means

Error "MCP_RESOURCE_URI_LIMIT" thrown in different-ai/openwork.

Source

Thrown at packages/enterprise-mcp-client/src/resource-catalog.ts:23

export const ENTERPRISE_MCP_RESOURCE_PAGE_LIMIT = 20
export const ENTERPRISE_MCP_RESOURCE_ITEM_LIMIT = 2_000
export const ENTERPRISE_MCP_RESOURCE_URI_LIMIT_BYTES = 16 * 1024
export const ENTERPRISE_MCP_RESOURCE_DESCRIPTOR_LIMIT_BYTES = 256 * 1024
export const ENTERPRISE_MCP_RESOURCE_CATALOG_LIMIT_BYTES = 8 * 1024 * 1024
export const ENTERPRISE_MCP_RESOURCE_RESULT_LIMIT_BYTES = 2 * 1024 * 1024

type ResourcePage = Awaited<ReturnType<Client["listResources"]>>
type ResourceTemplatePage = Awaited<ReturnType<Client["listResourceTemplates"]>>

function serializedBytes(value: unknown): number {
  const serialized = JSON.stringify(value)
  return serialized === undefined ? 0 : Buffer.byteLength(serialized, "utf8")
}

function assertDescriptor(value: { uri?: string; uriTemplate?: string }): number {
  const uri = value.uri ?? value.uriTemplate ?? ""
  if (Buffer.byteLength(uri, "utf8") > ENTERPRISE_MCP_RESOURCE_URI_LIMIT_BYTES) {
    throw new EnterpriseMcpCatalogError("MCP_RESOURCE_URI_LIMIT")
  }
  const bytes = serializedBytes(value)
  if (bytes > ENTERPRISE_MCP_RESOURCE_DESCRIPTOR_LIMIT_BYTES) {
    throw new EnterpriseMcpCatalogError("MCP_RESOURCE_DESCRIPTOR_LIMIT")
  }
  return bytes
}

async function collectPages<T extends { uri?: string; uriTemplate?: string }>(input: {
  listPage: (cursor: string | undefined, options: RequestOptions) => Promise<{
    items: T[]
    nextCursor?: string
  }>
  requestOptions: RequestOptions
}): Promise<T[]> {
  const items: T[] = []
  const identifiers = new Set<string>()
  const cursors = new Set<string>()

View on GitHub (pinned to 2b7df46e8a)

When it happens

Trigger: Thrown at packages/enterprise-mcp-client/src/resource-catalog.ts:23 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/d0ee466334308816. Report an issue: GitHub.