init
This commit is contained in:
commit
ec53fcbe95
1905 changed files with 513762 additions and 0 deletions
23
services/mcp/normalization.ts
Normal file
23
services/mcp/normalization.ts
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/**
|
||||
* Pure utility functions for MCP name normalization.
|
||||
* This file has no dependencies to avoid circular imports.
|
||||
*/
|
||||
|
||||
// Claude.ai server names are prefixed with this string
|
||||
const 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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue