Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
879 B · 23 lines
TypeScript
at main
123456789101112131415161718192021222324/** * Pure utility functions for MCP name normalization. * This file has no dependencies to avoid circular imports. */
// Claude.ai server names are prefixed with this stringconst CLAUDEAI_SERVER_PREFIX = 'claude.ai '
/** * Normalize server names to be compatible with the API pattern ^[a-zA-Z0-9_-]{1,64}$ * Replaces any invalid characters (including dots and spaces) with underscores. * * For claude.ai servers (names starting with "claude.ai "), also collapses * consecutive underscores and strips leading/trailing underscores to prevent * interference with the __ delimiter used in MCP tool names. */export function normalizeNameForMCP(name: string): string { let normalized = name.replace(/[^a-zA-Z0-9_-]/g, '_') if (name.startsWith(CLAUDEAI_SERVER_PREFIX)) { normalized = normalized.replace(/_+/g, '_').replace(/^_|_$/g, '') } return normalized}