(toolName: string)
| 174 | * @returns Object with serverName and toolName, or undefined if not an MCP tool |
| 175 | */ |
| 176 | export function extractMcpToolDetails(toolName: string): |
| 177 | | { |
| 178 | serverName: AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS |
| 179 | mcpToolName: AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS |
| 180 | } |
| 181 | | undefined { |
| 182 | if (!toolName.startsWith('mcp__')) { |
| 183 | return undefined |
| 184 | } |
| 185 | |
| 186 | // Format: mcp__<server>__<tool> |
| 187 | const parts = toolName.split('__') |
| 188 | if (parts.length < 3) { |
| 189 | return undefined |
| 190 | } |
| 191 | |
| 192 | const serverName = parts[1] |
| 193 | // Tool name may contain __ so rejoin remaining parts |
| 194 | const mcpToolName = parts.slice(2).join('__') |
| 195 | |
| 196 | if (!serverName || !mcpToolName) { |
| 197 | return undefined |
| 198 | } |
| 199 | |
| 200 | return { |
| 201 | serverName: |
| 202 | serverName as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, |
| 203 | mcpToolName: |
| 204 | mcpToolName as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, |
| 205 | } |
| 206 | } |
| 207 | |
| 208 | /** |
| 209 | * Extract skill name from Skill tool input. |
no outgoing calls
no test coverage detected